Krok 1: zadat kódy OBIS v M-Center
V M-Center zadejte kód OBIS u každého registru, který má jít do Home Assistant. Hodnota pak má pevnou adresu, např. odběr v tarifu 1 (1-0:1.8.1) v registru 1030. U každého měřiče si poznamenejte «číslo zařízení serveru Modbus TCP». V Home Assistant je to adresa zařízení.
Zkontrolujte také jednotku registru v M-Center. Home Assistant převezme číselnou hodnotu, jednotku zadáváte sami. Je-li v M-Center Wh, zadejte v Home Assistant Wh.
Krok 2: nakonfigurovat Modbus v Home Assistant
Doplňte configuration.yaml. Příklad čte odběr v tarifu 1 a 2 elektroměru s adresou zařízení 9 a vodoměr s adresou 12:
modbus:
- name: m_center
type: tcp
host: 192.168.1.50 # IP M-Center
port: 502
sensors:
- name: "Byt 1 odber T1"
slave: 9 # adresa zařízení v M-Center
address: 1029 # registr 1030, počítáno od 0
input_type: holding
data_type: float32
unit_of_measurement: Wh
device_class: energy
state_class: total_increasing
scan_interval: 900
- name: "Byt 1 odber T2"
slave: 9
address: 1059 # registr 1060
input_type: holding
data_type: float32
unit_of_measurement: Wh
device_class: energy
state_class: total_increasing
scan_interval: 900
- name: "Byt 1 studena voda"
slave: 12
address: 2999 # registr 3000
input_type: holding
data_type: float32
unit_of_measurement: m³ # jednotka jako v M-Center
device_class: water
state_class: total_increasing
scan_interval: 900
Tři místa, kde to často nefunguje:
- Adresa: příručka počítá registry od 1, Home Assistant od 0. Proto je v příkladu 1029 pro registr 1030. Jednou ověřte na známém stavu měřiče.
- Pořadí bajtů: M-Center dodává big endian s vyšším slovem napřed. To odpovídá výchozímu nastavení Home Assistant,
swapnení potřeba. - Název klíče: podle verze Home Assistant se adresa zařízení jmenuje
slavenebodevice_address. Platí dokumentace vaší verze.
scan_interval 900 sekund odpovídá 15minutovému intervalu odečtu M-Center. Častější dotazování nepřinese novější hodnoty.
Krok 3: panel energie
Po restartu se senzory objeví v Home Assistant. Protože mají device_class: energy nebo water a state_class: total_increasing, můžete je vybrat v Nastavení → Dashboardy → Energie jako odběr ze sítě, zařízení nebo spotřebu vody.
Alternativa: MQTT
Má-li M-Center licenci MQTT, může publikovat hodnoty do brokeru Home Assistant, např. do doplňku Mosquitto. Témata mají tvar <prefix>/emu/mcenter/<MAC>/meterreading/<výrobní číslo>/byobis/<kód OBIS>.
Před konfigurací si prohlédněte zprávy, např. v MQTT Explorer nebo v integraci MQTT Home Assistant pod «Poslouchat téma». Pak vytvořte pro každé téma senzor MQTT a čtěte hodnotu podle obsahu zprávy.
Modbus je jednodušší cesta, pokud hodnoty potřebuje jen Home Assistant. MQTT se vyplatí, když mají číst i další systémy.