Stap 1: OBIS-codes in het M-Center vastleggen
Leg in het M-Center bij elk register dat Home Assistant moet krijgen de OBIS-code vast. Dan staat de waarde op een vast adres, bijvoorbeeld de meterstand verbruik tarief 1 (1-0:1.8.1) op register 1030. Noteer voor elke meter het «Modbus TCP Server-apparaatnummer». Dat is in Home Assistant het apparaatadres.
Controleer ook de eenheid van het register in het M-Center. Home Assistant neemt de getalswaarde over, de eenheid legt u zelf vast. Staat in het M-Center Wh, voer dan in Home Assistant Wh in.
Stap 2: Modbus in Home Assistant instellen
Vul de configuration.yaml aan. Het voorbeeld leest verbruik tarief 1 en tarief 2 van een meter met apparaatadres 9 en de watermeter met adres 12:
modbus:
- name: m_center
type: tcp
host: 192.168.1.50 # IP van het M-Center
port: 502
sensors:
- name: "Woning 1 verbruik tarief 1"
slave: 9 # apparaatadres in het M-Center
address: 1029 # register 1030, geteld vanaf 0
input_type: holding
data_type: float32
unit_of_measurement: Wh
device_class: energy
state_class: total_increasing
scan_interval: 900
- name: "Woning 1 verbruik tarief 2"
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: "Woning 1 koud water"
slave: 12
address: 2999 # register 3000
input_type: holding
data_type: float32
unit_of_measurement: m³ # eenheid zoals in het M-Center
device_class: water
state_class: total_increasing
scan_interval: 900
Drie punten waarop het vaak misgaat:
- Adres: de handleiding telt de registers vanaf 1, Home Assistant vanaf 0. Daarom staat in het voorbeeld 1029 voor register 1030. Controleer dat één keer met een bekende meterstand.
- Bytevolgorde: het M-Center levert big endian met het hoogste woord eerst. Dat komt overeen met de standaardinstelling van Home Assistant, een
swapis niet nodig. - Sleutelnaam: afhankelijk van de versie van Home Assistant heet het apparaatadres
slaveofdevice_address. Bepalend is de documentatie van uw versie.
De scan_interval van 900 seconden komt overeen met het uitleesinterval van het M-Center van 15 minuten. Vaker opvragen levert geen nieuwere waarden op.
Stap 3: energiedashboard
Na de herstart verschijnen de sensoren in Home Assistant. Omdat ze device_class: energy resp. water en state_class: total_increasing hebben, kunt u ze onder Instellingen → Dashboards → Energie selecteren als netverbruik, apparaat of waterverbruik.
Alternatief: MQTT
Heeft het M-Center de MQTT-licentie, dan kan het zijn waarden publiceren naar de broker van Home Assistant, bijvoorbeeld de Mosquitto-add-on. De topics volgen het schema <prefix>/emu/mcenter/<MAC>/meterreading/<serienummer>/byobis/<OBIS-code>.
Bekijk de berichten voordat u gaat instellen, bijvoorbeeld met MQTT Explorer of in de MQTT-integratie van Home Assistant onder «Luisteren naar een topic». Maak daarna voor elk topic een MQTT-sensor aan en lees de waarde uit volgens de inhoud van het bericht.
Modbus is de eenvoudigere weg als alleen Home Assistant de waarden nodig heeft. MQTT loont als ook andere systemen moeten meelezen.