Vaihe 1: OBIS-koodit M-Centeriin
Syötä M-Centerissä OBIS-koodi jokaiselle rekisterille, joka viedään Home Assistantiin. Silloin arvolla on kiinteä osoite, esim. tariffin 1 kulutus (1-0:1.8.1) rekisterissä 1030. Merkitse jokaisesta mittarista muistiin «Modbus TCP -palvelimen laitenumero». Home Assistantissa se on laiteosoite.
Tarkista myös rekisterin yksikkö M-Centerissä. Home Assistant ottaa lukuarvon, yksikön määrität itse. Jos M-Centerissä on Wh, syötä Home Assistantiin Wh.
Vaihe 2: Modbus Home Assistantissa
Täydennä configuration.yaml. Esimerkki lukee laiteosoitteen 9 mittarin tariffien 1 ja 2 kulutuksen sekä osoitteen 12 vesimittarin:
modbus:
- name: m_center
type: tcp
host: 192.168.1.50 # M-Centerin IP
port: 502
sensors:
- name: "Asunto 1 kulutus T1"
slave: 9 # laiteosoite M-Centerissä
address: 1029 # rekisteri 1030, nollasta laskettuna
input_type: holding
data_type: float32
unit_of_measurement: Wh
device_class: energy
state_class: total_increasing
scan_interval: 900
- name: "Asunto 1 kulutus T2"
slave: 9
address: 1059 # rekisteri 1060
input_type: holding
data_type: float32
unit_of_measurement: Wh
device_class: energy
state_class: total_increasing
scan_interval: 900
- name: "Asunto 1 kylma vesi"
slave: 12
address: 2999 # rekisteri 3000
input_type: holding
data_type: float32
unit_of_measurement: m³ # yksikkö kuten M-Centerissä
device_class: water
state_class: total_increasing
scan_interval: 900
Kolme kohtaa, joissa usein menee pieleen:
- Osoite: käyttöohje laskee rekisterit yhdestä, Home Assistant nollasta. Siksi esimerkissä on 1029 rekisterille 1030. Tarkista kerran tunnetulla mittarilukemalla.
- Tavujärjestys: M-Center toimittaa big endian, ylempi sana ensin. Tämä vastaa Home Assistantin oletusta,
swapei ole tarpeen. - Avaimen nimi: Home Assistantin versiosta riippuen laiteosoitteen avain on
slavetaidevice_address. Oman versiosi dokumentaatio ratkaisee.
scan_interval 900 sekuntia vastaa M-Centerin 15 minuutin lukuväliä. Tiheämpi kysely ei tuo uudempia arvoja.
Vaihe 3: energiapaneeli
Uudelleenkäynnistyksen jälkeen anturit näkyvät Home Assistantissa. Koska niillä on device_class: energy tai water ja state_class: total_increasing, voit valita ne kohdassa Asetukset → Kojelaudat → Energia verkkokulutukseksi, laitteeksi tai vedenkulutukseksi.
Vaihtoehto: MQTT
Jos M-Centerissä on MQTT-lisenssi, se voi julkaista arvot Home Assistantin välittäjään, esim. Mosquitto-lisäosaan. Topicit noudattavat mallia <etuliite>/emu/mcenter/<MAC>/meterreading/<sarjanumero>/byobis/<OBIS-koodi>.
Tarkastele viestejä ennen konfigurointia, esim. MQTT Explorerilla tai Home Assistantin MQTT-integraatiossa kohdassa «Kuuntele topicia». Luo sitten yksi MQTT-anturi topicia kohden ja lue arvo viestin sisällön mukaan.
Modbus on yksinkertaisempi tapa, jos arvoja tarvitsee vain Home Assistant. MQTT kannattaa, kun myös muut järjestelmät lukevat samoja arvoja.