Anyone tested using Systemair Internet Access Module (IAM) against the Modbus binding (thus apparently using some Virtual Serial Port Server due to “Modbus TCP to RTU”)?
Have a setup with OpenHabian (Rpi3b+) running for the primary functions of the house, and I am now considering to implement Systemair VSR500 ventilation into OpenHab. A cabled solution between Rpi and VSR (RS485) would be an impractical solution for me, thus evaluating the IAM.
There are WiFi to modus dongle available on Amazon which probably would be cheaper then buying the system air version. You could also run a second rpi and use that one to control the system air. I personally run a 10m phone cable from the system air to my rpi.
I ended up with the HF221, and it was pretty much plug and play after connecting to Villavent VSR 500 modbus port, connecting to wifi network and installing/configuring Modbus binding.
@skatun, the user mode selection is just based on a default modbus adr. for my VSR 500, meaning it will just set fan speed according to predefined levels.
I’ve tried to connect my VTR-500 from RJ45 port on main board directly to a USR-TCP232-304 with a cat5e cable using A=pin5 and B=pin4 like shown in post 65 above. No data whatever register I try (seen at least three versions of documents with different registers from SystemAir). Has anyone experienced that other pins work? My VTR-500 is installed in 2014 and does not have the connection box on top.
Well that explains alot… I also have one of these, a raspberry pi 3b and a couple of ESP32 boards lying around… what route should I try next in your minds?
You could use the TCP232-304 - if you can come up with a means to drive it as a virtual/remote serial port.
On a Windows host for example, you’d install the USR supplied VCOM software that allows the TCP232-304 to appear as a COM port.
openHAB binding would then use the COM port with Modbus-RTU as though it were an onboard port.
I have no idea how you do that in *nix.
I’d advise getting a gateway with Modbus support, like the TCP232-410. I use these and they work a treat.
The USB RS485 adaptor will work, but of course you’ll need to run a cable - use Cat5 up to a kilometre long.
My Modbus Poller things and Modbus Data things are also created in PaperUI based on Modbus addresses for my Villavent VSR 500. Then I have linked Items using Visual Studio Code. An example of a Poller thing and Data thing is shown below:
Number ActiveUserMode "Active User Mode [MAP(activeusermode.map):%s]" {channel="modbus:data:userMode:number"}
Number ChangeUserMode "Change User Mode" {channel="modbus:data:changeUserMode:number"}
Number SupplyFanWrite "SAF Fan Control [MAP(airflowsupply.map):%s]" {channel="modbus:data:safControlRPM:number", autoupdate="false"}
Number ExhaustFanWrite "EAF Fan Control [MAP(airflowexhaust.map):%s]" {channel="modbus:data:eafControlRPM:number", autoupdate="false"}
Number SupplyFanRead "SAF Fan Speed (read) [%s RPM]" <fan> {channel="modbus:data:safRPM:number"}
Number ExhaustFanRead "EAF Fan Speed (read) [%s RPM]" <fan> {channel="modbus:data:eafRPM:number"}
Number TemperatureSetpoint "Temperature Setpoint [%.1f °C]" {channel="modbus:data:temperatureSetpoint:number", autoupdate="false"}
Number OutdoorTemperature "Outdoor Temperature [%.1f °C]" {channel="modbus:data:outdoorTemperature:number"}
Number SupplyAirTemperature "Supply Temperature [%.1f °C]" {channel="modbus:data:supplyairTemperature:number"}
Number OverHeatTemperature "Over Heat Temperature [%.1f °C]" {channel="modbus:data:overheatTemperature:number"}
Number RelativeHumidity "Relative Humidity [%s %%]" <humidity> {channel="modbus:data:relativeHumidity:number"}
Number ExhaustAirTemperature "Exhaust Temperature [%.1f °C]" {channel="modbus:data:exhaustairTemperature:number"}
Switch HeaterDigitalState "Heater State [%s]" <switch> {channel="modbus:data:exchangerDigitalState:number"}
Number HeaterAnalogueState "Heater State" {channel="modbus:data:exchangerAnalogueState:number", autoupdate="false"}
Switch ExchangerDigitalState "Exchanger State [%s]" <switch> {channel="modbus:data:heaterDigitalState:switch"}
Number ExchangerAnalogueState "Exchanger State" {channel="modbus:data:heaterAnalogueState:number", autoupdate="false"}
Switch PressureGuardSwitch "Pressureguard State [%s]" <switch> {channel="modbus:data:pressureSwitch:switch"}
Systemair IAM enables two setup options: Either as internet access module, enabling use of the Systemair app, alternatively as Modbus TCP, enabling use of the Modbus binding / openHAB. You can not achieve both using only IAM (as I am aware of).
For me, having the Villavent SAVE VSR 500 ventilation system I have the IAM module set up with internet access, enabling use of the app. I have also purchased a cheap Modbus RTU to wifi converter: HF2211, which I use against the Modbus binding (see “mini-guide” how to set up Modbus using converter: Link). This setup is working perfect for me, enabling both options, and the Modbus binding is working flawlessly retrieving updates/enabling sending commands to my ventilation system using OH - Based on Modbus register as provided by Systemair: Link
I did not connect any ground, since all i could find was connections A-A and B-B
But struggeling with an error
Error with read: org.openhab.io.transport.modbus.internal.ModbusSlaveIOExceptionImpl: Modbus IO Error with cause=ModbusIOException, EOF=false, message='I/O exception
And you have managed to connect your HF221 to your wifi network? And have configured your HF221 as described under Post 144? I have also set up the following under “Serial Port Settings”:
For me, after having configured the HF221, installing the Modbus binding from PaperUI, my Modbus bridge was created using PaperUI and connected instantly.
Yes thank you foryour reply, it is first time with modbus configuration. I till get this IO error, i maybe seem to be missing simething (the first tcp slave is online but the rest i cant figure out…