@kidwellj did you manage to send any new parameters to the pump? Like you can do it in native indoor module modbus?
Like “hot water demand” or set a desire room temperature?
Regards
@kidwellj did you manage to send any new parameters to the pump? Like you can do it in native indoor module modbus?
Like “hot water demand” or set a desire room temperature?
Regards
Hi Jeremy
With your guide I first time managed to get some data displayed for my Nibe F2120-12 on my Homeassistant.
The here available Nibe integration never got any data with endless trials from my side.
Thanks a lot for this working solution.
May I ask you following questions:
Invalid config for [modbus]: [friendly_name] is an invalid option for [modbus]. Check: modbus->modbus->0->sensors->0->friendly_name. (See /config/configuration.yaml, line 213).
After deleting friendly_name validation is ok.
Thanks a lot for any tipps.
Cheers,
Rene
You can plug an USB to your indoor module of the pump and get all the modbus sensors that ara available.
I have made a Nibe MQTT service. It uses same NibeGW Arduino module as Openhab’s nibeheatpump integration already uses.
Does it work with S series?
With TCP Modbus? Not today, but should be easy to add. Need a tcp dump for request and reply. Or you are welcome to contribute =)
I have added TCP and Serial Modbus support to the library. Somebody needs to try:
If all works then I will release it and add support to nibe-mqtt as well.
Would love to test it, but just don’t have the knowledge to work outside of HA.
I copied your configuration exactly into my Home Assistant, and the config gave the error message
Invalid config for [modbus]: [friendly_name] is an invalid option for [modbus].
So I took out all the friendly names, and it worked. But there is no unique_id, so you can’t alter parameters in the UI.
Here is my take. I created a nibe.yaml file and put in all the parameters I needed (There are a lot more) for my S1255 and I will add them as I go along.
My yaml file below:
- name: Nibe
type: tcp
host: 192.XXX.XX.XXX
port: 502
sensors:
# Overview
- name: "Heatpump Power Usage"
unique_id: "power_usage"
unit_of_measurement: "W"
data_type: int16
device_class: power
address: 2166
input_type: input
scale: 1
precision: 0
slave: 1
- name: "Heatpump Priority"
unique_id: "operating_prioritisation"
data_type: int16 # int8
# 10: Off, 20: Hot Water, 30: Heat, 40: Pool, 60: Cooling
address: 1028
input_type: input # R/W
scale: 1
precision: 0
state_class: measurement
slave: 1
# Heating
- name: "Heatpump Calculated Supply (Heating)"
unique_id: "calculated_supply_heating"
unit_of_measurement: "°C"
data_type: int16
device_class: temperature
address: 1017
input_type: input # R
scale: 0.1
precision: 1
state_class: measurement
slave: 1
- name: "Heatpump - Supply Line (BT2)"
unique_id: "supply_line_BT2"
device_class: temperature
state_class: measurement
unit_of_measurement: "°C"
data_type: int16
address: 5
count: 1
slave: 1
precision: 1
input_type: input
scale: 0.1
scan_interval: 30
- name: "Heatpump - Return Line (BT3)"
unique_id: "return_line_BT3"
device_class: temperature
state_class: measurement
unit_of_measurement: "°C"
data_type: int16
address: 7
count: 1
slave: 1
precision: 1
input_type: input
scale: 0.1
scan_interval: 30
- name: "Heatpump - Outdoor Temperature (BT1)"
unique_id: "outdoor_temperature_BT1"
device_class: temperature
state_class: measurement
unit_of_measurement: "°C"
data_type: int16
address: 1
count: 1
slave: 1
precision: 1
input_type: input
scale: 0.1
scan_interval: 30
- name: "Heatpump - Average Temperature (BT1)"
unique_id: "average_temp_heatpump_BT1"
device_class: temperature
state_class: measurement
unit_of_measurement: "°C"
data_type: int16
address: 37
count: 1
slave: 1
precision: 1
input_type: input
scale: 0.1
scan_interval: 30
- name: "Heatpump Condenser Supply (BT12)"
unique_id: "condenser_supply_bt12"
unit_of_measurement: "°C"
data_type: int16
device_class: temperature
address: 12
input_type: input # R
scale: 0.1
precision: 1
state_class: measurement
slave: 1
- name: "Heatpump - Brine In (BT10)"
unique_id: "brine_in_BT10"
device_class: temperature
state_class: measurement
unit_of_measurement: "°C"
data_type: int16
address: 10
count: 1
slave: 1
precision: 1
input_type: input
scale: 0.1
scan_interval: 30
- name: "Heatpump - Brine Out (BT11)"
unique_id: "brine_out_BT11"
device_class: temperature
state_class: measurement
unit_of_measurement: "°C"
data_type: int16
address: 11
count: 1
slave: 1
precision: 1
input_type: input
scale: 0.1
scan_interval: 30
# Hot Water
- name: "Heatpump - Hot Water Top (BT7)"
unique_id: "hotwater_top_BT7"
device_class: temperature
state_class: measurement
unit_of_measurement: "°C"
data_type: int16
address: 8
count: 1
slave: 1
precision: 1
input_type: input
scale: 0.1
scan_interval: 30
- name: "Heatpump - Hot Water Charging (BT6)"
unique_id: "hotwater_charging_BT6"
device_class: temperature
state_class: measurement
unit_of_measurement: "°C"
data_type: int16
address: 9
count: 1
slave: 1
precision: 1
input_type: input
scale: 0.1
scan_interval: 30
- name: "Heatpump - Compressor Status"
unique_id: "compressor_status"
data_type: int16 # uint8
# 0: Off, 1: On (Operate)
address: 1100
input_type: input # R
scale: 1
precision: 0
state_class: measurement
slave: 1
# Other
- name: "Heating Curve Offset" # 1.30.1
unique_id: "heating_curve_offset"
data_type: int16 # int8
address: 30
input_type: holding
scale: 1
precision: 0
state_class: measurement
slave: 1
Now my question, has anyone been able to write to the heat pump?
I want to be able to do 2 things:
Turn the heating on/off - currently i have it off because its warm.
Adjust the heating curve offset. On my system its ranges from -10 to +10 and would like to create a slider for that.
Any assistance would be appreciated.
I haven’t found a way to write to modbus. With MQTT integration should be the easiest.
this adds no new sensors for me. Should it work with VVM S320?
Thank you for this!
This is what my config looks like https://take.ms/olfqS
These are the entities discovered: https://take.ms/RCz1R
Wondering what I am missing. Hint please (I’m new to mqtt stuff)
This is intended to work with Nibe S series with Modbus TCP. Does yours have modbus tcp and usb port?
Victor, you look like you made more progress than i did. Please share the steps you used to get in into MQTT?
Oh! That was it! My pump had the modbus disabled. Just enabled it. I am now adding to the config list the sensors I would like to use with my hass. So far added the one for outside temp and the one for hot water (per your example). Please note that when using your config, and then check the sensors, each says that there’s no unique id present and so I have added the unique_id prop to the list.
So far the config: https://take.ms/xQc0u and the output in dashboard https://take.ms/BCpFq
You use Modbus integration. Not my library.
True
I will give another try to your library as soon as I figure out some details about setting it up. I have tried the add-on version you’re discussing here Hassio Addon · Issue #3 · yozik04/nibe-mqtt · GitHub but I am stuck at setting it up. I feel that I am not filling in the correct data in the config file (again, new to mqtt )
Check for the usb outlet under the logo. Insert a usb and go to the modbus menu. It should allow you to dump the register.
Also look at this.