|
|
||
Hallo, 502 ist der richtige Port. Ich kenne dad Programm nicht, habe aber die Vermutung, dass es falsche Adressen auselesen will. Probier mal den EasyModbusTCP Client. Erst IP und Port eingeben, dann auf Connect drücken. Wenn das geht, kannst du mal einzelne Input oder Holding Register auslesen. Achtung bei EasyModbusTCP musst du auf die Adressen immer +1 draufzählen. Du kannst dir auf einen USB-Stick unten ans Display von der VVM S320 (Abdeckung etwas unter dem Display muss weg) die Adressen exportieren lassen. Wichtig ist dann noch zu wissen welches Datenformar die Daten haben. Signed (alles was negativ werden kann), Unsigned (nur positiv), 8bit oder 16bit etc, das geht aber zT aus der Tabelle hervor. |
||
|
||
Hi, danke Dir. Ich versuche es mal mit EasyModbusTCP. Die Adressen habe ich mir schon aus der VVM exportiert und in der Tabelle formatiert. Mit den Umlauten hatte es der Export nicht so. Das sind ja eine Unmenge an Adressen. Hast Du die notwendigen Adressen in einer Visu (iobroker, HA)? Regelst Du darüber auch? |
||
|
||
Ich bekomme einfach keine TCP Verbindung zur WPWP [Wärmepumpe]. Habe die WPWP [Wärmepumpe] runter gefahren und 20 Minuten gewartet. Dann den Modbus aktiviert. Mit dem CASModbusScanner kommte ich anscheinend eine Verbindung aufgebaut aber beim pollen kommt immer noch die Fehlermeldung (0x01 Illegale Function). Mit ein paar anderen Android Apps habe ich es auch versucht. Bei der Einrichtung und dem Verbinden kommen keine Fehlermeldungen aber dann beim poll. Ping geht auch Die PV habe ich ohne Probleme verknüpft bekommen. Die habe ich jetzt, um einen Fehler von der Seite zu vermeiden, deaktiviert. Muss ich noch was anderes aktivieren oder einstellen? |
||
|
||
|
||
Dein Problem ist nicht die Verbindung, sondern dass du mit den Einstellungen von deinem Modbus-Scanner falsche Sachen abfragst. Schau mal hier, so funktioniert es bei mir. Allerdings würde ich dir echt zum EasyModbusTCP raten, um die Verbindung überhaupt zu überprüfen, das ist einfacher. Ich lese die Ports letztendlich mit dem modbus-Adapter in iobroker aus. Da habe ich dann auch die unsinged/singed int-Geschichten richtig angepasst. Allerdings hat der Adapter wieder selbst ein Problem mit manchen Registern, da er wohl die Abfrage so verändert, dass die "Illegal function" zurückkommt. Ich habe es über zwei Modbus-Instanzen gelöst. Die Eintellungen kann ich dir gerne per Screenshot zukommen lassen, wenn du magst. Hier die Ports, die ich auslese. Allerdings stimmt etwas mit der Kompressor-Frequenz noch nicht wirklich. Input Register: _address name description unit type len factor offset formula role room cw isScale 7 BT3 Rücklauf °C int16be 1 0.1 0 value.temperature false false 8 BT7 Brauchwasser, oben °C int16be 1 0.1 0 value.temperature false false 9 BT6 Brauchwasserbereitung °C int16be 1 0.1 0 value.temperature false false 40 BF1 Volumenstromsensor l/m int16be 1 0.1 0 value false false 108 BT1 Aussentemperatur °C int16be 1 0.1 0 value.temperature false false 116 BT50 Mittlere Raumtemperatur °C int16be 1 0.1 0 value.temperature false false 1025 Zusatzheiz_Zeit Gesamtbetriebszeit Zusatzheizung h int32sw 2 0.1 0 value false false 1028 Op_prio Prio int8be 1 1 0 value false false 1029 Zusatzheizan Zusatzheizung Status int16be 1 1 0 value false false 1475 EB101-BT3 Rücklauf WPWP [Wärmepumpe] °C int16be 1 0.1 0 value.temperature false false 1489 Comp_starts Anzahl Kompressorstarts int32sw 2 1 0 value false false 1491 Comp_runtime Laufzeit Kompressor h int32sw 2 1 0 value false false 1493 Comp_runtimewater Laufzeit Kompressor nur Wasser h int32sw 2 1 0 value false false 1575 kWh_wateraddheat Energie Brauchwasser inkl. Zusatzheizung kWh int32sw 2 0.1 0 value false false 1577 kWh_heataddheat Energie Heizung inkl. Zusatzheizung kWh uint32sw 2 0.1 0 value false false 1636 GP1 Umwälzpumpe Heizung G % uint16be 1 1 0 value false false 1803 Comp_freq Aktuelle Kompressorfrequenz Hz uint8be 1 1 0 value false false _address name description unit type len factor offset formula role room cw isScale 1 BT1 Außentemperatur °C int16be 1 0.1 0 value.temperature false false 5 BT2 Vorlauf °C int16be 1 0.1 0 value.temperature false false 1017 BerVL Berechnete Vorlauftemperatur °C int16be 1 0.1 0 value.temperature false false 1478 EB101-BT12 Vorlauf WPWP [Wärmepumpe] °C int16be 1 0.1 0 value.temperature false false 1621 EB101-BT28 Außentemperatur WPWP [Wärmepumpe] °C int16be 1 0.1 0 value.temperature false false Holding Register: _address name description unit type len factor offset formula role room poll wp cw isScale 11 GM Gradminuten GM int16be 1 0.1 0 level true false false false |
||
|
||
Danke Dir für die Rückmeldung und einen guten Rutsch an alle Hab über die Feiertage es noch mal versucht und Deine Einstellungen eingetragen. Wieder das gleiche. Die nibe lässt keine Verbindung zu. Immer wieder die gleiche Fehlermeldung. Habe es auch mit anderen Tools auf IOS, Android und Windows ohne Erfolg versucht. Irgendwie scheint es von der nibe zu kommen. Ich muss doch "nur" in dem Kapitel 7 unter Tools Modbus aktivieren oder? Wollte jetzt nicht mit nibepi anfangen bevor ich nicht alle Möglichkeiten ohne zusätzliche Hardware getestet zu haben |
||
|
||
Hi, du hast nicht genau die gleichen Einstellungen. Du fragst 30001 for 100 ab, nicht for 1. Die Meldung kommt bei mir auch, wenn ich Register falsch abfrage, d.h. glaube ich nicht, dass es ein Verbindungsproblem ist. Hast du es mit EasyModbusTCP probiert, wie von mir im ersten Post geraten? Da kannst du auf "Connect" klicken und direkt checken, ob eine Verbindung da ist, ohne direkt eine Registerabfrage zu starten. Damit teilst du dein Problem auf: Klappt Connect nicht, liegt es an der Verbindung. Klappt Connect, dann ist deine Abfrage falsch. Taucht denn die Wärmepumpe in deinem Router mit einer IP-Adresse auf? |
||
|
||
@oromis Du hast absolut recht. Die Einstellungen waren nicht richtig und ich habe easymodbus getestet. Wenn ich das richtige Register eingeben, wie bei Deinem Beispiel kommen auch die Werte zurück. Dann mach ich mich noch mal dran, wenn ich etwas mehr Zeit habe Danke Dir für die Unterstützung VG Armin |
||
|
||
Hallo zusammen, habe mich endlich wegen Erweiterung von meiner HA Installation an das Thema getraut. Mit easymodbus kann ich die Verbindung aufbauen und Adressen auslesen. Was aber überhaupt nicht passt, sind die Adressen aus der VVM was ich herunter geladen habe und dem Ergebnis aus easymodbus. Die Adressen müssen doch passen, gerade wenn ich die über USB runter geladen habe. Verstehe das nicht und stehe mal wieder auf dem Schlauch. |
||
|
||
Hätte da vielleicht eine Idee... ...ich habe den Fronius WR WR [Wechselrichter] über Modbus eingebunden. Kann es sein, dass das die Adressen von dem WR WR [Wechselrichter] sind? Denke, dass ich einen anderen Port einstellen muss? |
||
|
||
Hallo Zusammen, hat keiner eine Idee? Vielleicht schreibe ich unser Setup noch mal kurz auf. - in der VVM habe ich Midbus aktiviert. Den Inverter von der PV Anlage habe ich raus genommen. Die Adresse der WPWP [Wärmepumpe] ist 192.xxx.xxx.33:502 - die WPWP [Wärmepumpe] kann ich über die diversen Apps anpingen. Die einzelnen Register kann ich damit auslesen. Die Werte passen mit MyUplink. - wenn ich die NIBE Integration in HomeAssistant installieren möchte, kommt die Meldung, dass die WPWP [Wärmepumpe] nicht antworten würde. - HA läuft auf eine Raspi - bei der manuellen Anpassung der Configuration.yaml bekomme ich bei dem Register 1 oder 2 Werte die aber nicht zu myUplink passen. Bei anderen Registern, wo eigentlich Werte kommen müsste (egal ob das Register um eins erhöhe), kommen keine Werte. Im Log steht auch, dass der Wert nicht verfügbar ist. Das kann doch nicht sein. Irgendwie ist da doch was nicht richtig |
Beitrag schreiben oder Werbung ausblenden?
Einloggen
Kostenlos registrieren [Mehr Infos]