Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. ALIAS Variablen als globale Variablen nutzen + schalten?

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    ALIAS Variablen als globale Variablen nutzen + schalten?

    This topic has been deleted. Only users with topic management privileges can see it.
    • paul53
      paul53 @Guest last edited by paul53

      @Pete0815 sagte:

      Die Begrifflichkeit Output, Input kommt von mir.

      Verstanden, meine Vermutung war falsch. Hast Du mal einen der beiden DP aktualisiert ?

      ? 1 Reply Last reply Reply Quote 0
      • ?
        A Former User @paul53 last edited by A Former User

        @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.

        paul53 1 Reply Last reply Reply Quote 0
        • paul53
          paul53 @Guest last edited by

          @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.

          ? 1 Reply Last reply Reply Quote 0
          • ?
            A Former User @paul53 last edited by A Former User

            @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.

            paul53 1 Reply Last reply Reply Quote 0
            • paul53
              paul53 @Guest last edited by

              @Pete0815 sagte:

              ALIAS aktualisiert und umgehend geht der MQTT auf den gleichen Wert.

              Dann sollte es künftig auch per Script funktionieren.

              ? 1 Reply Last reply Reply Quote 0
              • ?
                A Former User @paul53 last edited by A Former User

                @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)

                paul53 1 Reply Last reply Reply Quote 0
                • paul53
                  paul53 @Guest last edited by

                  @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.

                  ? 1 Reply Last reply Reply Quote 0
                  • ?
                    A Former User @paul53 last edited by

                    @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.

                    paul53 1 Reply Last reply Reply Quote 0
                    • paul53
                      paul53 @Guest last edited by

                      @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 ?

                      ? 1 Reply Last reply Reply Quote 0
                      • ?
                        A Former User @paul53 last edited by

                        @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.

                        ? 1 Reply Last reply Reply Quote 0
                        • ?
                          A Former User @Guest last edited by A Former User

                          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.

                          20ca9d2a-b288-4115-a3ed-c2fc8d2815f2-grafik.png

                          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?

                          paul53 1 Reply Last reply Reply Quote 0
                          • paul53
                            paul53 @Guest last edited by

                            @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 ?

                            ? 1 Reply Last reply Reply Quote 0
                            • ?
                              A Former User @paul53 last edited by

                              @paul53 said in ALIAS Variablen als globale Variablen nutzen + schalten?:

                              Welche Version vom js-controller ?

                              3.1.6

                              paul53 1 Reply Last reply Reply Quote 0
                              • paul53
                                paul53 @Guest last edited by

                                @Pete0815 sagte:

                                3.1.6

                                Diese Version funktioniert bei mir.

                                ? 1 Reply Last reply Reply Quote 0
                                • ?
                                  A Former User @paul53 last edited by

                                  @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?

                                  paul53 1 Reply Last reply Reply Quote 0
                                  • paul53
                                    paul53 @Guest last edited by

                                    @Pete0815 sagte:

                                    mal den iobroker neustarten?

                                    Ein Versuch schadet nicht.

                                    ? 1 Reply Last reply Reply Quote 0
                                    • ?
                                      A Former User @paul53 last edited by A Former User

                                      @paul53

                                      Jaein. Habe gerade den Switch_Input probiert der sonst noch nicht in einer Logik (Skript) Verwendung findet also nur der Button und der ALIAS "aktiv" ist.

                                      Den MQTT DP von 0 auf 1 gesetzt. Funktioniert und setzt auch den ALIAS.
                                      Wichtig, ich muß den MQTT auf 0 oder 1 setzen, nicht true oder false.

                                      Der ALIAS wird auf true oder false gesetzt. Setze ich diesen manuell. wird der MQTT DP aber auf false oder true gesetzt. Nicht 0 oder 1. Ist das vielleicht das Problem?

                                      Edit: Wenn ich den ALIAS nicht über das Kästchen mit Haken auf true oder false setze, sondern in das Pop-UP Window 0 oder 1 reinschreibe. Setzt er den ALIAS auf TRUE/false und den MQTT auf 0 oder 1. mmmh

                                      Muss ich also evtl. in den Skripten hier nicht auf wahr oder falsch steuern sondern auf 0 oder 1 setzen?

                                      paul53 1 Reply Last reply Reply Quote 0
                                      • paul53
                                        paul53 @Guest last edited by paul53

                                        @Pete0815 sagte:

                                        Wichtig, ich muß den MQTT auf 0 oder 1 setzen, nicht true oder false.

                                        Dann wandele mit common.alias.read und common.alias.write .

                                            "alias": {
                                              "id": "mqtt.0.HeizKeller.Switch_Output.State",
                                              "read": "!!val",
                                              "write": "val ? 1 : 0"
                                            }
                                        
                                        ? 1 Reply Last reply Reply Quote 0
                                        • ?
                                          A Former User @paul53 last edited by A Former User

                                          @paul53 said in ALIAS Variablen als globale Variablen nutzen + schalten?:

                                          @Pete0815 sagte in ALIAS Variablen als globale Variablen nutzen + schalten?:

                                          Wichtig, ich muß den MQTT auf 0 oder 1 setzen, nicht true oder false.

                                          Welchen Typ haben die MQTT-Datenpunkte ? Falls "number", dann wandele mit common.alias.read und common.alias.write .

                                              "alias": {
                                                "id": "mqtt.0.HeizKeller.Switch_Output.State",
                                                "read": "!!val",
                                                "write": "val ? 1 : 0"
                                              }
                                          

                                          Die MQTT sind vom typ string. Hieraus auch meine Intention ALIAS zu verwenden, damit ich direkt bolean werte habe für die skripte.

                                          
                                            "common": {
                                              "name": "HeizKeller/Switch_Input/State",
                                              "write": true,
                                              "read": true,
                                              "role": "variable",
                                              "desc": "mqtt server variable",
                                              "type": "string"
                                            },
                                            "native": {
                                              "topic": "HeizKeller/Switch_Input/State"
                                            },
                                            "type": "state",
                                            "from": "system.adapter.mqtt.0",
                                            "user": "system.user.admin",
                                            "ts": 1599421923874,
                                            "_id": "mqtt.0.HeizKeller.Switch_Input.State",
                                            "acl": {
                                              "object": 1636,
                                              "state": 1636,
                                              "owner": "system.user.admin",
                                              "ownerGroup": "system.group.administrator"
                                            }
                                          }
                                          
                                          paul53 1 Reply Last reply Reply Quote 0
                                          • paul53
                                            paul53 @Guest last edited by paul53

                                            @Pete0815 sagte:

                                            Die MQTT sind vom typ string.

                                            Mit den Werten "0" und "1" ? Dann sollte die Read-Wandlung eigentlich automatisch erfolgen. Aber nicht write:

                                                "alias": {
                                                  "id": "mqtt.0.HeizKeller.Switch_Output.State",
                                                  "write": "val ? String(1) : String(0)"
                                                }
                                            
                                            ? 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            484
                                            Online

                                            32.0k
                                            Users

                                            80.4k
                                            Topics

                                            1.3m
                                            Posts

                                            blockly
                                            2
                                            38
                                            803
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo