New: MQTT <> Siemens S7 connector add-on

Personally I was missing a integration/addon for the Siemens S7 PLC family. In my home all the basic automation rely on 2 of these PLC’s. It was possible through Node-Red but this is just not my thing ;). So I decided to build a add-on based on the work of Tim Romisch. His original work is now highly modified and I have still a lot on my to-do-list.

Let me know what you think, if you have issues/ideas or improvements please make an issue/PR on GitHub.

Repository link: GitHub - dixi83/hassio-addons
Add-on link: hassio-addons/mqtt-s7-connector at main · dixi83/hassio-addons · GitHub
Documentation: hassio-addons/mqtt-s7-connector/DOCS.md at 27d42283d53a6400e6c8a0535f17df6ed3f217ac · dixi83/hassio-addons · GitHub

2 Likes

I miss such an addon as well! Many thanks for that!
I just wanted to test the addon, but unfortunately I can’t find the addon_configs folder. Can you help me?

Edit:
I found i via Samba

1 Like

Yes setup needs some more docs. I did first steps today and probably I find some time for contributing

any help will be very much appreciated! if I can help with anything let me know!

Is it possible to read inputs or set outputs directly?

I tried for example state: I0.0, I,X0.0, … nothing worked.

s6-rc: info: service base-addon-banner: starting

[06:24:25] INFO: Starting: mqtt-s7-connector


Add-on: MQTT Siemens S7 Connector

MQTT Siemens S7 connector to integrate Siemens PLC’s with Home Assistant


Add-on version: 1.0.8

You are running the latest version of this add-on.

System: Home Assistant OS 15.2 (amd64 / generic-x86-64)

Home Assistant Core: 2025.5.3

Home Assistant Supervisor: 2025.05.3


Please, share the above information when looking for help

or support in, e.g., GitHub, forums or the Discord chat.


s6-rc: info: service base-addon-banner successfully started

s6-rc: info: service fix-attrs: starting

s6-rc: info: service base-addon-log-level: starting

s6-rc: info: service fix-attrs successfully started

Log level is set to TRACE

s6-rc: info: service base-addon-log-level successfully started

s6-rc: info: service legacy-cont-init: starting

s6-rc: info: service legacy-cont-init successfully started

s6-rc: info: service init: starting

[06:24:26] INFO: Copying example config files…

s6-rc: info: service init successfully started

s6-rc: info: service legacy-services: starting

[email protected] start

node index.js --addonversion 1.0.8 --config /config/config.yaml --loglevel=0

s6-rc: info: service legacy-services successfully started

INIT ## log level is set to: 0

INIT ## log level is set to: 0

[63225,570608566] Initiate Called - Connecting to PLC with address and parameters:

[63225,570731861] { port: 102, host: ‘172.16.10.186’, rack: 0, slot: 1 }

[63225,571336946 172.16.10.186 S1] Connection cleanup is happening

[63225,572470980 172.16.10.186 S1] Attempting to connect to host…

[63225,580852236 172.16.10.186 S1] TCP Connection Established to 172.16.10.186 on port 102

[63225,580971623 172.16.10.186 S1] Will attempt ISO-on-TCP connection

[63225,581278025 172.16.10.186 S1] Using rack [0] and slot [1]

[63225,590100983 172.16.10.186 S1] ISO-on-TCP Connection Confirm Packet Received

[63225,634809940 172.16.10.186 S1] Received PDU Response - Proceeding with PDU 240 and 3 max parallel connections.

PLC Connected

2025-6-11 6:24:31 ## ERROR ## Connection Timeout

/usr/src/mqtt-s7-connector/service_functions.js:57

throw new Error(msg);

^

Error: Connection Timeout

at Object.error (/usr/src/mqtt-s7-connector/service_functions.js:57:9)

at Timeout._onTimeout (/usr/src/mqtt-s7-connector/index.js:85:8)

at listOnTimeout (node:internal/timers:614:17)

at process.processTimers (node:internal/timers:549:7)

Node.js v23.2.0

[06:24:31] INFO: Service mqtt-s7-connector exited with code 1 (by signal 0)

s6-rc: info: service legacy-services: stopping

s6-rc: info: service legacy-services successfully stopped

s6-rc: info: service init: stopping

s6-rc: info: service mqtt-s7-connector: stopping

s6-rc: info: service mqtt-s7-connector successfully stopped

s6-rc: info: service init successfully stopped

s6-rc: info: service legacy-cont-init: stopping

s6-rc: info: service legacy-cont-init successfully stopped

s6-rc: info: service fix-attrs: stopping

s6-rc: info: service base-addon-log-level: stopping

WHERE CAN THE PROBLEM BE? It is normally connected via RED-NODE and works. I would like to switch to S7 connector for simplicity

I already found the error. The error was incorrectly specified MQTT server.