H60 gateway supportar Modbus TCP 2.0 och agerar slav (server).
Detta betyder att en Modbus TCP klient ska ansluta mot H60 på angiven port och kan därigenom efterfråga register.
Funktioner
- Stödjer båda avläsning och skrivning av register
- TCP port sätts i H60 konfigurationen (502 är standardport för Modbus)
- Om porten sätts till 0 inaktiveras Modbus TCP server
- Klient kan afterfråga upp till 20 register i ett anrop
- Använder modbus typ INPUT for alla läsbara parametrar.
- Använder modbus typ HOLDING for alla skrivbara parametrar.
- Endast en klient kan vara ansluten
Instruktioner
Anslut till din H60 och dess webbinterface. Sätt MODBUS_PORT i konfigurationen till exempelvis 502.
Starta om H60 och log in igen. På hemsidan ser du alla värmepumpens sensorer och inställningar. I kolumnen “Modbus” ser du vilket Register ID som varje parameter har, samt om den är av typ INPUT eller HOLDING.
Konfigurera din Modbus-klient att ansluta mot H60 Ip Adress och den port du konfigurerat. Testa att låta den skicka en förfrågan på register 0. H60 ska då returnera temperaturvärdet för register 0. (Se lista i H60)
OBS Modbusaddresser kan ändras ifall du uppdaterar H60/H1 till senare versioner. Om nya variabler för en pump tillkommer i uppdateringen kan numreringen för adresserna förskjutas. Kontrollera alltid och justera efter behov efter en uppdatering av H60 / H1.
Exempel konfiguration för Home Assistant
Notera den extra “template sektionen” för att konvertera heltalet till flyttal. H60 sensor värden ska divideras med 10. Exempelvis inkommet värde 385 blir 38.5 grader.
modbus:
name: H60
type: tcp
host: 194.4.4.151
port: 502
sensor:
- platform: modbus
scan_interval: 1
registers:
- name: m_0
hub: H60
register_type: input
register: 0
- name: m_1
hub: H60
register_type: input
register: 1
- name: m_2
hub: H60
register_type: input
register: 2
- platform: template
sensors:
RadiatorFram:
unit_of_measurement: °C
value_template: "{{states('sensor.m_0') | float / 10 }}"
Retur:
unit_of_measurement: °C
value_template: "{{states('sensor.m_1') | float / 10 }}"
Framledning:
unit_of_measurement: °C
value_template: "{{states('sensor.m_2') | float / 10 }}"