I have seen a guide with modbus for homeseer, seems like the cheaper option. 2000 NOK without VAT is a bit too stiff for me.
Hi everyone,
I have read this thread carefully and prepared for integration of my own system, Systemair VTR-150 from 2020.
I have installed a simple network-to-modbus RS485 adapter and have this wired up to A-B-G terminals on the controller of the VTR-unit. I have also managed to connect up this unit so that I have control over it over the network.
From configuration point of view I have put the following into my configuration.yaml file:
modbus:
- name: vtr150
type: tcp
host: 10.160.1.98
port: 8234
timeout: 3
delay: 5
close_comm_on_error: false
retry_on_empty: true
retries: 10
climates:
- name: Ventilasjon
slave: 1
data_count: 1
scale: 0.1
offset: 0
precision: 1
max_temp: 30
min_temp: 15
temp_step: 1
target_temp_register: 2000
current_temp_register: 12104
sensor:
- platform: modbus
scan_register: 10
registers:
- name: vtr150_utendĆørs_temperatur
hub: vtr150
device_class: temperature
slave: 1
register: 12102
register_type: holding
count: 1
scale: 0.1
precision: 1
The problem is that I am getting error when starting up HA:
Logger: homeassistant.config
Source: components/modbus/validators.py:201
First occurred: 17:37:20 (1 occurrences)
Last logged: 17:37:20
Unknown error calling modbus CONFIG_SCHEMA
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config.py", line 842, in async_process_component_config
return component.CONFIG_SCHEMA(config) # type: ignore
File "/usr/local/lib/python3.9/site-packages/voluptuous/schema_builder.py", line 272, in __call__
return self._compiled([], data)
File "/usr/local/lib/python3.9/site-packages/voluptuous/schema_builder.py", line 594, in validate_dict
return base_validate(path, iteritems(data), out)
File "/usr/local/lib/python3.9/site-packages/voluptuous/schema_builder.py", line 386, in validate_mapping
cval = cvalue(key_path, value)
File "/usr/local/lib/python3.9/site-packages/voluptuous/validators.py", line 215, in _run
return self._exec(self._compiled, value, path)
File "/usr/local/lib/python3.9/site-packages/voluptuous/validators.py", line 339, in _exec
v = func(path, v)
File "/usr/local/lib/python3.9/site-packages/voluptuous/schema_builder.py", line 817, in validate_callable
return schema(data)
File "/usr/src/homeassistant/homeassistant/components/modbus/validators.py", line 201, in duplicate_entity_validator
addr = str(entry[CONF_ADDRESS])
KeyError: 'address'
What I am doing wrong?
Best regards,
Anders
modbus:
- name: vsr500
type: tcp
host: <ip til modbus-tcp adapter>
port: <portnummer>
timeout: 3 #Timeout for slave response in seconds (default=3)
delay: 3 #Time to sleep in seconds after connecting and before sending messages (defualt=0)
climates:
- name: Ventilasjon
slave: 1
data_type: uint
count: 1
scale: 0.1
offset: 0
precision: 1
max_temp: 30
min_temp: 15
temp_step: 1
target_temp_register: 2000
address: 12102
sensors:
- name: vsr500_inntaks_temperatur
device_class: temperature
slave: 1
address: 12101
unit_of_measurement: Ā°C
count: 1
scale: 0.1
offset: 0
precision: 1
data_type: int
Your YAML code looked kinda funny in the code block, however Iām in the process of getting control of my Systemair VSR500 unit and this configuration works for me. Havent really had much time to work on this yet but hope it can get you started.
Hey guys,
Just getting into this as well but using a HF2211 modbusrtu to wifi adapter. Iāve managed to get it hooked up and can poll information.
Does anyone have the complete sensors/climate/controls in a yaml already? Spares me reinventing the wheen and quite a few days of going through the manual and all the registers.
Tank you, GM! As a new user of HomeAssistant I have spent some time to get this installed. But now I have everything working, even the pop-up menus work.
This was the last part of getting everything in my house connected to HA. I guess this is where the fun begins, when I can make HA control the VSR300 to slow down the the Verisure alarm is activated.
I chose HA because of the community and the effort to integrate everything. HA is, as far as I can tell, the only smart house system that can control both VSR300 and NobĆø HUB. Again, thank you, great work!
Do You have vsr500 recuperator or this is AirConditioning? VSR500 is the model name of central unit. What device do you have? AC or recuperator?
I have at my home recuperator IPRS550 and looking on SystemAir wall panel i see such information:
Any luck finding configs or have you worked it out yourself and could share?
Yes i have worked it out more or less. Iām not entirely sure if all the registers are mapped correctly though.
You can find the full yaml here: View paste DGJQ
Thanks but the paste is gone could you please share it again?
This is absolutely brilliant!
I have most of it configured already. However, it seems like many of the required sensors are not there in the github repo, causing both dashboard and Node red to fail. I could of course try to rebuild the sensors in my instance, but wanted to speak up in case others will face this in the future. The only available yaml file I can see under sensors folder are the sensors_time_date_misc.yaml.
With the possibility of me being blind here, cheers.
So this has stopped working for me as of a few updates ago. Anyone made the adjustments required to get it to work again?
Please disregard my post above, the Node red companion integration had not been configured properly. Got it now. Thanks again!
Hi All,
After a HASS updated it no longer accepts the previous datatypes, here is a new working config and register file:
https://bpa.st/FDSA
There are some registers that iām uncertain about so let me know if you find inconsistencies
Just a quick question ā do I have to enable modbus RTU in the control panel, or is it enabled by default?
Villavent has trouble delivering control panels, so Iām stuck with a brand new VSR 500 without any control panel for a while. I was hoping I could control it via modbus in the meantime.
I have connected a NodeMCU ESP32 to the A/B/GND RS485 terminals on the unit, and Iām using ESPHome to read registers, but Iām not getting any values that make sense from the unit.
Hey,
Just updated today and itās throwing me errors. I canāt seem to open your link. Do you have a config I could see?
climates:
- name: vent_VSR500
address: 12102
slave: 1
data_type: int16
count: 1
scale: 0.1
offset: 0
precision: 1
max_temp: 30
min_temp: 15
temp_step: 1
target_temp_register: 2000
Changing data_type from uint to int16 and data_count to count helped
New link is broken. Please make it work again
What is exactly you are looking for? Itās much much easier to through the modbus docs on the Systemair and just set the sensors you need in the config.
Just to get a grab on things. So you just copy paste in the sensors give it a device class and change the register and unit of measurement.
Configuration.yaml
modbus:
# - name: hub1
type: serial
method: rtu
port: /dev/ttymodbus
baudrate: 9600
stopbits: 1
bytesize: 8
parity: N
climates:
- name: vent_VSR500
address: 12102
slave: 1
scale: 0.1
offset: 0
precision: 1
max_temp: 30
min_temp: 15
temp_step: 1
target_temp_register: 2000
sensors: !include VSR/NEW_VSR_500.yaml
switches:
- name: vsr500_eco_modus
slave: 1
address: 2504
command_on: 1
command_off: 0
verify:
address: 2504
state_on: 1
state_off: 0
- name: vsr500_heater_switch
slave: 1
address: 3001
command_on: 1
command_off: 0
verify:
address: 3001
state_on: 1
state_off: 0
- name: vsr500_rh_switch
slave: 1
address: 2203
command_on: 1
command_off: 0
verify:
address: 2146
state_on: 1
state_off: 0
The Sensors NEW_VSR_500.yaml
- name: vsr500_mode_speed
slave: 1
address: 1130
input_type: holding
count: 1
- name: vsr500_mode_main
slave: 1
address: 1160
input_type: holding
count: 1
- name: vsr500_usermode_mode
slave: 1
address: 1160 #0=Auto,1=Man,2=Crowded,3=Refresh,4=Fireplace,5=Away,6=Holiday,7-12 not applicable
input_type: holding
count: 1
#### Š¢ŠŠŠŠŠ ŠŠ¢Š£Š Š
- name: vsr500_temp_outdoor
device_class: temperature
slave: 1
address: 12101
input_type: holding
unit_of_measurement: Ā°C
count: 1
scale: 0.1
offset: 0
precision: 1
Hi,
I am also trying to make work an SAVE VSR300 and using Modbus TCP device and I am not able to receive data from modbus TCP to homeassistant. I am using actually very similar HW than in here Mini-guide: Hvordan bruke Modbus (med HomeSeer) - HomeSeer - Hjemmeautomasjon ( USR-TCP232-410S it seems that mine is a bit newer)
I configure the HomeAssistant as :
modbus:
- name: VTR300
type: tcp
host: THE_IP
port: 8234
timeout: 3 #Timeout for slave response in seconds (default=3)
delay: 3
retry_on_empty: true
message_wait_milliseconds: 750
sensors:
- name: vsr300_temp_outdoor
device_class: temperature
slave: 2
address: 12101
unit_of_measurement: Ā°C
binary_sensors:
- name: vsr300_rotating_guard_sensor
device_class: moving
slave: 2
address: 12112
input_type: discrete_input
And the modbus2tcp it is configured like this:
The Flow Control has not RTS/CTS for RS-485 for my USR-TCP232-410S versionā¦ I can see that there is some data receivedā¦
And of course I have some error in homeassistant:
2022-10-11 01:30:12.630 ERROR (SyncWorker_0) [homeassistant.components.modbus.modbus] Pymodbus: VTR300: Modbus Error: [Input/Output] Modbus Error: [Invalid Message] No response received, expected at least 8 bytes (0 received)
but nothing is transmitted I have no idea what it can be wrong, I changed the baud speed, the parity, the flow controlā¦ but no luck at allā¦ Is any of you having the same device and it was able to make it work???
thanks very much in advance guys ā¦
this seems to be the same problem i had the slave adres MUST be nr 1 since all the nodes in the nodes uses address one. either you have to rewrite the node or just use adress nr 1 (set in vsr) i also ushe the highest communication rate. Works a treat
i thougt by changing the adress value here it would work, but no the id in every node is written to use nr1 (it does not change in the code by changing the slave adress here)