« Heizung, Lüftung, Klima  |

KNV S1155/S1255 Modbus TCP - erste Schritte

Teilen: facebook    whatsapp    email
Zusammenfassung anzeigen (Beta)
 1  2 ... 3 ... 11  12  13  14 ... 15 ... 32  33  34 
  •  dkmh
9.12.2019 - 13.11.2024
666 Antworten | 88 Autoren 666
26
692
Bei mir läuft seit letzten Freitag eine neue KNV S1255 und ich wollte mal über meine Erfahrungen zum Thema Modbus TCP berichten, weil es ja eine der Neuerungen im Vergleich zum Vorgänger ist und vielleicht den einen oder anderen interessiert.

Allzu weit bin ich noch nicht gekommen, aber grundsätzlich läuft es, man kann jetzt ohne extra Zubehör direkt übers lokale Netzwerk die Betriebsparameter abfragen (ändern habe ich noch nicht versucht)

Ablauf: 
1. Wärmepumpe ins Netzwerk bringen (WLAN oder Kabel)
2. Modbus TCP im Menü aktivieren
3. IP Adresse der Wärmepumpe herausfinden (Hab ich im Menü nirgends gefunden, also entweder übers Routerinterface oder per Netzwerkscanner)
4. Mit Modbus TCP client verbinden (ich hab https://www.modbustools.com/modbus_poll.html verwndet zum testen ob die Verbindung grundsätzlich klappt)
  - beim verbinden einfach "Modbus TCP/IP" und die IP Adresse und port 502 einstellen.
  - über das selbe tool kann man auch register abfragen siehe https://www.modbustools.com/quickstart.html

Was man dazu noch braucht ist die Registerbeschreibung, da hab ich mich an folgendes gehalten (Beitrag von sisasole):

https://www.haustechnikdialog.de/Forum/t/221748/Neue-Nibe-S-Serie-Wer-hat-Infos-Lohnt-sich-das-warten-?page=2

Bei den Registern ist der typ zu beachten (holding/input)
Allerdings bekomme ich bei manchen Registern keine Werte, bin mir nicht sicher ob die Liste korrekt und komplett ist.

Aber auf den ersten Blick schaut das alles gut aus, eine gute Lösung für die lokale Einbindung der Wärmepumpe.

  •  debabbe
16.8.2021  (#241)
Vielen Dank für deine Erklärungen.
Ich hatte heute leider nicht viel Zeit und hab mich nur noch ein Bisschen zum Thema Sunspec umgesehen.
Dabei bin ich auf folgende Seite gestoßen: https://sunspec.org/certified-registry/ Hier findet man verschiedene Geräte, die Sunspec unterstützen und zu den Geräten auch, welche Sunspec-Modelle diese unterstützen. Dort gibt’s dann auch die entsprechende Excel, in der die Parameter + Adresse aufgeführt sind.
Gibt’s von Nibe denn schon nähere Infos, mit welchen Sunspec-Modellen sie überhaupt arbeiten? Ich meine, es würde ja keinen Sinn machen, Modelle bereit zu stellen, die später nicht genutzt werden.
 
Gruß
debabbe

1
  •  passra
  •   Gold-Award
16.8.2021  (#242)
Ich frage mich bei dem ganzen Aufwand, wieder mal eine nicht funktionierende NIBE-Funktion lauffähig zu bringen, immer wieder:
Was macht die WPWP [Wärmepumpe] eigentlich mit dieser WR WR [Wechselrichter]-Info??? Wo ist der Sinn und der Vorteil??? Welche Funktionalität steckt dahinter???


1
  •  sisasole
17.8.2021  (#243)
Kämpfe immer noch mit der iobroker Modbus Anbindung und den Werten.
Ziel ist es zumindest die Basis-Werte abzufragen.

In folgender Konstellation bekomme ich den Durchfluss mit:
_address name description unit type len factor offset formula role room cw isScale
7 BT3 Rücklauf °C uint16be 1 0.1 0  value  false false
8 BT7 Brauchwasser Oben °C uint16be 1 0.1 0  value  false false
9 BT6 Brauchwasser °C uint16be 1 0.1 0  value  false false
10 BT10 Sole in °C int16be 1 0.1 0  value  false false
11 BT11 Sole aus °C int16be 1 0.1 0  value  false false
12 BT12 Kondenstaorvorlauf °C uint16be 1 0.1 0  value  false false
13 BT14 Heissgas °C uint16be 1 0.1 0  value  false false
14 BT15 Flüssigkeitsleitung °C uint16be 1 0.1 0  value  false false
40 BF1 Durchflussrate l/m uint16be 1 0.1 0  value  false false
1046 Inverterfrequenz Inverterfrequenz hz uint16be 1 0.1 0  value  false false
1047 Invertertemperatur Invertertemperatur °C uint16be 1 0.1 0  value  false false
1084 Kompressorstarts Kompressorstarts  uint16be 1 1 0  value  false false
1102 GP1 Heizungspumpe % uint8be 1 1 0  value  false false
1533 GP2 Solepumpe % uint8be 1 1 0  value  false false
1536 Betriebszeit Betriebszeit Gesamt h uint16be 1 1 0  value  false false
1690 Vorlauf Vorlauf °C uint16be 1 0.1 0  value  false false

Aber leider nicht mehr die Raumtemperatur/Außentemperatur

Mir ist dabei aufgefallen, dass der iobroker Adapter plötzlich den Wordcount verändert ->
Mit folgender Konfig stoppt der Modbus-Adapter :(

_address name description unit type len factor offset formula role room cw isScale
7 BT3 Rücklauf °C uint16be 1 0.1 0  value  false false
8 BT7 Brauchwasser Oben °C uint16be 1 0.1 0  value  false false
9 BT6 Brauchwasser °C uint16be 1 0.1 0  value  false false
10 BT10 Sole in °C int16be 1 0.1 0  value  false false
11 BT11 Sole aus °C int16be 1 0.1 0  value  false false
12 BT12 Kondenstaorvorlauf °C uint16be 1 0.1 0  value  false false
13 BT14 Heissgas °C uint16be 1 0.1 0  value  false false
14 BT15 Flüssigkeitsleitung °C uint16be 1 0.1 0  value  false false
37 BT25 Temp °C uint16be 1 0.1 0  value  false false
40 BF1 Durchflussrate l/m uint16be 1 0.1 0  value  false false
1046 Inverterfrequenz Inverterfrequenz hz uint16be 1 0.1 0  value  false false
1047 Invertertemperatur Invertertemperatur °C uint16be 1 0.1 0  value  false false
1084 Kompressorstarts Kompressorstarts  uint16be 1 1 0  value  false false
1102 GP1 Heizungspumpe % uint8be 1 1 0  value  false false
1533 GP2 Solepumpe % uint8be 1 1 0  value  false false
1536 Betriebszeit Betriebszeit Gesamt h uint16be 1 1 0  value  false false
1690 Vorlauf Vorlauf °C uint16be 1 0.1 0  value  false false

Siehe Trace :


2021/20210817854224.png

Wer hat dazu Ideen ?

1
  •  debabbe
18.8.2021  (#244)
Mir scheint so, als hätte Nibe da in irgendeiner Firmware was verändert. Ich habe früher immer 125 Register auf einmal geladen. Kein Problem. Mittlerweile funktioniet das Lesen von einzelnen Registern und die Datenlänge muss exakt stimmen. Sonst kommt ein Fahler von der Nibe zurück. Vielleicht ist das ja auch dein Problem. Hat das noch jemand beobachtet?
Wo ist denn der Unterschied zwischen den 2 Konfigurationen? Hab auf die schnelle keinen gesehen.

1
  •  sisasole
18.8.2021  (#245)
Habe einfach nur 37 BT25 Temp °C uint16be 1 0.1 0  value  false false hinzugefügt. 
ioBroker sendet beim 1. Word count 2, beim 2. Word count 4 , was dann einen Fehler ergibt

1
  •  debabbe
19.8.2021  (#246)
Warum ioBroker da die Länge 4 nimmt, weiß ich leider nicht. Ich hab kein ioBroker. Früher hätte der Zugriff so noch funktioniert. Mittlerweile akzeptiert die Nibe aber wohl nur noch Anfragen, bei denen Adresse und Länge exakt stimmt. Das ist echt blöd, da es die Zykluszeiten deutlich erhöht, da man jeden Wert einzeln abholen muss. Früher konnte man bis zu 125 Wort auf einmal abholen.
Noch ärgerlicher ist, dass ich meine ganze Logik nun anpassen muss.

1
  •  debabbe
20.8.2021  (#247)
So, ich hatte nun etwas Zeit und hab mich mal an die Implementierung von Sunspec gemacht.
Zuerst habe ich mir die Mühe gemacht, die Sunspec-Modelle nachzubilden. Modell 1 Passt auch soweit und die Nibe sucht nach dem Startstring „SunS“. Ohne den geht nichts. Bis zum Ende von Modell 1 passt auch die Belegung. Die Seriennummer wird richtig ausgelesen. Danach wird es allerdings seltsam. Die Register auf die zugegriffen wird, passen nicht mehr zur Sunspec-Definition. Zumindest konnte ich keine Logik erkennen.
Ich hab dann, wie ThomasLevering, ein Array of Int nach Modell 1 erstellt und die Register ausgetestet.
Hier mein Ergebnis, falls es jemand brauchen kann:
"DB_MB_Server".test[15] := REAL_TO_INT("DB_Huawei".Wirkleistung_akt * 1000);
"DB_MB_Server".test[25] := #Ertrag.%W1;
"DB_MB_Server".test[26] := #Ertrag.%W0;
"DB_MB_Server".test[30] := REAL_TO_INT ("DB_Huawei".String_1_Spannung * 10);
"DB_MB_Server".test[35] := REAL_TO_INT("DB_Huawei".Temperatur_intern * 10);
"DB_MB_Server".test[39] := 0;  // Fehler
"DB_MB_Server".test[40] := 0;  // Fehler
 
Die kWh funktionieren ab 32768 wirklich nicht mehr. Das scheint ein Nibe-Bug zu sein.
Bin mal gespannt, ob da noch nachgebessert wird. Mit SunSpec hat das wohl noch nicht viel zu tun.
Spannung VPV-2 hab ich auch noch nicht zum laufen bekommen. Warum gibt es denn 2 Spannungen? Ich gehe nicht davon aus, dass diese für die Nibe überhaupt eine Rolle spielen, aber ich habe z.B. 3 Strings am WR WR [Wechselrichter]. Andere vermutlich noch mehr. Beim Produzierten Strom habe ich jetzt mal den Tageszähler übergeben. Ob das so richtig ist, weiß ich natürlich auch nicht.
Hat schonmal jemand wegen der Dokumentation zu Sunspec mit Nibe gesprochen?
Gruß
debabbe


1
  •  ThomasLevering
10.9.2021  (#248)
Jetzt in der 2.6.5 ist die UnitID dazugekommen.
Hat die schon jemand probiert?

Das die Einstellung "target temp" nicht richtig gespeichert wird ist behoben. Das musste ich nach Spannungsfrei immer neu einstellen. 

1
  •  ThomasLevering
10.9.2021  (#249)
https://www.nibe.eu/download/18.1a317b28174e75e93e84768/1631264713615/Changelog%20S-series.pdf

2
  •  debabbe
10.9.2021  (#250)
Ich hab das Update eben installiert und bekomme seitdem 3-4 mal pro Minute ne Meldung "Kommunikationsfehler mit Inverter". Hat das Problem noch jemand? Werde jetzt mal schauen, wie ich ein downgrade machen kann.

1
  •  debabbe
10.9.2021  (#251)
So, nach dem Downgrade lief es wieder. Hat mir aber keine Ruhe gelassen. Also nochmal auf 2.6 geupdated und wieder der selbe Fehler. Ich bin davon ausgegangen, dass mit "Kommunikationsfehler mit Inverter" der Inverter des Verdichters gemeint ist. Es ist aber der PV-Wechselrichter gemeint, hab ich dann rausgefunden. Sunspec abgeschalten und der Fehler war weg. Die Ursache war, dass mit 2.6 standardmäßig die Unit-ID 1 verwendet wird. Ich hab die Unit-ID dann auf 0 geändert, wie vorher und der Fehler war weg. Nur PV-Daten kommen jetzt keine mehr an. Mal sehen, was da jetzt noch nicht stimmt.

1
  •  debabbe
10.9.2021  (#252)
PV-Daten kommen jetzt auch wieder. Musste den Modbus-Server einmal neustarten.
Das Rätsel um den Parameter produzierter Strom ist nun auch gelöst. An der WPWP [Wärmepumpe] selbst wird der Wert als produzierter Strom pro Monat angezeigt.
Bei anderen funktioniert mit der einstellbaren Unit-ID jetzt auch das Auslesen direkt aus dem Wechselrichter. Dann machen wir wohl doch noch einen Fehler beim Nachbau des Protokolls.

1
  •  gdfde
  •   Gold-Award
22.9.2021  (#253)
Ich kann einfach nicht das Modbus register für den berechneten Vorlauf finden, der im Display angezeigt wird.
Habt ihr eine Idee dazu?

1
  •  Pedaaa
  •   Gold-Award
22.9.2021  (#254)
hier für Heizung und Kühlung:

2021/20210922333660.png

1
  •  gdfde
  •   Gold-Award
23.9.2021  (#255)
@pedaaa ahh, danke, hab mich durch das "climate system" verunsichern lassen.

1
  •  hpgo
25.9.2021  (#256)
Hallo,
ich habe auch eine S1255 WPWP [Wärmepumpe], jetzt wollte ich die Außentemperatur via Modbus auf mein KNX bringen/abgreifen. Ist da überhaupt möglich? Ja dazu benötige ich ein KNX -Modbus Gateway das ist mir bewusst/habe ich bereits herausgefunden.

...oder kann man die gemessene Außentemperatur der WPWP [Wärmepumpe] auch über LAN/WLAN abgreifen und in KNX weiterverwenden?

Danke und Lg
HP

1
  •  niber
26.9.2021  (#257)
Hallo HP,

das geht auch über LAN, da die WPWP [Wärmepumpe] ModbusTCP unterstützt.

Das sind dann auch die Diskussionen in diesem Thread zu den jeweiligen Registern und deren Nutzbarkeit.

Du brauchst halt irgendeine "Brücke" zu KNX, ob das ein Homeserver, Loxone, X1, oder viele kostenfreie Lösungen (edomi,..) ist - spielt grundsätzlich keine Rolle.

VG

1
  •  hpgo
26.9.2021  (#258)

zitat..
niber schrieb:

Hallo HP,

das geht auch über LAN, da die WPWP [Wärmepumpe] ModbusTCP unterstützt.

Das sind dann auch die Diskussionen in diesem Thread zu den jeweiligen Registern und deren Nutzbarkeit.

Du brauchst halt irgendeine "Brücke" zu KNX, ob das ein Homeserver, Loxone, X1, oder viele kostenfreie Lösungen (edomi,..) ist - spielt grundsätzlich keine Rolle.

VG

Wow super, dann werd die WPWP [Wärmepumpe] mal in mein LAN integrieren.
Dann sollte das auch mit dem iobroker funktioniert, der läuft schon auf meinem Rpi 4.

Infos wie man das anstellt kann das die WPWP [Wärmepumpe] Außentemp in Knx auf die Taster darstellen kann gibt es wo? Gibt es nen Link oder kann jemand in ein paar Wörter/Sätzen zusammenfügen was alles benötigt wird. Fisch da echt im drüben und weiß nicht wie ich am besten zu suchen beginne.

Lg

1
  •  helyx
  •   Gold-Award
27.9.2021  (#259)
Du brauchst irgendeine Schnittstelle die dir die Werte von Ethernet auf den KNX Bus bringt.
Das kann sicher Edomi, KNXpresso, OpenFHEM, Gira Homeserver etc...
Ob IOBroker da kann - kA 

1
  •  hpgo
3.10.2021  (#260)


Hallo,
so hab nun auch alle modbus Verbindungen/Register aus meiner S1255 auf USB heruntergeladen. Nach LAN Anschluss und Modbus TCP IP aktivierung an der WPWP [Wärmepumpe]. Mir geht es nur um die Außentemperatur (BT1)


2021/20211003681626.png

Zwei Fragen dazu:
1. warum ist das bei mir so "komisch" geschrieben?
2. wie muss ich das im Modbus Adapter von iobroker richtig eintragen, bei meiner Liste gibt so wenig Informationen im Gegensatz zu andere?


2021/20211003117429.png
Bin dankbar für alle Infos.
Lg

1
  •  gdfde
  •   Gold-Award
3.10.2021  (#261)
@hpgo
Aussentemperatur ist Modbus Register 1.


2021/20211003639487.png

1


Beitrag schreiben oder Werbung ausblenden?
Einloggen

 Kostenlos registrieren [Mehr Infos]


next