Z-wave simulation integration

Tags: #<Tag:0x00007fc209008110> #<Tag:0x00007fc20900fe38>


I am brand new here and I was wondering if anyone has done anything similar to what I am currently attempting to do as I can’t seem to find anything on it.

I am working on a project that involves simulating IoT devices. The simulated IoT devices generate properly formulated MAC frames that are then tunnelled over Ethernet to where I want to receive them. I would then like to be able to take these frames and pipe them into some home automation software, such that even though the devices do not exist in the physical realm the data they are generating is treated as though they are. Does anyone know if Openhab contains this capability and could point me in the right direction?

Thank you for taking the time to read this.

My guess is that you would need to build a virtual Z-Wave controller to receive your data and process it into the proper format for Z-Wave as well as present itself to OH as a Z-Wave controller.

I currently have a virtual controller that receives the data and can understand the MAC frame (i.e. this command class value means this, the values are this, etc). I know that if i was actually sending packets then it would be pretty trivial for OpenHab, however i can’t really find anything around it dealing with only the MAC frame of a zwave packet.

openHAB expects a serial device in Linux.

It does, but it doesn’t have to be required. I worked with wm-bus which uses usb stick too and made additional tools bundle which offered A) frame injector B) frame collector. It really depends on HOW binding is constructed and if there is a space to literally inject byte sequence. Most of serial based bindings sticks really to application layer. The physical layer (serial port, adapter device) can be emulated till some degree.

Lately I been reworking support for injectors in wm-bus bindings to supports both serial and virtual bridge letting single openHAB run on the server and be used as “passive” receiver of frames collected elsewhere.
I know this is rather abnormal use of OH, yet it proves to do the job and deliver expected outcomes.


openHAB serial driver uses a proxy system to separate the binding from the physical interfaces, so it is possible to inject data from other sources - it doesn’t need to be a physical interface.

However, the ZWave binding will not accept “MAC frames” - it doesn’t work at that level, so in that respect, it will not work. The binding works at the “Serial API” level defined by Silabs, not down at the MAC layer.

1 Like