Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. 1 DP von mehreren wird nicht aktualisiert [gelöst]

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    1 DP von mehreren wird nicht aktualisiert [gelöst]

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

      Hallo zusammen,

      bei mir läuft das folgende Script:

      screeni.png

      Alles läuft soweit, wie ich mir das vorstelle, nur der Wert "...makerspace_anwesend" wird nicht aktualisiert. (alle anderen Werte / Objekte werden erwartungsgemäß aktualisiert)

      Hat jemand einen Hinweis für mich, warum das nicht funktioniert?

      Danke & VG

      A Codierknecht paul53 devdracon 4 Replies Last reply Reply Quote 0
      • A
        Ahnungsbefreit @devdracon last edited by

        @devdracon Schau mal auf den Datentyp von diesem Datenpunkt, vielleicht falscher Typ?

        devdracon 1 Reply Last reply Reply Quote 0
        • devdracon
          devdracon @Ahnungsbefreit last edited by

          @ahnungsbefreit hab ich nochmal geprüft; ist korrekt: Boolean

          1 Reply Last reply Reply Quote 0
          • Codierknecht
            Codierknecht Developer Most Active @devdracon last edited by Codierknecht

            @devdracon
            "Sonst-Falls" wird nur ausgeführt, wenn "handy_christian_arbeitszimmer_entfernung" größer oder gleich 2 ist.

            EDIT:
            Mach da 2 separate Blöcke draus.
            Falls Entfernung < 2 ==> wahr - sonst ==> falsch

            Was mir noch aufgefallen ist:
            Ist die Entfernung grundsätzlich ein string? Oder vielleicht doch eher eine Zahl?
            Außerdem würde ich da nicht den DP abfragen, sondern die bereits vorhandene und gesetzte Variable verwenden. Spart Ressourcen.

            devdracon A 2 Replies Last reply Reply Quote 1
            • devdracon
              devdracon @Codierknecht last edited by devdracon

              @codierknecht Danke. Ich habe den Bedingung, wann "sonst-falls" ausgeführt falsch interpretiert.

              Entfernung ist eine Zahl.

              1 Reply Last reply Reply Quote 0
              • A
                Ahnungsbefreit @Codierknecht last edited by

                @codierknecht said in 1 DP von mehreren wird nicht aktualisiert:

                Ist die Entfernung grundsätzlich ein string? Oder vielleicht doch eher eine Zahl?

                @devdracon Genau den Gedanken hatte ich auch eben. Die Abfrage auf "kleiner" funktioniert nur wie gedacht, wenn das eine Zahl ist

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

                  @devdracon sagte: warum das nicht funktioniert?

                  • Wert kann nur bei Einzel-Trigger verwendet werden.
                  • Man kann keinen Datenpunkt einlesen unmittelbar nachdem er geschrieben wurde (asynchrone Abarbeitung von "aktualisiere")

                  Besser mit zwei getrennten Triggern:

                  Bild_2022-12-07_120049504.png

                  Codierknecht 1 Reply Last reply Reply Quote 1
                  • devdracon
                    devdracon @devdracon last edited by devdracon

                    so funktioniert das jetzt, wie es soll:

                    das nachfolgende Blockly ist falsch, nachfolgende Posts beachten!

                    Bildschirm­foto 2022-12-07 um 12.12.34.png

                    Danke an alle die sich beteiligt haben!

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

                      @devdracon sagte: so funktioniert das jetzt, wie es soll

                      Nein, die beiden Variablen enthalten stets den identischen Wert!
                      Außerdem wird ein Objekt mit einem String verglichen.

                      devdracon 1 Reply Last reply Reply Quote 0
                      • Codierknecht
                        Codierknecht Developer Most Active @paul53 last edited by

                        @paul53 sagte in 1 DP von mehreren wird nicht aktualisiert:

                        Wert kann nur bei Einzel-Trigger verwendet werden.

                        Sicher?
                        Die einzelnen Objekte werden doch nur für das Abonnieren des Events benötigt.
                        Bei Auslösung ist obj vorhanden - und das ist das jeweils auslösende Objekt, für das auch der Wert ermittelt werden kann.

                        on({id: [].concat(['0_userdata.0.xxx']).concat(['0_userdata.0.Anwesenheit.yyy']), change: "ne"}, async function (obj) {
                        });
                        

                        Funktioniert bei mir jedenfalls bisher einwandfrei 😉

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

                          @codierknecht sagte: Sicher?

                          Ja, zumindest dann, wenn der Wert des Trigger-Datenpunktes zu weiteren Berechnungen verwendet wird. Man kann nicht unterscheiden, von welchem Datenpunkt Wert kommt.

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

                            @paul53 kannst du das näher erläutern? ich sehe den fehler nicht

                            paul53 Codierknecht 2 Replies Last reply Reply Quote 0
                            • paul53
                              paul53 @devdracon last edited by paul53

                              @devdracon sagte: kannst du das näher erläutern?

                              Habe ich bereits:

                              @paul53 sagte in 1 DP von mehreren wird nicht aktualisiert [gelöst]:

                              die beiden Variablen enthalten stets den identischen Wert!

                              Es wird nicht unterschieden, von welchem Datenpunkt Wert stammt. Oder anders: Die Variable Wert wird mit identischem Wert auf zwei Variablen aufgeteilt.

                              Codierknecht devdracon 2 Replies Last reply Reply Quote 0
                              • Codierknecht
                                Codierknecht Developer Most Active @paul53 last edited by

                                @paul53
                                Ich habe da mal was zusammengeklöppelt.
                                Je nachdem welches Objekt verändert wird, erhalte ich schon den korrekten Wert.
                                Was nicht geht, ist das Ermitteln des Gerätenamens usw.

                                639473af-23e6-4872-b689-d8a7cc50e54f-image.png

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

                                  @paul53 verstehe. ich habe mir den inhalt der Variablen in ein debug schreiben lassen - du hast recht. wie würde ich das korrekt ändern müssen?

                                  s.u. ,denke ich. Post war nahezu zeitgleich

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

                                    @codierknecht sagte: Je nachdem welches Objekt verändert wird, erhalte ich schon den korrekten Wert.

                                    Ja, aber man weiß nicht, zu wem er gehört, es sein denn, man wertet zusätzlich die ID aus, etwa so:

                                    Bild_2022-12-07_123142350.png

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

                                      @devdracon sagte: wie würde ich das korrekt ändern müssen?

                                      Wie hier gezeigt.

                                      1 Reply Last reply Reply Quote 0
                                      • Codierknecht
                                        Codierknecht Developer Most Active @devdracon last edited by

                                        @devdracon
                                        Mach das was @paul53 vorgeschlagen hat: Verwende für jedes Deiner 2 Objekte einen separaten Trigger.
                                        Du triggerst auf 2 Objekte und musst die in der Ereignisbehandlung wieder unterscheiden.
                                        Das wird extrem unübersichtlich!

                                        08c2cddf-56b1-4671-96b8-4f9fb01b2beb-image.png

                                        1 Reply Last reply Reply Quote 0
                                        • Codierknecht
                                          Codierknecht Developer Most Active @paul53 last edited by

                                          @paul53 sagte in 1 DP von mehreren wird nicht aktualisiert [gelöst]:

                                          Ja, aber man weiß nicht, zu wem er gehört ...

                                          Das ist natürlich korrekt.
                                          Dann habe ich Dich lediglich falsch verstanden.

                                          es sein denn, man wertet zusätzlich die ID aus, etwa so

                                          Und das ist wieder unnötiger Aufwand.

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

                                            @codierknecht sagte: Und das ist wieder unnötiger Aufwand.

                                            Deshalb besser zwei getrennte Trigger.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            841
                                            Online

                                            32.0k
                                            Users

                                            80.5k
                                            Topics

                                            1.3m
                                            Posts

                                            4
                                            23
                                            494
                                            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