« Heizung, Lüftung, Klima  |

KNV S1155/S1255 Modbus TCP - erste Schritte

Teilen: facebook    whatsapp    email
Zusammenfassung anzeigen (Beta)
 1  2 ... 3 ... 17  18  19  20 ... 21 ... 32  33  34 
  •  dkmh
9.12.2019 - 23.12.2024
678 Antworten | 91 Autoren 678
26
704
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.

  •  Pedaaa
  •   Gold-Award
13.5.2022  (#361)

zitat..
Leo_B schrieb: Wisst Ihr einen anderes Register, das darüber Auskunft gibt, ob gerade die passive Kühlung aktiv ist?

Register 1019

1
  •  Leo_B
13.5.2022  (#362)

zitat..
Pedaaa schrieb:
Register 1019

Vielen Dank!
Ich hatte 1019 sogar in meiner Tabelle, war aber zu blöd, richtig danach zu suchen. 🤪


1
  •  GeoPod
23.5.2022  (#363)
Hallo, 
mittlerweile habe ich es hinbekommen, dass meine Nibe S1255 sich mit meiner SMA (Tripower) Anlage über Sunspec anmeldet.

Über die IP Adresse und UnitID 123 + 3 (ID von SMA) = 126

Funktionieren tut das aber leider nicht wirklich.
Ich bekomme (siehe Bild) unrealistische Werte in W angezeigt und die Verbindung wird alle paar Sekunden getrennt und wieder verbunden.


2022/20220523746354.jpg

Habt ihr eine Idee wodran das liegen könnte?

1
  •  derLandmann
  •   Gold-Award
5.6.2022  (#364)
Jemand ebenso Probleme seit dem letzten Update und Loxone?
Es kommen einen Haufen Sensoren nicht mehr an ... 


1
  •  GeoPod
9.6.2022  (#365)

zitat..
derLandmann schrieb:

Jemand ebenso Probleme seit dem letzten Update und Loxone?

Es kommen einen Haufen Sensoren nicht mehr an ...

Ja ich habe genauso wie du Probleme. Habe diese aber schon seit 1-2 der letzten Updatets.

Kennt einer von euch ein Register womit ich aktiv die Kühlung starten kann?

Ansonsten lasse ich mir den Status über diesen Register ausgeben: Operating prioritisation (1028): 10-off, 20-hot water, 30-heat, 40-pool, 60-cooling

10, 20, 30 wird richtig ausgegeben. Allerdings kommt bei cooling nur 10 an. Hat das noch jemand? Oder gibt es einen alternativen Register?




1
  •  gdfde
  •   Gold-Award
9.6.2022  (#366)

zitat..
GeoPod schrieb: Oder gibt es einen alternativen Register?

Es gibt für den Status Kühlung einen alternativen Register: 1019


zitat..
GeoPod schrieb: Kennt einer von euch ein Register womit ich aktiv die Kühlung starten kann?

starten nicht.
Ev. gehts damit, dass du die WP WP [Wärmepumpe] auf Automode stellst und zb. mit "Kühlung zulassen" (Register 182) die Kühlung dann freigibst.


1
  •  passra
  •   Gold-Award
9.6.2022  (#367)
So mache ich es auch, allerdings über einen der externen Eingänge:
Der Grenzwert für die Kühlung ist sehr niedrig angesetzt, die Kühlung wird aber über den externen Eingang blockiert und von mir nur bei wirklichem Bedarf freigegeben.

1
  •  GeoPod
9.6.2022  (#368)
Vielen Dank @gdfde 
Ich versuche das mal auszuprobieren.

zitat..
passra schrieb:

So mache ich es auch, allerdings über einen der externen Eingänge:
Der Grenzwert für die Kühlung ist sehr niedrig angesetzt, die Kühlung wird aber über den externen Eingang blockiert und von mir nur bei wirklichem Bedarf freigegeben.

Kannst du vielleicht deine Einstellungen mit mir/uns teilen? Kann mir das nicht so gut vorstellen.


1
  •  derLandmann
  •   Gold-Award
10.6.2022  (#369)

2022/20220610270741.png
ich kanns nicht mehr sehen... andauernd Meldungen aufs Handy. 

Ich setz jetzt mal den Abfragezyklus gnadenlos hoch.. mal schauen was passiert.

Das komische ist, manchmal werden mir die Werte angezeigt, nur kann er sie anscheinend nicht immer abfragen. Bin da auch kein Experte, was könnte ein möglicher Grund sein?

Wie von GeoPod angemerkt ist das Problem erst seit den letzten beiden Updates beständig..

1
  •  gdfde
  •   Gold-Award
10.6.2022  (#370)

zitat..
derLandmann schrieb: Ich setz jetzt mal den Abfragezyklus gnadenlos hoch.. mal schauen was passiert.

Welches Timeout hast du in der Loxone konfiguriert? Ev. ist das zu gering.


1
  •  derLandmann
  •   Gold-Award
12.6.2022  (#371)
Das sind die Einstellungen für z.B. Gradminuten:


2022/20220612663754.png

Eine Zeitüberschreitung von 1500s hat bis jetzt nie Probleme gemacht. Es muss sich also irgend etwas seitens KNV geändert haben.
Ich kann vorrübergehend die Validierung auf 0 setzen dann sollte man keine Fehlermeldungen bekommen, behebt das Problem aber natürlich nicht.


1
  •  Peter2
  •   Silber-Award
13.6.2022  (#372)
Werden bei dir die Werte eventuell als Bulk abgefragt? Nibe hat die Anzahl an Register die auf einmal angefragt werden können reduziert. Ich bin mittlerweile auf einzelne anfragen runter gegangen und habe keine Probleme damit.
MfG
Peter

1
  •  derLandmann
  •   Gold-Award
13.6.2022  (#373)
Gute Frage, wie stelle ich das fest?
Fragst du auch per Lox ab? Gibt es dazu Einstellungen?


1
  •  Peter2
  •   Silber-Award
13.6.2022  (#374)
Nein ich frage über einen Raspberry Pi ab. Wie das bei loxone geht weiß ich leider nicht. Das steht eventuell in der Dokumentation von loxone drin?
Ich weiß nur das es mit der ersten Software möglich war 100 Register auf einmal abzufragen. Nach der dritten gingen nur noch 10. Wie es bei der aktuellen aussieht weiß ich nicht aber es ist davon auszugehen dass es immer weniger werden. Ich nutze momentan 2.10.3. Ich denke das der Prozessor oder der Bus einfach zu schwach geworden sind um den ganzen Anforderungen gerecht zu werden. Die Anfrage zu reduzieren ist da ein einfaches Mittel um Ressourcen frei zu bekommen.
MfG
Peter

1
  •  derLandmann
  •   Gold-Award
13.6.2022  (#375)
Na toll, dann brauch ich gleich gar keinen Modbus. 
Wie genau die Abfrage erfolgt weiß ich leider nicht, versuch mal das rauszufinden...

Nochmal die Frage: Wie komme ich auf ältere Softwarestände zurück? 😀

1
  •  ztjuu
13.6.2022  (#376)
@Pedaaa Du hast in einem Poste von den ersten Seiten in einem Bild ein "Mischerventil Sole" und ein "WW-RL Ventil" eingezeichnet. Hast du dafür auch Register? Konnte nirgends ein passendes dazu finden oder ist das WW WW [Warmwasser]-RL das Status Qn10 2196?

Der Wert von Qn10 ist nur True/False, oder?

Mischerventil Sole würde mich interessieren (Gerade jetzt um die Drehzal der Pumpe im Kühlbetrieb zu optimieren)

1
  •  Pedaaa
  •   Gold-Award
13.6.2022  (#377)
Hello,

die zwei Mischer sind extern von mir verbaut. Die haben nichts mit Nibe zu tun, und werden von meiner UVR geregelt.

1
  •  Peter2
  •   Silber-Award
14.6.2022  (#378)
@derLandmann 
Ich glaube ich habe die Version 2.10.3 noch. Falls dir das was nützt dann PN.
Ich verstehe das Problem nur nicht ganz. Die einzelnen anfragen waren eigentlich bei der Entwicklung von Mobbus Standard. Die Bulk anfragen sind später dazukommen und wurden nie vollständig standardisiert. Das ist ja das Problem mit Modbus. Das Protokoll ist so alt wie die Lochkartenrechner von denen es kommt. Im Laufe der Zeit wurde da und dort was dazugestoppelt und jeder hat so seine Eigenheiten dabei hinterlassen. Standard ist dabei nicht immer gleich geblieben. Daraus sind dann auch Mbus und andere kuriose Sachen entstanden.
Über TCP dauert eine Anfrage mit Antwort wenige Millisekunden. Sollte bei 70 aktiv genutzten Registern jetzt nicht wirklich zum Problem werden. Die Bulk anfragen sind entstanden wegen immer schnelleren Maschinen und Echtzeit Anspruch. Würde hier eventuell 10% Zeit sparen. Wenn du eine halbe Sekunde zwischen den anfragen hast dauert es ein bisschen länger. Ok
Seien wir ehrlich: ob der Wert jetzt in einer Sekunde oder in 35 aktualisiert wird spielt bei der Wärmepumpe kaum eine Rolle. Intern passiert es eh fast in Echtzeit aber für loxone nicht wichtig.
MfG
Peter

1
  •  derLandmann
  •   Gold-Award
14.6.2022  (#379)

zitat..
Peter2 schrieb: Ich verstehe das Problem nur nicht ganz. Die einzelnen anfragen waren eigentlich bei der Entwicklung von Mobbus Standard.

Ich wie gesagt leider auch nicht, bin da zu wenig Profi auf dem Sektor. 

Fakt ist, bis vor 2 Updates hat es nie eine Fehlermeldung gegeben dass gewisse Werte nicht geliefert werden können. Jetzt andauernd. Ob das einzeln oder als Bulk abgefragt wird, kann ich wie feststellen?
Die sekündliche Aktualisierung ist natürlich nicht wichtig und war auch nie eingestellt. Mindestwert war immer 60s. Das ist der Standardwert in dem von KNV selbst zur Verfügung gestellten Baustein.


1
  •  Oromis
28.7.2022  (#380)
Hallo zusammen,

ich melde mich mal wegen einer ungewöhnlichen Beobachtung, bei der ich nicht weiter weiß:

Wir haben eine VVM S320 mit einer F2120-12 verbaut. Auf meinem Raspberry Pi 3 läuft iobroker mit der hier bereits oft beschriebenen Modbus-Instanz. Die Registerliste habe ich mir per USB-Stick von meiner VVM S320 gezogen.

Genau wie andere hier, habe ich das Problem, dass manche Eingangsregister wie z.B. die Außentemperatur BT1 oder die Vorlauftemperatur BT2 nicht abgerufen werden können. Hier jetzt aber das Verwunderliche: Mit der Software "Modbus Poll" kann ich die Register sehr wohl abrufen! Mit Modbus Poll funktioniert bei mir alles, wenn ich genau nach der hier beschriebenen Anleitung vorgehe: https://www.nibe.eu/download/18.3db69dc1795e0d992c5726/1622635422923/Testen%20modbus%20TCP_IP%20S-serie%20met%20Modbus%20Poll.pdf

Meine Konfiguration von modbus in iobroker, habe ich hier im Forum abgeschaut:
 • Zahlen runden auf 2
 • Datenabfrageintervall 60000ms
 • Wartezeit bis zum erneuten verbinden 60000ms
 • Wartezeit lesend 5000ms
 • Impulszeit 1000ms
 • Wartezeit 50ms
 • Max Leseanforderungslänge 100 Register (Float)
 • Max Leseanforderungslänge 128 Register (Booleans)
 • Leseintervall 0ms
 • Schreibintervall 0ms

Ob Aliase benutzen angewählt ist oder nicht, spielt keine Rolle. Geräte ID 001 oder 1 funktioniert beides.

Habt ihr eine Idee oder könnt ihr Angaben von Modbus Poll den modbus Einstellungen in iobroker zuordnen? Ich weiß z.B. nicht was genau der Response Timeout von 2500ms oder dem delay between polls von 1000ms entspricht.

Anbei noch meine Liste der Register, die ich erfolgreich geschafft habe, abzurufen (Datentypen stimmen z.T. nicht richtig - also ich habe noch nicht zwischen singed und unsigned unterschieden - ist aber soweit ich es verstanden habe, nicht ganz so wichtig bei unseren Wertebereichen).

_address name description unit type len factor offset formula role room cw isScale
30008 BT3 Rücklauf °C uint16be 1 0.1 0  value  false false
30009 BT7 Brauchwasser, oben °C uint16be 1 0.1 0  value  false false
30010 BT6 Brauchwasserbereitung °C uint16be 1 0.1 0  value  false false
30041 BF1 Volumenstromsensor l/m uint16be 1 0.1 0  value  false false
30109 BT1 Aussentemperatur °C uint16be 1 0.1 0  value  false false
30117 BT50 Mittlere Raumtemperatur °C uint16be 1 0.1 0  value  false false
30302 Comp_freq Angefragte Kompressorfrequenz Hz uint8be 1 0.1 0  value  false false
31476 BT3_1 Rücklauf an der Wärmepumpe °C uint16be 1 0.1 0  value  false false
31490 Comp_starts Anzahl Kompressorstarts   1 1 0  value  false false
31492 Comp_runtime Laufzeit Kompressor h  1 1 0  value  false false
31494 Comp_runtimewater Laufzeit Kompressor nur Wasser h  1 1 0  value  false false
31576 kWh_wateraddheat Energie Brauchwasser inkl. Zusatzheizung kWh  1 0.1 0  value  false false
31578 kWh_heataddheat Energie Heizung inkl. Zusatzheizung kWh  1 0.1 0  value  false false
31637 GP1 Umwälzpumpe Heizung G % uint16be 1 1 0  value  false false

EDIT:
Ich habe mich durch den Thread gewühlt und festgestellt, dass das Problem schonmal in Posting https://www.energiesparhaus.at/forum-knv-s1155-s1255-modbus-tcp-erste-schritte/55936_13#617398 angesprochen wurde. Es liegt wohl am veränderten Word-Count, der rausgeschickt wird. Wie es mir scheint, liegt der Fehler also an der modbus-Instanz von iobroker. Auch mit EasyModbusTCP kann ich die Register auslesen (Achtung: Hier muss beim Client die Adresse eine Nummer höher gewählt werden, als bei Modbus Poll. Also Vorlauf z.B. 6 statt 5.)

Der einzige Workaround, der mit einfällt (außer das Problem bei github zu melden), ist wohl z.B. mit pyModbus die Register in eine .csv o.ä. auf dem RPi schreiben zu lassen und diese dann mit ioBroker in die Visualisierung zu integrieren. Habe aber keine Ahnung, ob iobroker das kann bzw. wie das gehen soll. Ich stehe da noch ganz am Anfang und arbeite mich Schritt für Schritt vor.

1
  •  Oromis
28.7.2022  (#381)
Kurzes Update: Die Eingangsregister lassen sich auch vom Pi aus mit pymodbusTCP auslesen. Hier wird nacheinander der Rücklauf (7), Vorlauf (5) und die Außentemperatur (1) abgerufen. 15 war ein Typo. D.h. der Fehler liegt definitiv an der modbus-Instanz von iobroker.

2022/20220728985035.jpg

1


Beitrag schreiben oder Werbung ausblenden?
Einloggen

 Kostenlos registrieren [Mehr Infos]


next