Hi Everyone, just to let you know I have tried the beta of the upcoming nibe integration for my S1255.
Works ok with a few tweaks needed. The integration has over 1000 entities as it covers the most of the nibe range so its a lot time to to go through each entitiy and check what is works for my specific model.
Still have not gone through all of them but this is what i have so far.
How did you get the offset to work with negative values? I have script sending offset values with buttons both increase and decrease function. Positive values works fine, but going negative will return error: Error while executing automation automation.decrease_offset_curve: value must be at least 0 @ data[‘value’][0]
I dont understand where the at least 0 is coming from.
Hello,
We’ve stil got an SMO40 with a S2125 heatpump. The code from above i use to read some values. I also want to change the room setpoint and the More WarmWater function. This last both options I can’t get stil working. Read out things is working. The list with registers I verified and changed at some points. I have the registerlist from the SMO by the USB stick.
But i stil get an Modbus error:
Pymodbus: NIBE S2125: Exception Response(132, 4, IllegalFunction)
Is there anyone who knowes where i need to check thing?
I still found the cause of the Error. There was an register which wasn’t give the right answer. Now i found the right registernumber for the suction gas value and the problem is solved.
I would guess something like number.external_adjustment_with_room_sensor_climate_system_1_40056_2.
This shows for my nibe smo s40.I am not using room thermostat so i can not test it.
I have a Nibe S1255-6PC with an RMU S40 room thermostat.
In this thread I have found several registers that seem to work fine, but I don’t get the RMU S40 temp. working.
I’m using register 116 as found above in this thread with following settings:
name: "Room Temperature" # BT50
unique_id: "room_temperature_bt50"
unit_of_measurement: "°C"
data_type: int16
device_class: temperature
address: 116 # 116 for RMU S40, 26 for BT50
input_type: input # R
scale: 0.1
precision: 1
state_class: measurement
slave: 1
I always seem to get a value of -3276.8 which is exactly scaled 0.1 of minimum value for iint16 which is -32768.
When I try to swap: byte, I get a positive value of 12.8 degrees Celcius, but this is not correct since the real temp is somewhere between 19 and 20 degrees.
@ShadowArm I had the same thing. You need to swap the values like below, also you need to read 2 registers (that’s why they are two apart from each other:
- name: "Current Phase 1" # BE1
unique_id: "current_be1"
unit_of_measurement: "A"
data_type: uint32
count: 2
swap: word
device_class: current
address: 50
input_type: input # R
scale: 0.1
precision: 1
state_class: measurement
slave: 1
- name: "Current Phase 2" # BE2
unique_id: "current_be2"
unit_of_measurement: "A"
data_type: uint32
count: 2
swap: word
device_class: current
address: 48
input_type: input # R
scale: 0.1
precision: 1
state_class: measurement
slave: 1
- name: "Current Phase 3" # BE3
unique_id: "current_be3"
unit_of_measurement: "A"
data_type: uint32
count: 2
swap: word
device_class: current
address: 46
input_type: input # R
scale: 0.1
precision: 1
state_class: measurement
slave: 1
Do you happen to have a RMU S40 and get it showing a working temp?
Yes, I may have overlooked earlier, but in the official integration I find the room temperature is available under:
sensor.room_average_temp_clim_system_1_bt50_30117
Has anyone managed to set the degree minutes to a negative value? It appears to work correctly setting it as a positive value, but set it to a negative value and it changes to 0.
Im on the latest Firmware of Nibe F2120 and latest HA. Somehow writing registers is not working as expected. I takes very long to take effect (aprox 10min.). I tested writing with another server app and it was instantaneous. Is there some caching in HA going on? I set the log of modbus to debug but there is just no output. Do you experience anything alike?