diff --git a/docs/MQTT_IBSYSTEM_INTEGRATION.md b/docs/MQTT_IBSYSTEM_INTEGRATION.md new file mode 100644 index 0000000..62df398 --- /dev/null +++ b/docs/MQTT_IBSYSTEM_INTEGRATION.md @@ -0,0 +1,211 @@ +# 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 + +```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 +```bash +# 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: + +```bash +sudo nano /etc/systemd/system/ibsystem2mqtt.service +``` + +```ini +[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 +``` + +```bash +sudo systemctl daemon-reload +sudo systemctl enable ibsystem2mqtt +sudo systemctl start ibsystem2mqtt +``` + +--- + +## 📝 Logi + +**Bieżące logi:** +```bash +ssh wk@192.168.50.243 "tail -f /tmp/ibsystem2mqtt.log" +``` + +**Diagnostyka HTTP:** +```bash +curl http://192.168.50.243:8080 +``` + +--- + +## 🔌 Użycie w HA + +### Automatyzacje + +```yaml +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 + +```yaml +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 +```bash +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 +```bash +# 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/`