Hi,
I have a question regarding the following problem with the modbus and my heatpump
- Platform information:
-
Hardware: Rasperry 4
-
OS: openhabian
-
Java Runtime Environment: which java platform is used and what version
-
openHAB version: 2.5
//Heliotherm Wärmepumpe
Bridge modbus:tcp:Waermepumpe “Wärmepume” @ “Technikraum” [
host=“192.168.178.33”,
port=502,
id=1
] {//Holding register // Read-write // 16 bits per register //Read-write for holding registers. Reading 1 registers, with index 100-. Bridge poller Waermepumpe_RW [ start=100, length=24, refresh=60000, type="holding" ] { Thing data holding100 "Wärmepume_RW" @ "Technikraum" [ readStart="100", readValueType="uint16"/*, writeStart="100", writeValueType="uint16", writeType="holding"*/ ] Thing data holding101 "Wärmepume_RW" @ "Technikraum" [ readStart="101", readValueType="int16",readTransform="JS(divide10.js)"/*, writeStart="101", writeValueType="int16", writeType="holding", writeTransform="JS(multiply10.js)" */ ] Thing data holding102 "Wärmepume_RW" @ "Technikraum" [ readStart="102", readValueType="int16",readTransform="JS(divide10.js)"/*, writeStart="102", writeValueType="int16", writeType="holding", writeTransform="JS(multiply10.js)" */] Thing data holding103 "Wärmepume_RW" @ "Technikraum" [ readStart="103", readValueType="uint16"/*, writeStart="103", writeValueType="uint16", writeType="holding" */] Thing data holding104 "Wärmepume_RW" @ "Technikraum" [ readStart="104", readValueType="int16",readTransform="JS(divide10.js)"/*, writeStart="104", writeValueType="int16", writeType="holding", writeTransform="JS(multiply10.js)" */] Thing data holding105 "Wärmepume_RW" @ "Technikraum" [ readStart="105", readValueType="int16",readTransform="JS(divide10.js)"/*, writeStart="105", writeValueType="int16", writeType="holding", writeTransform="JS(multiply10.js)" */] Thing data holding106 "Wärmepume_RW" @ "Technikraum" [ readStart="106", readValueType="int16",readTransform="JS(divide10.js)"/*, writeStart="106", writeValueType="int16", writeType="holding", writeTransform="JS(multiply10.js)" */] Thing data holding107 "Wärmepume_RW" @ "Technikraum" [ readStart="107", readValueType="uint16"/*, writeStart="107", writeValueType="uint16", writeType="holding" */] Thing data holding108 "Wärmepume_RW" @ "Technikraum" [ readStart="108", readValueType="int16",readTransform="JS(divide10.js)"/*, writeStart="108", writeValueType="int16", writeType="holding", writeTransform="JS(multiply10.js)" */] Thing data holding109 "Wärmepume_RW" @ "Technikraum" [ readStart="109", readValueType="int16",readTransform="JS(divide10.js)"/*, writeStart="109", writeValueType="int16", writeType="holding", writeTransform="JS(multiply10.js)" */] Thing data holding110 "Wärmepume_RW" @ "Technikraum" [ readStart="110", readValueType="uint16"/*, writeStart="110", writeValueType="uint16", writeType="holding" */] Thing data holding111 "Wärmepume_RW" @ "Technikraum" [ readStart="111", readValueType="int16",readTransform="JS(divide10.js)"/*, writeStart="111", writeValueType="int16", writeType="holding", writeTransform="JS(multiply10.js)" */] Thing data holding112 "Wärmepume_RW" @ "Technikraum" [ readStart="112", readValueType="uint16"/*, writeStart="112", writeValueType="uint16", writeType="holding" */] Thing data holding113 "Wärmepume_RW" @ "Technikraum" [ readStart="113", readValueType="int16",readTransform="JS(divide10.js)"/*, writeStart="113", writeValueType="int16", writeType="holding", writeTransform="JS(multiply10.js)" */] Thing data holding114 "Wärmepume_RW" @ "Technikraum" [ readStart="114", readValueType="int16",readTransform="JS(divide10.js)"/*, writeStart="114", writeValueType="int16", writeType="holding", writeTransform="JS(multiply10.js)" */] Thing data holding115 "Wärmepume_RW" @ "Technikraum" [ readStart="115", readValueType="uint16"/*, writeStart="115", writeValueType="uint16", writeType="holding" */] Thing data holding116 "Wärmepume_RW" @ "Technikraum" [ readStart="116", readValueType="int16",readTransform="JS(divide10.js)"/*, writeStart="116", writeValueType="int16", writeType="holding", writeTransform="JS(multiply10.js)" */] Thing data holding117 "Wärmepume_RW" @ "Technikraum" [ readStart="117", readValueType="uint16", writeStart="117", writeValueType="uint16", writeType="holding"] Thing data holding125 "Wärmepume_RW" @ "Technikraum" [ readStart="125", readValueType="uint16", writeStart="125", writeValueType="uint16", writeType="holding"] Thing data holding126 "Wärmepume_RW" @ "Technikraum" [ readStart="126", readValueType="int16",readTransform="JS(divide10.js)"/*, writeStart="126", writeValueType="int16", writeType="holding", writeTransform="JS(multiply10.js)" */] // 126 darf nicht beschrieben werden Thing data holding127 "Wärmepume_RW" @ "Technikraum" [ readStart="127", readValueType="uint16"/*, writeStart="127", writeValueType="uint16", writeType="holding" */] Thing data holding128 "Wärmepume_RW" @ "Technikraum" [ readStart="128", readValueType="uint16"/*, writeStart="128", writeValueType="uint16", writeType="holding" */] Thing data holding129 "Wärmepume_RW" @ "Technikraum" [ readStart="129", readValueType="int16",readTransform="JS(divide10.js)"/*, writeStart="129", writeValueType="int16", writeType="holding", writeTransform="JS(multiply10.js)" */] Thing data holding130 "Wärmepume_RW" @ "Technikraum" [ readStart="130", readValueType="uint16"/*, writeStart="130", writeValueType="uint16", writeType="holding" */] //Thing data holding131 "Wärmepume_RW" @ "Technikraum" [ readStart="131", readValueType="int16",readTransform="JS(divide10.js)"/*, writeStart="131", writeValueType="int16", writeType="holding", writeTransform="JS(multiply10.js)" */] //Thing data holding132 "Wärmepume_RW" @ "Technikraum" [ readStart="132", readValueType="uint16"/*, writeStart="132", writeValueType="uint16", writeType="holding" */] //Thing data holding133 "Wärmepume_RW" @ "Technikraum" [ readStart="133", readValueType="int16",readTransform="JS(divide10.js)"/*, writeStart="133", writeValueType="int16", writeType="holding", writeTransform="JS(multiply10.js)" */] //Thing data holding134 "Wärmepume_RW" @ "Technikraum" [ readStart="134", readValueType="uint16"/*, writeStart="134", writeValueType="uint", writeType="holding" */] }
}
rule “WP PV Anforderung AN”
when
Item WP_PV_Anforderung changed from OFF to ON
then
//if (Tag_Nacht.state==ON && (now.getHourOfDay() >= 16 && now.getHourOfDay() <= 20 ))
{
Modbus_Waermepumpe_PV_Anf.sendCommand(1)
//createTimer(now.plusSeconds(5), [| logInfo(“Timer”, “My Timer!”)])
Modbus_Waermepumpe_Leistungsaufnahmevorgabe.sendCommand(900)
}
end
-
2021-01-07 10:10:11.278 [ome.event.ItemCommandEvent] - Item ‘WP_PV_Anforderung’ received command ON
2021-01-07 10:10:11.286 [vent.ItemStateChangedEvent] - WP_PV_Anforderung changed from OFF to ON
2021-01-07 10:10:11.579 [ome.event.ItemCommandEvent] - Item ‘Modbus_Waermepumpe_PV_Anf’ received command 1
2021-01-07 10:10:11.585 [nt.ItemStatePredictedEvent] - Modbus_Waermepumpe_PV_Anf predicted to become 1
2021-01-07 10:10:11.590 [ome.event.ItemCommandEvent] - Item ‘Modbus_Waermepumpe_Leistungsaufnahmevorgabe’ received command 900
2021-01-07 10:10:11.603 [vent.ItemStateChangedEvent] - Modbus_Waermepumpe_PV_Anf changed from 0 to 1
2021-01-07 10:10:11.605 [nt.ItemStatePredictedEvent] - Modbus_Waermepumpe_Leistungsaufnahmevorgabe predicted to become 0
why does item Modbus_Waermepumpe_Leistungsaufnahmevorgabe’ received command 900 changes to predicted to become 0? I absolutely have no clue…