NEWS
In regelmäßigen Abständen type eines DP ändern
-
@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.
-
@docsnyder7 sagte: kann ich den Wert "off", wenn der Set punkt als Number läuft, den Wert String mitgeben?
Ich kann mir nicht vorstellen, dass der MQTT-Adapter den Datenpunkttyp prüft. Allerdings warnt der js-controller, aber ohne das Schreiben von "off" zu verhindern.
EDIT: Zeige bitte die OBJEKTDATEN des set-DP in Code tags (Bleistift rechts im Expertenmodus).
-
@haus-automatisierung : Bist Du evtl. bei dem MQTT-Code von evcc involviert, oder hast engeren Kontakt dahin? Evtl. könnte das Problem evcc-seitig gelöst werden.
Auf die Idee bin ich gekommen, da auf deren Homepage haus-automatisierung.com erwähnt wird.
-
@peterfido Ne bin ich nicht. Wusste auch gar nicht dass ich dort erwähnt werde
-
{
"_id": "mqtt.1.evcc.loadpoints.1.mode.set",
"common": {
"name": "evcc/loadpoints/1/mode/set",
"write": true,
"read": true,
"role": "variable",
"desc": "mqtt server variable",
"type": "string"
},
"native": {
"topic": "evcc/loadpoints/1/mode/set"
},
"type": "state",
"acl": {
"object": 1636,
"state": 1636,
"owner": "system.user.admin",
"ownerGroup": "system.group.administrator"
},
"from": "system.adapter.admin.0",
"user": "system.user.admin",
"ts": 1725200472142
} -
@docsnyder7
Der DP wurde so automatisch vom MQTT-Adapter erstellt? Oder mit "type": "number"? -
@paul53
bis auf den type = String.. das ist im original vom evcc =numberLaut evcc "Mqtt ist Typ-agnostisch" - Mode wird als String geschickt. Somit sollte der Fehler bei meiner Installation zu suchen sein
Ich konnte das nochmal verifizieren... ein Neustart von evcc oder Update hat doch keinen Einfluss auf den Type, ABER ein neustart seitens Iobroker, das gesamte Systems oder auch nur der mqtt-Instanz bewirkt die Veränderung des DP zu NUMBER
-
@docsnyder7 sagte: neustart ... der mqtt-Instanz bewirkt die Veränderung des DP zu NUMBER
Sehr eigenartiges Verhalten des MQTT-Adapters!
Wenn das so ist, kann man den Instanz-Neustart detektieren und den DP-Typ auf "string" setzen, falls er nicht "string" ist.Inhalt der Funktion typeString(id):
extendObject(id, {common: {type: 'string'}});