NEWS
In regelmäßigen Abständen type eines DP ändern
-
@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'}});
-
@paul53
mag es ne Einstellung geben, die dies hervorruft?Herzlichen Dank für die Hilfestellung zum Blockly
der DP mqtt.1.alive ist bei mir true bzw false... ist in dem Fall größer als letztes korrekt?
-
@docsnyder7 sagte: true bzw false... ist in dem Fall größer als letztes korrekt?
Ja, so wird nur bei Änderung false --> true getriggert.
-
@paul53 vielen Dank!
-
@docsnyder7 Evtl. beim Setzen des Wertes ein .toString() anhängen. Wie genau das bei Blockly geht, weiß ich nicht.
-
@peterfido
danke ... hab gestern das Script mal getestet und den mqtt Adapter neugestartet... und das Script hat den DP sofort in String gewandelt