NEWS
[gelöst] Wie Modbus schreiben?
-
Hallo Zusammen
Mit dem Modbus Adapter kann ich wunderbar meine Geräte (Wärmepumpe, Energiezähler, Wallbox) auslesen. Wie kann ich aber nun Modbus Register schreiben?
Ich möchte im VIS mit Schaltern bestimmte Funktionen ein- und ausschalten. Ich kann innerhalb von iobroker mit diesen Schaltern selbst-definierte Objekte schreiben. Aber wie leite ich so ein Command dann weiter - z.B. setze die Wärmepumpe in Ferienmodus deaktiviere Warmwasserbereitung?
Dankeschön
-
@64kbyte sagte in Wie Modbus schreiben?:
Aber wie leite ich so ein Command dann weiter - z.B. setze die Wärmepumpe in Ferienmodus deaktiviere Warmwasserbereitung?
du musst in der Registerbeschreibung drines Geräts die entsprechenden Register finden die beschreibbar sind.
Üblicherweise sind das die Holdingregister. -
@homoran said in Wie Modbus schreiben?:
@64kbyte sagte in Wie Modbus schreiben?:
Aber wie leite ich so ein Command dann weiter - z.B. setze die Wärmepumpe in Ferienmodus deaktiviere Warmwasserbereitung?
du musst in der Registerbeschreibung drines Geräts die entsprechenden Register finden die beschreibbar sind.
Üblicherweise sind das die Holdingregister.Tut mir leid für die Verwirrung. Die Frage ist unpräzise gestellt. Die Register sind alle bekannt.
Ich sehe im Modbus Adapter von iobroker nichts wie ich Register schreiben kann. Also daher die Frage: Wie schreibe ich Modbus-Register aus iobroker heraus?
-
@64kbyte sagte in Wie Modbus schreiben?:
Die Register sind alle bekannt.
sind sie beschreibbar?
@64kbyte sagte in Wie Modbus schreiben?:
im Modbus Adapter von iobroker nichts wie ich Register schreiben kann
der Modbus-Adapter verwaltet nur die Register, so wie heder andere Adapter seine Daten verwaltet.
Lesen und schreiben macht man immer in den Objekten -
@homoran said in Wie Modbus schreiben?:
@64kbyte sagte in Wie Modbus schreiben?:
Die Register sind alle bekannt.
sind sie beschreibbar?
@64kbyte sagte in Wie Modbus schreiben?:
im Modbus Adapter von iobroker nichts wie ich Register schreiben kann
der Modbus-Adapter verwaltet nur die Register, so wie heder andere Adapter seine Daten verwaltet.
Lesen und schreiben macht man immer in den ObjektenMit dem Modbus Adapter kann ich aber nur Register der Wärmepumpe auslesen. Ich muss aber ein Register schreiben.
Ich weiss nicht wie ich meine Frage/Situation anders formulieren soll, vielleicht so:
- Schalter im VIS wird auf off gedrückt
- Objekt "0_userdata.0.Heizung.Warmwasser_Aus" wird 1 gesetzt
- schreibe via modbus das entsprechende Register der Wärmepumpe
- Wärmepumpe macht kein Warmwasser mehr
Wie realisiere ich 3) ?
-
@64kbyte sagte in Wie Modbus schreiben?:
Wie realisiere ich 3) ?
mit einem Skript
oder einem Widget, dass direkt den modbus DP ändert
wenn denn das Modbus Register beschreibbar ist.
Die Antwort dazu verschweigst du bisher beharrlich -
@homoran said in Wie Modbus schreiben?:
@64kbyte sagte in Wie Modbus schreiben?:
Wie realisiere ich 3) ?
mit einem Skript
oder einem Widget, dass direkt den modbus DP ändert
wenn denn das Modbus Register beschreibbar ist.
Die Antwort dazu verschweigst du bisher beharrlichWas verschweige ich? Ich habe mehrfach geschrieben, ich kenne das Register, ich weiss das ich es schreiben muss.
Ich kenne den Modbus TCP Port 502 und ich kenne die IP Adresse der Wärmepumpe.Was ist nicht kenne, ist die Vorgehensweise, wie ich mit iobroker einen modbus write request absetze. Der Adapter kann für mein Verständnis nur read.
Es gibt den Blockly Block "falls Objekt geändert wurde" aber es gibt nichts wie ich den modbus write request realisiere
-
@64kbyte sagte in Wie Modbus schreiben?:
ich kenne das Register, ich weiss das ich es schreiben muss.
ja das hast du geschrieben. Die wichtigste Frage:
ist es beschreibbar?
aber nicht.@64kbyte sagte in Wie Modbus schreiben?:
Der Adapter kann für mein Verständnis nur read.
wieso? ich schreibe und steuere damit u.a. meine Wärmepumpe.
da stellt sich schon wieder die Frage:ist das Register überhaupt beschreibbar?
Der Adapter kann schreiben. Es ist nur die Frage ob dein Gerät das akzeptiert.
oder es ist falsch konfiguriert.
zeig doch mal Objekte und Konfiguration der Register sowie die Angaben in der Registerbeschreibung.EDIT:
das sollte in der Registerbeschreibung stehen, so wie hier
bitte lesen
https://forum.iobroker.net/topic/51555/hinweise-für-gute-forenbeiträge/1 -
@homoran said in Wie Modbus schreiben?:
@64kbyte sagte in Wie Modbus schreiben?:
ich kenne das Register, ich weiss das ich es schreiben muss.
ja das hast du geschrieben. Die wichtigste Frage:
ist es beschreibbar?
aber nicht.@64kbyte sagte in Wie Modbus schreiben?:
Der Adapter kann für mein Verständnis nur read.
wieso? ich schreibe und steuere damit u.a. meine Wärmepumpe.
da stellt sich schon wieder die Frage:ist das Register überhaupt beschreibbar?
Der Adapter kann schreiben. Es ist nur die Frage ob dein Gerät das akzeptiert.
oder es ist falsch konfiguriert.
zeig doch mal Objekte und Konfiguration der Register sowie die Angaben in der Registerbeschreibung.Ich weiss nicht wie deine Anzeige funktioniert, bei mir sieht das so aus:
Objekte
Modbus Adapter
0 = Normalbetrieb
Ich will da ne 4 reinschreiben = AUSDoku vom Hersteller:
-
@64kbyte sagte in Wie Modbus schreiben?:
bei mir sieht das so aus:
in welchem Reiter bist du da?
Das könnten die Holdingregister sein, der Spaltenkopf fehlt leider.
Du arbeitest anscheinend ohne Alias - gut!@64kbyte sagte in Wie Modbus schreiben?:
Doku vom Hersteller:
Das passt, da steht schreibbar.
@64kbyte sagte in Wie Modbus schreiben?:
Ich will da ne 4 reinschreiben = AUS
dann mach das mal (in den Objekten)
was passiert dann?
-
@homoran said in Wie Modbus schreiben?:
@64kbyte sagte in Wie Modbus schreiben?:
bei mir sieht das so aus:
in welchem Reiter bist du da?
Das könnten die Holdingregister sein, der Spaltenkopf fehlt leider.ja
Du arbeitest anscheinend ohne Alias - gut!
@64kbyte sagte in Wie Modbus schreiben?:
Doku vom Hersteller:
Das passt, da steht schreibbar.
@64kbyte sagte in Wie Modbus schreiben?:
Ich will da ne 4 reinschreiben = AUS
dann mach das mal (in den Objekten)
was passiert dann?
Der Wert des Objekts ändert sich auf 4.
Die Wärmepumpe bleibt auf Automatik (0)Das ist ja mein Problem. Wie sag ich iobroker, dass er jetzt den Wert 4 in das Register 8 der Wärmepumpe schreiben soll? So ist ja nur das lokale Objekt geändert
-
@64kbyte sagte in Wie Modbus schreiben?:
Der Wert des Objekts ändert sich auf 4.
was genau hast du gemacht?
zeigen, bitte! -
@homoran said in Wie Modbus schreiben?:
@64kbyte sagte in Wie Modbus schreiben?:
Der Wert des Objekts ändert sich auf 4.
was genau hast du gemacht?
Ich hab händisch im Objektbaum den Wert 4 gesetzt
-
@64kbyte sagte in Wie Modbus schreiben?:
Ich hab händisch im Objektbaum den Wert 4 gesetzt
:seufz:
@homoran sagte in Wie Modbus schreiben?:
was genau hast du gemacht?
-
@64kbyte bestätigt oder unbestätigt?
-
@homoran said in Wie Modbus schreiben?:
@64kbyte sagte in Wie Modbus schreiben?:
Ich hab händisch im Objektbaum den Wert 4 gesetzt
:seufz:
@homoran sagte in Wie Modbus schreiben?:
was genau hast du gemacht?
Ich wühle mich grad wie ein kleinen Kind, das nicht verstanden wird. Sag doch dass du von jedem Step n Screen willst.
Ich habe auf die Null geklickt, dann das sich öffnende Fenster so ausgefüllt:
und auf Wert setzen geklickt -
@64kbyte Genau das ist der Fehler - Du darfst nicht bestätigt setzen - das darf nur der Adapter. Also Haken raus und nochmal.
Bestätigen tut der Adapter in der Regel die Werte als Rückmeldung vom Gerät. Was willst Du denn bestätigen? - Das Du auch wirklich den Wert setzen willst?
- Das glaubt Dir der Adapter auch so.
-
@mickym said in Wie Modbus schreiben?:
@64kbyte Genau das ist der Fehler - Du darfst nicht bestätigt setzen - das darf nur der Adapter. Also Haken raus und nochmal.
Habs ohne Bestätigt probiert. Ändert aber trotzdem nichts.
Wärmepumpe bleibt im Status 0 (Automatik)
-
@64kbyte Ok - dann muss @Homoran als modbus Adapter Spezialist wieder ran. Trotzdem kannst Du Dir merken, dass Du nur selbst erstellte Datenpunkte unter 0_userdata.0 bestätigt setzt. Ansonsten müssen Kommandos an Adapter immer unbestätigt geschickt werden.
Und wenns nicht klappt - dann probiers halt mal mit NodeRed.
-
@mickym sagte in Wie Modbus schreiben?:
dann muss @Homoran als modbus Adapter Spezialist wieder ran
@64kbyte
wie lange hast du gewartet?
wurde der Wert erst rot, dann schwarz?wie oft holt deine WP die Holdingregister ab?
war der Wert vorher auf 0 oder noch auf bestätigten 4?