NEWS
ALIAS Variablen als globale Variablen nutzen + schalten?
-
@paul53 said in ALIAS Variablen als globale Variablen nutzen + schalten?:
@Pete0815 sagte:
die Diskrepanz zwischen ALIAS und DP bleibt.
Dann zeige bitte die RAW-Ansicht des Alias-DP in Code tags.
{ "from": "system.adapter.javascript.0", "user": "system.user.admin", "ts": 1599924788868, "common": { "name": "HeizKeller/Switch_Output/State", "role": "switch", "desc": "mqtt server variable", "type": "boolean", "write": true, "read": true, "alias": { "id": "mqtt.0.HeizKeller.Switch_Output.State" } }, "native": {}, "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1636 }, "_id": "alias.0.HeizKeller.Pumpe.Switch_Output", "type": "state" }
-
@Pete0815 sagte:
"mqtt.0.HeizKeller.Switch_Output.State"
Ist "mqtt.0.HeizKeller.Switch_Output.State" nicht ein Kommando-Datenpunkt (write only) ? Und die Rückmeldung erfolgt über "mqtt.0.HeizKeller.Switch_Input.State" ?
Allerdings sollte der Alias den MQTT-DP in Deiner Konstellation spiegeln und umgekehrt. -
@Pete0815
Du solltest mal einen der beiden DP aktualisieren, denn der Zeitstempel ist von gestern 15:47 Uhr. -
@paul53 said in ALIAS Variablen als globale Variablen nutzen + schalten?:
@Pete0815 sagte:
"mqtt.0.HeizKeller.Switch_Output.State"
Ist "mqtt.0.HeizKeller.Switch_Output.State" nicht ein Kommando-Datenpunkt (write only) ? Und die Rückmeldung erfolgt über "mqtt.0.HeizKeller.Switch_Input.State" ?
Allerdings sollte der Alias den MQTT-DP in dieser Konstellation spiegeln und umgekehrt.Hoffe zu verstehen was Du meinst. Die Begrifflichkeit Output, Input kommt von mir. Ich habe zwei Push Buttons. Einer steuert das MotorVentil am Ausgang der andere ein MotorVentil am Eingang der Pumpe. Deswegen Switch Input und Output.
-
@Pete0815 sagte:
Die Begrifflichkeit Output, Input kommt von mir.
Verstanden, meine Vermutung war falsch. Hast Du mal einen der beiden DP aktualisiert ?
-
@paul53 said in ALIAS Variablen als globale Variablen nutzen + schalten?:
@Pete0815 sagte:
Die Begrifflichkeit Output, Input kommt von mir.
Verstanden, meine Vermutung war falsch. Hast Du mal einen der beiden DP aktualisiert ?
Überlege noch wie ich das mache und ob das nicht Ursache des Problems ist (Würde den Datenpunkt jetzt Bestätigen um ihn zu aktualisieren). Sollte das nicht eigenständig passieren? Dass gestern um diese Zeit zu letzt der Push Button gedrückt wurde oder ein Skript den Alias verändert hat kommt hin.
-
@Pete0815 sagte in ALIAS Variablen als globale Variablen nutzen + schalten?:
Überlege noch wie ich das mache
Einfach in das Wert-Feld klicken und dann - ohne etwas zu verändern - das Häkchen rechts anklicken. Dann wird nur der Zeitstempel aktualisiert, alles andere bleibt. Alias und MQTT-DP sollten sich synchronisieren.
-
@paul53 said in ALIAS Variablen als globale Variablen nutzen + schalten?:
@Pete0815 sagte in ALIAS Variablen als globale Variablen nutzen + schalten?:
Überlege noch wie ich das mache
Einfach in das Wert-Feld klicken und dann - ohne etwas zu verändern - das Häkchen rechts anklicken. Dann wird nur der Zeitstempel aktualisiert, alles andere bleibt. Alias und MQTT-DP sollten sich synchronisieren.
Ja, habe den ALIAS aktualisiert und umgehend geht der MQTT auf den gleichen Wert.
-
@Pete0815 sagte:
ALIAS aktualisiert und umgehend geht der MQTT auf den gleichen Wert.
Dann sollte es künftig auch per Script funktionieren.
-
@paul53 said in ALIAS Variablen als globale Variablen nutzen + schalten?:
@Pete0815 sagte:
ALIAS aktualisiert und umgehend geht der MQTT auf den gleichen Wert.
Dann sollte es künftig auch per Script funktionieren.
Also muß ich nur darauf achten, dass in einem Script die Alias DP auch immer wieder auf false gesetzt werden, damit sie dem Zustand der MQTT werte entsprechen. Kommt dann mal ein Push Button über MQTT setzt er den Alias und auch wieder zurück auf false da es ja ein Push Button ist.
mmmh. Also lag hier ein Pufferproblem vor oder wie kann das kommen?
Meine Verwendung der ALIAS DP ist aber ok (im Prinzip ok wenn richtig gemacht) -
@Pete0815 sagte:
Also muß ich nur darauf achten, dass in einem Script die Alias DP auch immer wieder auf false gesetzt werden, damit sie dem Zustand der MQTT werte entsprechen.
Nein, für die Synchronisation von Alias- und Original-DP sorgt der js-controller. Beide haben stets den gleichen Zustand (nur der Zeitstempel kann minimal abweichen), wenn es so funktioniert wie es soll.
-
@paul53 said in ALIAS Variablen als globale Variablen nutzen + schalten?:
@Pete0815 sagte:
Also muß ich nur darauf achten, dass in einem Script die Alias DP auch immer wieder auf false gesetzt werden, damit sie dem Zustand der MQTT werte entsprechen.
Nein, für die Synchronisation von Alias- und Original-DP sorgt der js-controller. Beide haben stets den gleichen Zustand (nur der Zeitstempel kann minimal abweichen), wenn es so funktioniert wie es soll.
Danke.
Irgendwas stimmt nicht. Wollte gerade den ALIAS DP auf false setzen indem ich den Haken aus dem Kästchen entferne und bestätige. Der MQTT geht auf false aber nicht der ALIAS.
Bei der Klickerrei stehen jetzt 3 der 4 ALIAS DP auf true ob ich bewusst nur am OUTPUT ALIAS Veränderungen gemacht habe. DIE MQTT DP bleiben auf false stehen. -
@Pete0815 sagte:
Bei der Klickerrei stehen jetzt 3 der 4 ALIAS DP auf true ob ich bewusst nur am OUTPUT ALIAS Veränderungen gemacht habe. DIE MQTT DP bleiben auf false stehen.
Irgendwas ist da faul ! Hast Du wirklich eine 1:1 Zuordnung Alias - Original ?
-
@paul53 said in ALIAS Variablen als globale Variablen nutzen + schalten?:
@Pete0815 sagte:
Bei der Klickerrei stehen jetzt 3 der 4 ALIAS DP auf true ob ich bewusst nur am OUTPUT ALIAS Veränderungen gemacht habe. DIE MQTT DP bleiben auf false stehen.
Irgendwas ist da faul ! Hast Du wirklich eine 1:1 Zuordnung Alias - Original ?
Ich denke schon und grob hat es auch funktioniert, nur bin ich immer wieder über die Diskrepanz der ALIAS zu Orginal Werte gestolpert wenn ich mal manuell reinschaue. Aber dies muß ich prüfen um hier weiter zu kommen. Zum Anlegen der Alias hatte ich Dein Skript verwendet und hoffe alles auch richtig gemacht. Schaue mal in die RaW Informationen rein, ob ich was sehe kann.
-
Ganz komisch. Admin nochal neu gestartet und browser refresh.
Die ALIAS verändern sich nicht wenn ich die MQTT manuell setze und bestätige (leuchten nur kurz grün). Bleiben also auf true stehen.
Die ALIAS RAW Informationen sehen für mich ok aus:
{ "type": "state", "common": { "name": "HeizKeller/Switch_Input/State", "write": true, "read": true, "role": "switch", "desc": "mqtt server variable", "type": "boolean", "alias": { "id": "mqtt.0.HeizKeller.Switch_Input.State" } }, "native": {}, "from": "system.adapter.javascript.0", "user": "system.user.admin", "ts": 1599924832543, "_id": "alias.0.HeizKeller.Pumpe.Switch_Input", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
{ "type": "state", "common": { "name": "HeizKeller/Switch_Output/State", "write": true, "read": true, "role": "switch", "desc": "mqtt server variable", "type": "boolean", "alias": { "id": "mqtt.0.HeizKeller.Switch_Output.State" } }, "native": {}, "from": "system.adapter.javascript.0", "user": "system.user.admin", "ts": 1599924788868, "_id": "alias.0.HeizKeller.Pumpe.Switch_Output", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
{ "type": "state", "common": { "name": "HeizKeller/Switch_Start/State", "write": true, "read": true, "role": "switch", "desc": "mqtt server variable", "type": "boolean", "alias": { "id": "mqtt.0.HeizKeller.Switch_Start.State" } }, "native": {}, "from": "system.adapter.javascript.0", "user": "system.user.admin", "ts": 1595845072459, "_id": "alias.0.HeizKeller.Pumpe.Switch_Start", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
"type": "state", "common": { "name": "HeizKeller/Switch_Stop/State", "write": true, "read": true, "role": "switch", "desc": "mqtt server variable", "type": "boolean", "alias": { "id": "mqtt.0.HeizKeller.Switch_Stop.State" } }, "native": {}, "from": "system.adapter.javascript.0", "user": "system.user.admin", "ts": 1595844550962, "_id": "alias.0.HeizKeller.Pumpe.Switch_Stop", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
Ist es ok, dass die alle die gleiche Object und state Nummer (1636) haben?
-
@Pete0815 sagte:
Die ALIAS RAW Informationen sehen für mich ok aus:
Für mich auch.
@Pete0815 sagte in ALIAS Variablen als globale Variablen nutzen + schalten?:
alle die gleiche Object und state Nummer (1636) haben?
Das sind Zugriffsrechte, die alle gleich sind.
@Pete0815 sagte in ALIAS Variablen als globale Variablen nutzen + schalten?:
Die ALIAS verändern sich nicht wenn ich die MQTT manuell setze und bestätige
Welche Version vom js-controller ?
-
@paul53 said in ALIAS Variablen als globale Variablen nutzen + schalten?:
Welche Version vom js-controller ?
3.1.6
-
@Pete0815 sagte:
3.1.6
Diese Version funktioniert bei mir.
-
@paul53 said in ALIAS Variablen als globale Variablen nutzen + schalten?:
@Pete0815 sagte:
3.1.6
Diese Version funktioniert bei mir.
Ok, mal den iobroker neustarten?
-
@Pete0815 sagte:
mal den iobroker neustarten?
Ein Versuch schadet nicht.