New binding: Schneider Zelio


I’m running an installation with a few Schneider Zelio micro-PLC’s. I have an USB/RS232 cable (from Schneider) to interface with the Zelio. A few years ago, I wrote a proof of concept to read/write to/from the Zelio, and by doing that controlling the outputs (switching the lights on and off).

I’m running Openhab 1.8.2 on a Raspberry Pi 3 using (in a Docker container), which is currently running the demo. So far so good. I have the raspberry pi connected via the cable to the zelio, so now the fun part can being.

Before I go off coding, I know that someone (jeroen Ost) wrote a simple CPP app to read/write to/from zelio, which some people used in an exec-way to integrate into openhab. I want to have a native implementation, but I can only find some guidelines on openhab 2.0 for now, not sure if I want to switch to that alpha-release just yet.

I read that the communication is very similaro to the existing modbus binding, so I might take a look on how that works.

Any hints, do’s and don’ts?

Hi there - I’m one of the people who use the CPP program (slightly modified version however) you mention above,via the exec binding. It works pretty well, but comes with the issues associated with an external program… portability, handling/feeding-back errors to OpenHAB etc. I guess there are also overheads, given the port is open/closed every time the program is called.

So definitely keen to use a native binding, and I am certainly able to help test it as well. I have a second Zelio which I have been loaned by a mate, so I can run test cases against this,without needing to touch the production one for the moment. I also have a basic rig setup to capture the serial traffic, for faultfinding purposes…

Just to repost an extract from something I put on the old forum, it (The SLin & SLout) appeared (to me anyway) to be pretty close to the Modbus protocol:

I am thinking that the protocol is pretty close to Modbus ASCII, in terms of format, commands, checksum etc. I was comparing a read command created by the above utility, and the Modbus binding, and only difference I could see is that there was an extra preceding byte pair (“00”) in the address to be read (and obviously the resulting checksum). So this could potentially be based on the Modbus binding, OR even could be a modification to the modbus binding (e.g. another protocol in the list, e.g. “RTU, ASCII, ZELIO”), but will defer that to greater minds than my own…

Link to the original post:!topic/openhab/al5vyXJOqHU

Let me know what I can do to help.


Hi guys … I accidentally bumped into this topic. I am also using the cpp program of Jeroen Ost to control my four zelios. If possible I would also like to replace my setup with a native binding. So I am very interested to hear wether this is already available (I am currently still running OH 1.9).