Znanje/Integracija/Home Assistant

UputeM-Center

M-Bus brojila s M-Centerom u Home Assistantu

Home Assistant ima ugrađenu Modbus integraciju. S njom izravno čitate vrijednosti svih brojila priključenih na EMU M-Center i spajate električnu energiju, toplinu i vodu u energetskoj nadzornoj ploči.

Što je potrebno

  • Konfigurirani M-Center s licencom Modbus TCP poslužitelj (210.300.04) ili MQTT licencom (210.300.03).
  • IP adresa M-Centera i Modbus adresa uređaja svakog brojila.
  • OBIS kodovi uneseni za registre koji se trebaju čitati.
  • Pristup datoteci configuration.yaml u Home Assistantu.

Korak 1: unesite OBIS kodove u M-Center

U M-Centeru unesite OBIS kod za svaki registar koji treba u Home Assistant. Tada vrijednost ima fiksnu adresu, npr. preuzeta energija tarifa 1 (1-0:1.8.1) u registru 1030. Za svako brojilo zabilježite «broj uređaja Modbus TCP poslužitelja». U Home Assistantu to je adresa uređaja.

Provjerite i jedinicu registra u M-Centeru. Home Assistant preuzima brojčanu vrijednost, jedinicu određujete sami. Ako je u M-Centeru Wh, u Home Assistantu unesite Wh.

Korak 2: konfigurirajte Modbus u Home Assistantu

Dopunite configuration.yaml. Primjer čita preuzetu energiju u tarifi 1 i 2 brojila s adresom uređaja 9 i vodomjer s adresom 12:

modbus:
  - name: m_center
    type: tcp
    host: 192.168.1.50      # IP M-Centera
    port: 502
    sensors:
      - name: "Stan 1 preuzeto T1"
        slave: 9              # adresa uređaja u M-Centeru
        address: 1029         # registar 1030, brojeno od 0
        input_type: holding
        data_type: float32
        unit_of_measurement: Wh
        device_class: energy
        state_class: total_increasing
        scan_interval: 900
      - name: "Stan 1 preuzeto T2"
        slave: 9
        address: 1059         # registar 1060
        input_type: holding
        data_type: float32
        unit_of_measurement: Wh
        device_class: energy
        state_class: total_increasing
        scan_interval: 900
      - name: "Stan 1 hladna voda"
        slave: 12
        address: 2999         # registar 3000
        input_type: holding
        data_type: float32
        unit_of_measurement: m³    # jedinica kao u M-Centeru
        device_class: water
        state_class: total_increasing
        scan_interval: 900

Tri mjesta na kojima često zapne:

  • Adresa: priručnik broji registre od 1, Home Assistant od 0. Zato u primjeru stoji 1029 za registar 1030. Jednom provjerite na poznatom stanju brojila.
  • Redoslijed bajtova: M-Center daje big endian s višom riječi prvom. To odgovara zadanoj postavci Home Assistanta, swap nije potreban.
  • Naziv ključa: ovisno o verziji Home Assistanta adresa uređaja zove se slave ili device_address. Vrijedi dokumentacija Vaše verzije.

scan_interval od 900 sekundi odgovara intervalu očitavanja M-Centera od 15 minuta. Češći upiti ne donose novije vrijednosti.

Korak 3: energetska nadzorna ploča

Nakon ponovnog pokretanja senzori se pojavljuju u Home Assistantu. Budući da imaju device_class: energy ili water i state_class: total_increasing, možete ih odabrati pod Postavke → Nadzorne ploče → Energija kao preuzimanje iz mreže, uređaj ili potrošnju vode.

Alternativa: MQTT

Ako M-Center ima MQTT licencu, može objavljivati vrijednosti u broker Home Assistanta, npr. u dodatak Mosquitto. Teme slijede obrazac <prefiks>/emu/mcenter/<MAC>/meterreading/<serijski broj>/byobis/<OBIS kod>.

Prije konfiguracije pregledajte poruke, npr. u MQTT Exploreru ili u MQTT integraciji Home Assistanta pod «Slušaj temu». Zatim za svaku temu izradite MQTT senzor i čitajte vrijednost prema sadržaju poruke.

Modbus je jednostavniji put ako vrijednosti treba samo Home Assistant. MQTT se isplati kada ih trebaju čitati i drugi sustavi.

Česta pitanja


Koja mi je licenca potrebna za Home Assistant?

Za Modbus licenca Modbus TCP poslužitelj 210.300.04, za MQTT licenca MQTT 210.300.03. Dovoljna je jedna.

Zašto Home Assistant prikazuje drugu vrijednost?

Najčešće je adresa pomaknuta za jedan ili je riječ o drugom registru. Za usporedbu očitajte istu vrijednost modpollom ili drugim Modbus alatom i usporedite sa stanjem u M-Centeru.

Mogu li koristiti float32 ili uint64?

Oboje. float32 je jednostavniji, ali zaokružuje vrlo velika stanja brojila. Za uint64 (registar 1032 umjesto 1030) postavite data_type: uint64.

Pročitajte više


SEITEM-Bus u Modbus TCPMapa registara SEITEM-Bus u MQTTStruktura tema SEITEPuštanje M-Centera u pogonUpute SEITEDodatne integracijePregled

Pitanja o integraciji?


Pošaljite nam popis brojila i svoju konfiguraciju. Pomoći ćemo s adresama i OBIS kodovima.

Telefon
+41 (0)41 545 03 00

Tehnička podrška
helpdesk [at] emuag.ch
Obrazac za podršku →