Hallo zusammen,
vielleicht können mir ja hier die Profis weiterhelfen.
Ich habe eine Codesys Soft-SPS (Codesys Contorl for Linux SL, 4.16.0) auf einem Ubuntu.Programmiert wird diese mit Codesys V3.5 SP21 Patch 2 +.
Auf der anderen Seite habe ich Homeassistant OS 2025.8.3.
Die Configuration in Codesys sieht so aus:
Ich möchte Probeweise 2 Holding und 2 Input registers sowie 1 Coils und 1 Discrete Input übertragen und starten sollen die Adressen bei 0.
Ich konnte schon mit einer 2. Applikation auf der SPS als Client Daten austauschen.
Ich kann auch Daten von einem Windows-PC über das Programm “ModbusTCP” ( ModbusTCPTool – Kostenloser Download und Installation unter Windows | Microsoft Store ) austauschen:
Bei Homeassistant scheitere ich aber leider.
Ich habe die Modbus Integration aus dem Store.
Und meine Configuration.yaml sieht so aus:
modbus: !include modbus.yaml
die modbus.yaml so:
- name: demo_hub
type: tcp
host: 192.168.1.88 # codesys sps
port: 502
sensors:
- name: holding4
unit_of_measurement: "W"
slave: 0
address: 0
data_type: uint16
scan_interval: 5
device_class: power
- name: input
unit_of_measurement: "W"
slave: 0
address: 0
data_type: uint16
scan_interval: 5
device_class: power
Jetzt habe ich schon verschiedene Werte für “Slave” und “Address” versucht, aber ich bekomme keine Werte von der SPS in den Homeassistant-Entitäten, die korrekt angelegt werden angezeigt.
Kennt jemand die korrekten Adressen, mit denen Codesys die Werte schickt? “0” ist es nicht”, “300000” ode rähnliches was ModbusTcpTool anzeigt auch nicht.

