NEWS
Blockly soll Modbus-Datenpunkt ändern
-
Guten Abend,
Ich möchte mit Blockly den Modbus-Datenpunkt meiner Wallbox "modbus.0.holdingRegisters.40262_MaximalCurrentCommand" von 0 auf 60 ändern.
Habe bis jetzt nur mit Blockly gespielt und mir Videos dazu angesehen.Ich möchte:
Wenn "0_userdata.0.JKBMS_120.sensor.capacity_remaining" größer gleich 90
oder "0_userdata.0.JKBMS_120.sensor.state_of_charge" größer gleich 50
dann "modbus.0.holdingRegisters.40262_MaximalCurrentCommand" = 60 setzenAngefangen habe ich so:
egal welches Blockly-Modul ich in "mache" einsetze, es wird nicht der modbus-Datenpunkt
eingesetzt, immer nur das "100=10A".Wie kann ich das realisieren oder geht das so garnicht.
Bin für jede Hilfe dankbar. -
@daddy 2 Dinge.
- Du willst in eine ObjektID einen WERT schreiben?
-> Diesen Block nutzen
2. Bei Adaptern sollte man nichtaktualisieren
nutzen, sondernsteuere
. -
@mcu Danke für deine Antwort.
Ja ich möchte in eine ObjektID einen Wert ändern.
Mit steuere wird auch nur 100=10A eingetragen und da komme ich nicht weiter.
Ich habe die Auswahl der ObjektID, also "modbus.0.holdingRegisters.40262_MaximalCurrentCommand" erwartet.Manuell kann ich von 60 bis 160 jeden Wert eingeben und die Wallbox lädt dann mit min. 6A bis max. 16A. Ich dachte mir, dass kann man doch bestimmt auch automatisieren.
Im ersten Post habe ich mich vertippt. Bei der oder Bedingung muss auch 90 stehen. -
@daddy
muss da rein
Den Rest löschen
Das geht auch nicht
Da muss nur eine Objekt ID hinein.
Da du 2 Änderungen untersuchen möchtest musst du eine ObjektID zusätzlich setzen.Hier mal als Export
Kann man hiermit importieren
-> Export vom Blockly anklicken
-> Inhalt markieren + STRG+C
-> neues Blockly in Skripte erstellen
-> auf Import Button klicken
-> STRG+V und Import klicken
-> Speichern -
@mcu Danke für die Hilfe.
Habe exportiert, importiert und bearbeitet.
Habe die Werte weiter runter gesetzt, damit die Bedingungen zutreffen.
Funktioniert aber nicht und so sieht das jetzt bei mir aus.
Ich verstehe nicht, wie Blockly mit "steuere 100 = 10A" wissen soll, welchen Wert in welchen Datenpunkt geändert werden soll. -
@daddy 100=10A ist der Name vom DP.
Was funktioniert nicht?
Setz da mal ein debug rein, um zu sehen, ob er überhaupt was macht.
Ändern sich die Werte (capacity_remaining und state_of_charge) denn jetzt überhaupt?Sind die DPs überhaupt vom Type "number"?
-
@mcu Habe debug an und komplette Protokollierung. Es wird kein Fehler angezeigt.
Es erscheint auch nirgends "Habe eine Änderung" oder "Wert wird geändert".
Die Werte von capacity_remaining und state_of_charge ändern sich nicht laufend, da ich keine großen Verbraucher habe. Die DPs sind number.
Ich werde mal den Wasserkocher anstellen, vielleicht ändert sich ein Wert. -
@daddy Ohne Änderung von einem dieser Werte, wird auch nichts passieren.
Sind das nur ganzzahlige Werte, dann kann es schon etwas dauern? -
@mcu Der Wasserkocher hat geholfen. Die beiden Debugtexte wurden ausgegeben und der Modbus-Datenpunkt wurde auf 6A geändert.
Da werde ich mir wohl andere Bedingungen ausdenken müssen.
Nochmals danke für deine Hilfe. -
@daddy Ok. Gerne.