Newer
Older
homeassistant-infra / docs / MQTT_IBSYSTEM_INTEGRATION.md
Wojciech Konieczny 21 days ago 4 KB Docs: MQTT IBSystem integracja z HA

Integracja IBSystem2MQTT z Home Assistant

✅ Status: Aktywna

Data konfiguracji: 2026-02-07 01:45
Serwer: 192.168.50.243 (IBSystem)
HA: 192.168.50.151 (TEST)
Skrypt: /ibsystem/ibsystem2mqtt_v5.py
Config: /ibsystem/config.yaml


📊 Statystyka

  • 336 encji zintegrowanych z HA
  • 2 modały IBSystem (RS0)
    • ID1: Pompa ciepła / Heat pump controller
    • ID3: Moduł IO / IO Module
  • Aktualizacja: co 2 sekundy
  • HTTP Diagnostyka: http://192.168.50.243:8080

🏗️ Topiki MQTT

Struktura

homeassistant/sensor/ibsystem_RS0_ID1_xxx
homeassistant/sensor/ibsystem_RS0_ID3_xxx
homeassistant/switch/ibsystem_RS0_ID3_xxx

Ważne sensory ID1 (Heat Pump)

Sensor Opis Wartość
power_on_off Stan zasilania 0-6 (mod status)
mode Tryb pracy 0-3
tbh_power Moc TBH W
power_output_lo Moc grzania (LO) W
power_output_hi Moc grzania (HI) W
setting_t1s Temperatura setpoint °C×100
setting_ts Temperatura bieżąca °C

Przełączniki ID3 (IO Module)

Switch Opis
output_do_0 Wyjście cyfrowe 0
output_do_1 Wyjście cyfrowe 1
output_do_2 Wyjście cyfrowe 2
output_do_3 Wyjście cyfrowe 3
output_do_4 Wyjście cyfrowe 4

🔧 Konfiguracja

config.yaml

mqtt:
  brokers:
    - name: "ha"
      host: "192.168.50.151"
      port: 1883
  user: "mqtt"
  password: "mqtt123"
  prefix: "ibsystem"
  ha_prefix: "homeassistant"

ibsystem:
  host: "127.0.0.1"
  port: 2001
  rs: 0
  max_ids: 40
  full_ids: [1]
  timeout_ms: 10000

polling:
  interval_sec: 2.0
  parallel_workers: 8

logging:
  level: "INFO"
  file: "/tmp/ibsystem2mqtt.log"

http:
  enabled: true
  host: "0.0.0.0"
  port: 8080

🚀 Uruchomienie

Proces

# Na 192.168.50.243 (serwer IBSystem)
cd /ibsystem
python3 ibsystem2mqtt_v5.py -c /ibsystem/config.yaml

Automatyczne uruchomienie (systemd)

Aby uruchomić przy starcie systemu:

sudo nano /etc/systemd/system/ibsystem2mqtt.service
[Unit]
Description=IBSystem to MQTT Bridge
After=network.target

[Service]
Type=simple
User=wk
WorkingDirectory=/ibsystem
ExecStart=/usr/bin/python3 /ibsystem/ibsystem2mqtt_v5.py -c /ibsystem/config.yaml
Restart=always
RestartSec=10
StandardOutput=journal
StandardError=journal

[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable ibsystem2mqtt
sudo systemctl start ibsystem2mqtt

📝 Logi

Bieżące logi:

ssh wk@192.168.50.243 "tail -f /tmp/ibsystem2mqtt.log"

Diagnostyka HTTP:

curl http://192.168.50.243:8080

🔌 Użycie w HA

Automatyzacje

trigger:
  - platform: mqtt
    topic: homeassistant/sensor/ibsystem_RS0_ID1_tbh_power
condition:
  - condition: numeric_state
    entity_id: sensor.ibsystem_rs0_id1_rs0_id1_tbh_power
    above: 5000
action:
  - service: notify.persistent_notification
    data:
      title: "⚠️ TBH moc wysoka"
      message: "TBH zużywa {{ trigger.payload_json.state }}W"

Template Sensory

template:
  - sensor:
      - name: "IBSystem Pompa Moc Całkowita"
        unique_id: ibsystem_total_power
        unit_of_measurement: "W"
        state: |
          {% set lo = states('sensor.ibsystem_rs0_id1_rs0_id1_power_output_lo') | int(0) %}
          {% set hi = states('sensor.ibsystem_rs0_id1_rs0_id1_power_output_hi') | int(0) %}
          {% set tbh = states('sensor.ibsystem_rs0_id1_rs0_id1_tbh_power') | int(0) %}
          {{ lo + hi + tbh }}

🐛 Rozwiązywanie problemów

Problem: Brak połączenia z MQTT

ssh wk@192.168.50.243 "tail -20 /tmp/ibsystem2mqtt.log"
  • Sprawdzić czy port 1883 jest dostępny z 192.168.50.243
  • Sprawdzić credentials mqtt w HA

Problem: Brak danych

# Sprawdzić czy ibls działa
ssh wk@192.168.50.243 "/ibsystem/ibls -a 127.0.0.1 -p 2001 -c 'search 0/1'"

📚 Referencje

  • Skrypt: ha-configs/ibsystem2mqtt_v5.py
  • Config: /ibsystem/config.yaml
  • IBSystem Docs: /ibsystem/