NEWS
In regelmäßigen Abständen type eines DP ändern
-
Hallo... ist es über die braunen Objekt Blocklys möglich, den Type eines DP per Cron reglemäßig zu ändern?
Hintergrund: der DP kommt per MQTT und der Bereisteller ändert in Abständen (Nach Updates etc) den DP von string in zahl, obwohl man keine Zahl zum ändern des DP benötigt, sondern Zeichen. Ich benötige nun für meine VIS den DP als String und so muss ich regelmäßig nachsehen, ob der DP noch string ist oder schon wieder mal zahl.
meine Idee den DP einfach alle Stunde in string zu ändern, per Blockly wenn möglich.
Schönen Sonntag Allen -
@docsnyder7 sagte in In regelmäßigen Abständen type eines DP ändern:
Hallo... ist es über die braunen Objekt Blocklys möglich, den Type eines DP per Cron reglemäßig zu ändern?
Hintergrund: der DP kommt per MQTT und der Bereisteller ändert in Abständen (Nach Updates etc) den DP von string in zahl, obwohl man keine Zahl zum ändern des DP benötigt, sondern Zeichen. Ich benötige nun für meine VIS den DP als String und so muss ich regelmäßig nachsehen, ob der DP noch string ist oder schon wieder mal zahl.
meine Idee den DP einfach alle Stunde in string zu ändern, per Blockly wenn möglich.
Schönen Sonntag AllenSo macht man das nicht. Statt dessen legst Du dir einen DP als alias (oder unter 0_userdata.0) an, und transferierst den Wert des Datenpunktes incl. Konvertierung in Zahl dort hin.
A.
-
@asgothian
Danke für den TippDer Dp sieht so aus... ich benötige den Wert des Ordner für die Vis, da sich der DP "set" nach erhalt des Wertes wieder in (null) ändert. Dafür hab ich denn alias schon angelegt
Der DP "set" nimmt auch unter den Type "Number" gar keinen Wert an.. sprich ob ich ne 1 eingebe oder ne 5 .. das ändert am Ordnerwert gar nix, weshalb der Type "number" absolut nutzlos ist. -
@docsnyder7 sagte in In regelmäßigen Abständen type eines DP ändern:
Der Dp sieht so aus... ich benötige den Wert des Ordner für die Vis, da sich der DP "set" nach erhalt des Wertes wieder in (null) ändert. Dafür hab ich denn alias schon angelegt
Der DP "set" nimmt auch unter den Type "Number" gar keinen Wert an.. sprich ob ich ne 1 eingebe oder ne 5 .. das ändert am Ordnerwert gar nix, weshalb der Type "number" absolut nutzlos ist.ich kann das was du sagst immer noch nicht nachvollziehen. Aber trotzdem - das automatische Umsetzen des Typ eines DP im Namespace eines Adapters, der diesen dann wieder neu auf den "korrekten" wert ändert ist nicht ok.
Besser ist ein DP in deinem Eigenen space - dann kannst du per Skript den Wert des DP überwachen, und deinen DP so setzen wie das deine Vis braucht.A.
-
Das ist generell nicht richtig was Du machst. Im mqtt gibts einen Datenpunkt set zum Steuern und einen um den Zustand auszulesen.
Wenn man einen Zustand visualisieren und steuern will, erstellt man einen Alias mit unterschiedlichen Punkten zum Lesen und Schreiben.Dann ist es Dir nämlich völlig egal, was Du dort zuletzt zum Schreiben reingeschrieben hast.
Sprich du erstellst einen Alias und liest evcc/loadpoints/1/mode aus und schreibst evcc/loadpoints/1/mode/set.
-
@asgothian
Da hast du vollkommen Recht...allerdings tue ich über radiobuttons den Wert des DP ändern, um , in dem Fall evcc, dazu zu bewegen den entsprechenden Modus für das laden des PKW zu verwenden.
DH.. würde ich nur den MODE DP zum visualisuieren benötigen, wäre ja alles etwas leichter.. aber da ich über die Buttons auch den alias beschreibe und der wiederum dann den SET DP ist es elementar , dass der SET DP ein string ist.... -
@docsnyder7 sagte in In regelmäßigen Abständen type eines DP ändern:
@asgothian
Da hast du vollkommen Recht...allerdings tue ich über radiobuttons den Wert des DP ändern, um , in dem Fall evcc, dazu zu bewegen den entsprechenden Modus für das laden des PKW zu verwenden.
DH.. würde ich nur den MODE DP zum visualisuieren benötigen, wäre ja alles etwas leichter.. aber da ich über die Buttons auch den alias beschreibe und der wiederum dann den SET DP ist es elementar , dass der SET DP ein string ist....Die Umsetzung welcher Zustand welcher Zahl entspricht, regelst Du über die Konvertierungsfunktion im Alias.
-
@mickym
den hab ich schon, ebenfalls mit Hilfe dieses tollen Forums eingerichtet.. aber es hilft mir nix, wenn evcc den DP ab und an wieder in number ändert... -
@mickym aber es gibt leider keine Zahl die den Mode ändert... das ist ja mein problem
-
@docsnyder7 Nochmal - wenn Du in set was reinschreibst, interessiert Dich das nicht mehr. Dann lasse es auf String oder im mqtt - erstell einfach einen mixed Datenpunkt.
-
@mickym
doch es interessiert mich... denn wenn evcc nach einem Update oder Neustart den DP set wieder auf number ändert, kann ich mit meinem alias der String sendet, weil es ja worte sind (off,pv,pvmin oder now) nix anfangen und selbst wenn mein alias Zahlen in den Set schreibt, dann passiert in evcc nix. ich denke evcc sollte den datenpunkt idealerweise per mqtt als string schicken, statt als number -
@docsnyder7 sagte: per mqtt als string schicken, statt als number
MQTT sendet das, was in den Datenpunkt geschrieben wird. Allerdings meckert der js-controller, wenn man einen String in einen DP vom Typ "number" schreibt.
-
@docsnyder7 Na was schreibst Du denn in den set Datenpunkt. Wenn Du da Zahlen reinschreibst, dann musst halt in der Aliasversion off,pv etc in Zahlen umwandeln.
-
@mickym @paul53
wenn evcc den DP als Number bereitstellt... dann kann ich in den Set Punkt Zahlen reinschreiben wie ich will, es passiert nix... es hilft mir also nix, wenn ich die Strings in Zahlen wandle, weil der SET Punkt , selbst wenn er als Number konfiguriert ist, keine Zahlen annimmt....bzw auf Zahlen keine Reaktion zeigt
aber kann ich den Wert "off", wenn der Set punkt als Number läuft, den Wert String mitgeben? -
Ok - im MQTT sollten eigentlich die Datenpunkte automatisch auf mixed gestellt werden. Probier das mal.
-
@docsnyder7 sagte in In regelmäßigen Abständen type eines DP ändern:
aber kann ich den Wert "off", wenn der Set punkt als Number läuft, den Wert String mitgeben?
Wenn das Ding auf mixed steht ja.
-
@mickym bedarf es dazu einer Änderung im adpater?
-
@docsnyder7 Mach das mal nur in dem set datenpunkt und ggf. lässt der Adapter dann den Datenpunkt in Ruhe. Insbesondere bei mqtt
-
@mickym das funktioniert
aber wenn die Tage wieder seitens evcc ein Update kommt, evcc neustartet und die Verbindung zu mqtt neu aufgebaut wird, ist der Datenpunkt Set wieder ne number... da ich nicht ständig schauen will, dachte ich ich könnte automatisiert den Type des DP regelmäßig einfach in string ändern -
@docsnyder7 Bei mixed wird normalerweise der Typ nicht geändert - aber beobachte es mal.