NEWS
[gelöst] Modbus Nibe S1255
-
Hallo Zusammen,
die Nibe S Serie hat ein interes Modbus und ist im Gerät aktiviert.
Host ist verbunden: Ok
Lebenszeichen: Ok
Verbunden Gerät oder Dienst: NeinIm Debug Log stehen folgende Meldungen
modbus.3 2022-09-16 18:41:08.151 debug Closing client on purpose. modbus.3 2022-09-16 18:41:07.152 debug Cleaning up request fifo. modbus.3 2022-09-16 18:41:07.151 debug Socket closed with error modbus.3 2022-09-16 18:41:07.150 warn On error: {"errno":-113,"code":"EHOSTUNREACH","syscall":"connect","address":"192.168.20.40","port":502} modbus.3 2022-09-16 18:41:07.150 error Client in error state. modbus.3 2022-09-16 18:41:07.150 error Socket Error
Wo muss ich ansetzen in den Adaptereinstellungen oder am Gerät selbst.
Viele Grüsse von der Küste
-
@ostseeskipper
Das "EHOSTUNREACH" deutet auf ein Netzwerkproblem hin. Kannst du das Gerät anpingen? -
@dolomiti
Oh, danke. Auf das einfachste nicht gekommen.
-
@dolomiti
Jetzt kann ich es anpingen
Das log sagt nunmodbus.3 2022-09-16 19:09:11.124 warn Poll error count: 2 code: {"errorCode":132,"exceptionCode":1,"message":"ILLEGAL FUNCTION"} modbus.3 2022-09-16 19:09:11.124 debug Received pdu describes an error. modbus.3 2022-09-16 19:09:11.095 debug [DevID_1/inputRegs] Poll address 0 - 5 registers modbus.3 2022-09-16 19:09:11.094 debug [DevID_1] Poll start --------------------- modbus.3 2022-09-16 19:09:09.043 warn Poll error count: 1 code: {"errorCode":132,"exceptionCode":1,"message":"ILLEGAL FUNCTION"} modbus.3 2022-09-16 19:09:09.042 debug Received pdu describes an error. modbus.3 2022-09-16 19:09:08.997 debug [DevID_1/inputRegs] Poll address 0 - 5 registers modbus.3 2022-09-16 19:09:08.997 debug Initialization of scale factors done! modbus.3 2022-09-16 19:09:08.996 debug [DevID_1] Poll start --------------------- modbus.3 2022-09-16 19:09:08.995 info Connected to slave 192.168.20.40
-
@ostseeskipper
Das "ILLEGAL FUNCTION" deutet auf einen nicht erlaubten Funktionscode hin und das dein Gerät nicht versteht was du willst.
Zitat:"The illegal function error is reported back by a Modbus server when either it does not support the function at all, or does not support that function code on the requested registers. Different devices support different functions (consult the device documentation). If the function code is supported, make sure you are not trying to write to a register labeled as read-only. It is common for devices to have holding registers where read-only and read/write registers are mapped next to each other.
An uncommon cause for the -01 result is a device with an incomplete implementation of Modbus. Some devices do not fully implement parsing Modbus commands. Instead, they are hardcoded to respond to certain Modbus messages. The result is that the device will report an error when you try selectively polling registers. Try requesting all of the registers together."Wie versucht du dein Gerät abzufragen?
Zeig mal Screenshots von deinen Adaptereinstellungen.Edit: Hier noch ein paar Erklärungen zu den Fehlercodes.
-
@dolomiti
Besten Dank
Die Register waren schon -1 darum kam der durcheinander.
Nun scheint es zu laufen.
Mal sehen wie viele der im Stück lesen kann. -
Folgende Einstellungen müssen noch beachtet werden.
Nibe selbst sagt 100 Werte pro Sekunde und max 20 in einer Abfrage
Scheinbar stimmt das aber auch nicht wirklich.Mit diesen Einstellungen klappt es nun aber
-
@ostseeskipper
Bei mir schafft er folgende Einträge. Aber keinen einzigen mehr. Ist es hier notwendig einen 2. Adapter anzulegen?_address name description unit type len factor offset formula role room cw isScale
1 Außentemperatur BT1_Wärmepumpe °C int16be 1 0,1 0 value false false
5 Vorlauftemperatur BT2_Wärmepumpe °C int16be 1 0,1 0 value false false
7 Rücklauftemperatur BT3_Wärmepumpe °C int16be 1 0,1 0 value false false
8 Brauchwassertemperatur_oben BT7_Wärmepumpe °C int16be 1 0,1 0 value false false
9 Brauchwassertemperatur_steuerund BT6_Wärmepumpe °C int16be 1 0,1 0 value false false
10 Wärmequellenmedium_Eintritt BT10_Wärmepumpe °C int16be 1 0,1 0 value false false
11 Wärmequellenmedium_Austritt BT11_Wärmepumpe °C int16be 1 0,1 0 value false false
12 Kondensatorvorlauftemperatur BT12_Wärmepumpe °C int16be 1 0,1 0 value false false
13 Heißgastemperatur BT14_Wärmepumpe °C int16be 1 0,1 0 value false false
14 Flüssigkeitsleitungstemüeratur BT15_Wärmepumpe °C int16be 1 0,1 0 value false false
16 Sauggastemperatur BT17_Wärmepumpe °C int16be 1 0,1 0 value false false
19 Ablufttemperatur Wohnraumlüftung °C int16be 1 0,1 0 value false false
20 Fortlufttemperatur Wohnraumlüftung °C int16be 1 0,1 0 value false falseBesten Dank für die Hilfe.
-
@bully-0
Habe folgende DP in den Eingangsregistern definiert, Es sind m.M. nach "uint16be" Typen
-- Aus dem TSV Editor kopiert ---_address name description unit type len factor offset formula role room cw isScale 1 Heizung.Außenlufttemperatur (BT1) °C uint16be 1 0.1 value.temperature false false 5 Heizung.Vorlauf (BT2) °C uint16be 1 0.1 value.temperature false false 7 Heizung.Rücklauf (BT3) °C uint16be 1 0.1 value.temperature false false 8 Brauchwasser.oben (BT7) °C uint16be 1 0.1 value.temperature false false 9 Brauchwasser.unten (BT6) °C uint16be 1 0.1 value.temperature false false 10 Heizung.Wärmequelleneintritt (BT10) °C uint16be 1 0.1 value.temperature false false 11 Heizung.Wärmequellenaustritt (BT11) °C uint16be 1 0.1 value.temperature false false 12 Heizung.Kondensator (BT12) °C uint16be 1 0.1 value.temperature false false 13 Heizung.Heißgas (BT14) °C uint16be 1 0.1 value.temperature false false 16 Heizung.Sauggas (BT17) °C uint16be 1 0.1 value.temperature false false 37 Heizung.Mittlere Temperatur (BT1) °C uint16be 1 0.1 value.temperature false false 40 Heizung.Volumenstrommesser (BF1) l/m uint16be 1 0.1 value.valve false false 1017 Heizung.Vorlauf berechnet °C uint16be 1 0.1 state false false 1019 Kühlung.Status uint16be 1 state false false 1046 Heizung.Verdichterfrequenz Hz uint16be 1 0.1 value.valve false false 1083 Heizung.Verdichterstarts_1083 uint16be 1 state false false 1102 Heizung.Drehzahl Heizungsumwälzpumpe (GP1) % uint16be 1 value.valve false false 1104 Heizung.Drehzahl Wärmequellenpumpe (GP2) % uint16be 1 value.valve false false 1534 Heizung.Verdicherstarts_1534 uint16be 1 state false false 1571 Brauchwasser.Verdichter aktiv uint16be 1 state false false 1583 Brauchwasser.Energie kWh uint16be 1 0.1 value.valve false false 1585 Heizung.Energie kWh uint16be 1 0.1 value.valve false false 1975 Heizung.Alarmnummer uint16be 1 state false false 2019 Kühlung.Energie kWh uint16be 1 0.1 state false false 2166 Heizung.Leistungsaufnahme W uint16be 1 value.power.consumption false false 2196 Brauchwasser.Umschaltventil (QN10) uint16be 1 state false false
Und bei den Holdings
_address name description unit type len factor offset formula role room poll wp cw isScale 11 Heizung.Gradminuten int16be 1 0.1 0 value true false false false 20 Kühlung.Gradminuten int16be 1 1 0 value true false false false 30 Heizung.Heizkurve Verschiebung int16be 1 1 0 value true false false false 56 Brauchwasser.Bedarfsmodus uint16be 1 1 0 value true false false false 58 Brauchwasser.hohe WW Start °C uint16be 1 0.1 0 value true false false false 59 Brauchwasser.normal WW Start °C uint16be 1 0.1 0 value.temperature true false false false 60 Brauchwasser.niedrig WW Start °C uint16be 1 0.1 value.temperature true false false false 62 Brauchwasser.hohe WW Stop °C uint16be 1 0.1 0 value.temperature true false false false 63 Brauchwasser.normal WW Stop °C uint16be 1 0.1 0 value.temperature true false false false 64 Brauchwasser.niedrig WW Stop °C uint16be 1 0.1 0 value.temperature true false false false 172 Kühlung.Gradminuten Start uint16be 1 1 0 value true false false false 183 Kühlung.Starttemperatur °C uint16be 1 0.1 0 value true false false false 217 Brauchwasser.Drehzahl manuell % uint16be 1 1 0 level true false false false 218 Heizung.Drehzahl manuell % uint16be 1 1 0 value true false false false 697 Brauchwasser.mehr Brauchwasser uint16be 1 1 0 state true false false false 720 Kühlung.Vorlauf min uint16be 1 1 0 value true false false false 4006 Kühlung.Drehzahl GP1 % uint16be 1 1 0 value true false false false
-
@ostseeskipper
Danke für dein Feedback.Habe inzwischen einen anderen Weg beschlossen umzusetzen. Werde die Modbus-Daten über Loxone abfragen. Da funktioniert jede Abfrage und ich hab sie dann auch mobil in der Loxone-App.
Anschließend hole ich mir über den Loxone-Adapter alle Werte in ioBroker und logge sie dort mit inluxdb bevor ich sie mit grafana darstelle. Der Weg ist umständlicher aber auf jeden Fall zuverlässiger.
Mir ist auch aufgefallen, dass die Daten in myuplink nicht so schnell geladen werden wie vor der Instanzierung der Modbus-Adapter.