Trinn 1: angi OBIS-koder i M-Center
Angi i M-Center OBIS-koden for hvert register som skal til Home Assistant. Da har verdien en fast adresse, f.eks. forbruk tariff 1 (1-0:1.8.1) i register 1030. Noter for hver måler «Modbus TCP-server enhetsnummer». I Home Assistant er det enhetsadressen.
Sjekk også registerets enhet i M-Center. Home Assistant overtar tallverdien, enheten angir du selv. Står det Wh i M-Center, angir du Wh i Home Assistant.
Trinn 2: konfigurer Modbus i Home Assistant
Utvid configuration.yaml. Eksempelet leser forbruk i tariff 1 og 2 for en måler med enhetsadresse 9 og en vannmåler med adresse 12:
modbus:
- name: m_center
type: tcp
host: 192.168.1.50 # IP for M-Center
port: 502
sensors:
- name: "Leilighet 1 forbruk T1"
slave: 9 # enhetsadresse i M-Center
address: 1029 # register 1030, telt fra 0
input_type: holding
data_type: float32
unit_of_measurement: Wh
device_class: energy
state_class: total_increasing
scan_interval: 900
- name: "Leilighet 1 forbruk T2"
slave: 9
address: 1059 # register 1060
input_type: holding
data_type: float32
unit_of_measurement: Wh
device_class: energy
state_class: total_increasing
scan_interval: 900
- name: "Leilighet 1 kaldtvann"
slave: 12
address: 2999 # register 3000
input_type: holding
data_type: float32
unit_of_measurement: m³ # enhet som i M-Center
device_class: water
state_class: total_increasing
scan_interval: 900
Tre steder der det ofte ikke fungerer:
- Adresse: bruksanvisningen teller registre fra 1, Home Assistant fra 0. Derfor står det 1029 for register 1030 i eksempelet. Sjekk én gang mot en kjent målerstand.
- Byterekkefølge: M-Center leverer big endian med det høye ordet først. Det tilsvarer standardinnstillingen i Home Assistant,
swaptrengs ikke. - Nøkkelnavn: avhengig av Home Assistant-versjon heter enhetsadressen
slaveellerdevice_address. Dokumentasjonen for din versjon gjelder.
scan_interval 900 sekunder tilsvarer M-Centers avlesningsintervall på 15 minutter. Å spørre oftere gir ikke nyere verdier.
Trinn 3: energipanelet
Etter en omstart vises sensorene i Home Assistant. Siden de har device_class: energy eller water og state_class: total_increasing, kan du velge dem under Innstillinger → Dashbord → Energi som nettforbruk, enhet eller vannforbruk.
Alternativ: MQTT
Har M-Center MQTT-lisensen, kan den publisere verdiene til Home Assistants broker, f.eks. tillegget Mosquitto. Topics følger mønsteret <prefiks>/emu/mcenter/<MAC>/meterreading/<serienummer>/byobis/<OBIS-kode>.
Se på meldingene før konfigurasjonen, f.eks. i MQTT Explorer eller i Home Assistants MQTT-integrasjon under «Lytt til et topic». Opprett deretter én MQTT-sensor per topic og les verdien ut fra meldingens innhold.
Modbus er den enkleste veien hvis bare Home Assistant trenger verdiene. MQTT lønner seg når også andre systemer skal lese.