Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Im Script einen Sensor verlinken

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    Im Script einen Sensor verlinken

    This topic has been deleted. Only users with topic management privileges can see it.
    • Asgothian
      Asgothian Developer @krodon last edited by Asgothian

      @krodon sagte in Im Script einen Sensor verlinken:

      Moin,

      ich greife über Aliase auf meine Sensoren zu. Die Idee finde ich auch gut, wenn ein Sensor ausgetauscht wird. Wenn ich aber ein Script für einen anderen Raum nutzen möchte, kopiere ich es. Dumm ist nur, dass ich im kompletten Script die Sensoren ändern muss. Gibt es eine Möglichkeit in dem Script einen Link zu erstellen, sodass nur dieser gendert werden muss?

      VG

      Krodon

      Latuernich 🙂

      in JS:

      const idStr = 'alias.0.channel.device.state'
      
      on ({id: idStr, change:ne}, ...
      

      in Blockly:
      Screenshot 2025-02-23 at 10.57.39.png

      A.
      Nachtrag: ObjektID in Blockly ist eine von mir so benannte Variable. Da darf auch Hugo, Horst oder Sensor stehen 🙂

      1 Reply Last reply Reply Quote 1
      • skvarel
        skvarel Developer last edited by skvarel

        Mit einer Variable ?! .. oder ich verstehe die Frage falsch.

        Du kannst am Anfang vom Script eine Variable setzen und sie im Script dann nutzen.

        Müsste es so nicht klappen?

        474e23e0-f592-48f0-85a8-e477bdb698dd-image.png

        @Asgothian seine Lösung ist wohl besser, weil da nicht auf den Wert sondern auf die ObjektID gegangen wird.

        Asgothian 1 Reply Last reply Reply Quote 0
        • Asgothian
          Asgothian Developer @skvarel last edited by

          @skvarel sagte in Im Script einen Sensor verlinken:

          Mit einer Variable ?! .. oder ich verstehe die Frage falsch.

          Du kannst am Anfang vom Script eine Variable setzen und sie im Script dann nutzen

          474e23e0-f592-48f0-85a8-e477bdb698dd-image.png

          Guter Ansatz, falscher Block 🙂 - so kann er zwar den Wert dynamisch setzen, nicht aber Trigger o.ä. dynamisch durch Austauschen eines Bausteins anpassen. Da besser den Objet ID Block nehmen, nicht den Wert von...

          skvarel 2 Replies Last reply Reply Quote 1
          • skvarel
            skvarel Developer @Asgothian last edited by

            @asgothian sagte in Im Script einen Sensor verlinken:

            @skvarel sagte in Im Script einen Sensor verlinken:

            Mit einer Variable ?! .. oder ich verstehe die Frage falsch.

            Du kannst am Anfang vom Script eine Variable setzen und sie im Script dann nutzen

            474e23e0-f592-48f0-85a8-e477bdb698dd-image.png

            Guter Ansatz, falscher Block 🙂 - so kann er zwar den Wert dynamisch setzen, nicht aber Trigger o.ä. dynamisch durch Austauschen eines Bausteins anpassen. Da besser den Objet ID Block nehmen, nicht den Wert von...

            .. Ich habe meinen Beitrag editiert. Du hast natürlich Recht!

            1 Reply Last reply Reply Quote 0
            • skvarel
              skvarel Developer @Asgothian last edited by

              @asgothian .. mache ich ja sogar mit der ObjektID bei meinen Heizungen

              af7099af-d2ef-4e7b-9d33-81b06819dab2-image.png .

              1 Reply Last reply Reply Quote 1
              • paul53
                paul53 @krodon last edited by paul53

                @krodon sagte: greife über Aliase auf meine Sensoren zu.

                Wie sieht die ID-Struktur unter "alias.0" aus?

                EDIT: In diesen beiden Blöcken (+ Trigger) kann man konstruierte ID-Strings verwenden:

                Blockly_temp.JPG

                Beispiel:

                Blockly_temp.JPG

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

                  @paul53 meine Aliase sehen so aus:
                  32b64788-63e2-47cc-b473-b70e53c45b27-grafik.png

                  Muss ich den "Link" in jedem Trigger in dem Script einbauen oder kann ich ihn "Global" einbauen? (Außerhalb von einem Trigger)

                  VG

                  Krodon

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

                    @krodon sagte: meine Aliase sehen so aus:

                    Etwas ungünstig, da der Raum zweimal in der ID vorhanden ist:
                    "alias.0.Bad.Licht.Licht_Bad.ON_ACTUAL"

                    @krodon sagte in Im Script einen Sensor verlinken:

                    Muss ich den "Link" in jedem Trigger in dem Script einbauen

                    Du musst die Skripte so aufbauen, dass nur Blöcke mit konstruierter ID verwendet werden. Dann muss nach dem Kopieren nur noch (ganz oben) der Raum geändert werden.

                    Blockly_temp.JPG

                    K 1 Reply Last reply Reply Quote 1
                    • K
                      krodon @paul53 last edited by

                      @paul53 said in Im Script einen Sensor verlinken:

                      "alias.0.Bad.Licht.Licht_Bad.ON_ACTUAL"

                      Hallo Paul,

                      "alias.0.Bad.Licht.Licht_Decke.ON_ACTUAL" wäre dann O.K?

                      Muss ich die oberen 2 Zeilen vor jeden Trigger setzen?

                      VG

                      Krodon

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

                        @krodon sagte: Muss ich die oberen 2 Zeilen vor jeden Trigger setzen?

                        Sie müssen nur einmal im Skript außerhalb von Triggern gesetzt werden, damit die Variablen beim Skriptstart initialisiert werden.

                        @krodon sagte in Im Script einen Sensor verlinken:

                        "alias.0.Bad.Licht.Licht_Decke.ON_ACTUAL" wäre dann O.K?

                        Ist besser, da der Raum nur einmal vorkommt:

                        Blockly_temp.JPG

                        K 2 Replies Last reply Reply Quote 0
                        • BananaJoe
                          BananaJoe Most Active last edited by

                          Du kannst überall wo Blockly die heller dargestellten Kästen zur Auswahl des Datenpunktes hat, auch ein Textfeld draufziehen - und damit auch Variablen und den Text darf man auchzusammenbauen:
                          ca17becd-c4ab-4606-b342-81302e93a907-image.png
                          1b3954ff-b46e-4111-af43-24bf7db8931d-image.png
                          Wenn ich den Echo austausche muss ich nur oben bei der Variablen den Stammpfad ändern.

                          Das war jetzt aus dem erstbesten Blockly was ich bei mir gefunden habe, das mach ich in quasi allen Skripten so, nicht nur Blockly.

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

                            @paul53 Danke für die schnellen Antworten, ich muss es erst mal verdauen 🙂

                            VG

                            Krodon

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

                              @paul53

                              Nun stehe ich auf dem Schlauch, wie steuere ich eine Variable?

                              2025-02-23 18_50_34-javascript - ioBroker – Mozilla Firefox.jpg

                              VG

                              Krodon

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

                                @krodon sagte: wie steuere ich eine Variable?

                                Mit dem Block "schreibe". Eigene Datenpunkte aktualisiert man.

                                Weshalb verwendest du nicht die Alias-DP?

                                K 2 Replies Last reply Reply Quote 0
                                • K
                                  krodon @paul53 last edited by

                                  @paul53 said in Im Script einen Sensor verlinken:

                                  Mit dem Block "schreibe". Eigene Datenpunkte aktualisiert man.
                                  Obwohl ich schon lange dabei bin, bin ich ein Anfänger, wie mache ich dies?

                                  Weshalb verwendest du nicht die Alias-DP?
                                  Ich habe es mir überlegt, ich bin mir nicht sicher, ob ich dies konsequent umsetzen kann. Ich werde dies berücksichtigen und habe es vor, später zu machen. Es sind dann ja nur Blöcke, die man einsetzen kann.

                                  VG

                                  Krodon

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

                                    @krodon sagte: wie mache ich dies?

                                    Blockly_temp.JPG

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

                                      @paul53
                                      Hallo Paul,

                                      ich habe Probleme den 2. Block bei mir zu finden. Ich bekomme nur diese angezeigt;
                                      50f2fc56-f55c-46a0-a75b-3025cbb785da-grafik.png

                                      Wo wird dieser Block dann eingefügt?

                                      VG

                                      Krodon

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

                                        @krodon sagte: ich habe Probleme den 2. Block bei mir zu finden.

                                        Das ist der gleiche Block wie der erste, aber per rechter Maustaste über dem Block auf "interne Eingänge" umgestellt.

                                        Blockly_temp.JPG

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

                                          @paul53 herzlichen Dank!

                                          Ich habe den Block nun erzeigt, kann ihn aber nicht unter 0_userdata.0 finden

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

                                            @krodon sagte: kann ihn aber nicht unter 0_userdata.0 finden

                                            Die ID-Variable enthält einen String, den du eingegeben hast. Der Datenpunkt muss natürlich bereits existieren.

                                            K 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            838
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            5
                                            25
                                            955
                                            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