# 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/`