Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Error/Bug
    4. Datenpunkte werden unter Skripten nicht aktualisiert

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    Datenpunkte werden unter Skripten nicht aktualisiert

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

      Hi,

      seit einigen Tagen oder auch Wochen sehe ich das Phänomen, das die Datenpunkte unter rpc zwar aktuell dargestellt werden, wenn ich jedoch den gleichen Datenpunkt in meinen Blockly Skripten anschaue, sind diese nicht aktuell. D.h. weder der Wert noch der Zeitstempel stimmen mit rpc überein.

      Es hilft kein Durchstarten der Instanzen, ich muss den Host bzw. js controller komplett neu starten. Dann habe ich zwar die Daten des Reboots aktuell drinstehen, der ändert sich jedoch nicht, wie gesagt unter Blockly…

      Das alles ist ziemlich lästig, da meine morgendliche Rolladenaktion nicht wirklich gut funktioniert..Ich muss dazu sagen,das ich den RPI morgens in aller Früh zwecks Memory Cleanup durchstarte.

      Hat einer eine Idee, was ich machen kann oder hat jemand das gleiche schon mal gehabt?

      Update: Versionen

      (latest repository)

      Admin 3.3.3

      npm 4.6.1

      js-controller 1.3.0

      node: v8.10.0

      1 Reply Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators last edited by

        @msauer:

        das die Datenpunkte unter rpc zwar aktuell dargestellt werden, wenn ich jedoch den gleichen Datenpunkt in meinen Blockly Skripten anschaue, sind diese nicht aktuell. D.h. weder der Wert noch der Zeitstempel stimmen mit rpc überein. `

        kann ich bestätigen - hatte mich auch schon einige unnötige Umprogrammierungen gekostet bis ich das bemerkte.

        Der Zustand in dem ID-Selektor entspricht nicht dem aktuellen Zustand.

        Gruß

        Rainer

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

          @Homoran:

          Der Zustand in dem ID-Selektor entspricht nicht dem aktuellen Zustand. `
          Entscheidend ist, dass der Zustand zur Laufzeit des Scripts stimmt, d.h. dass die Trigger richtig funktionieren. Nach meiner Erfahrung funktioniert das problemlos.

          1 Reply Last reply Reply Quote 0
          • Homoran
            Homoran Global Moderator Administrators last edited by

            Das kann ich ebenfalls bestätigen.

            Nur manchmal nutze ich den ID-Selektor auch um anhand des dort enhaltenen Wertes die Bedingung festzulegen.

            Jetzt muss ich immer zusätzlich noch in Objekten nachsehen.

            Gruß

            Rainer

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

              Dann sollte der Betreff des Themas angepasst werden, etwa "Zustände sind im ID-Selektor nicht aktuell" oder so ähnlich.

              1 Reply Last reply Reply Quote 0
              • M
                msauer last edited by

                Da liegt aber das Problem. Das Script wird nicht ausgeführt, obwohl nach dem Triggerwert es so sein müsste. Wert ist laut rpc >100, im blockly nur 13,was nach dem Reboots entspricht.

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

                  @msauer:

                  Das Script wird nicht ausgeführt, obwohl nach dem Triggerwert es so sein müsste. `
                  Das wird dann wohl an dem Script liegen ? Poste mal einen Screen shot davon oder den Javascript-Code ("Zeige Javascript" ohne die letzte Zeile in Code tags).

                  1 Reply Last reply Reply Quote 0
                  • M
                    msauer last edited by

                    Hier das Script….

                    ! on({id: "hm-rpc.0.LEQ0987093.1.BRIGHTNESS"/Garten_BM:1.BRIGHTNESS/, change: "ne"}, function (obj) {
                    ! var value = obj.state.val;
                    ! var oldValue = obj.oldState.val;
                    ! if (compareTime('06:59', null, ">", null) && compareTime('09:00', null, "<", null)) {
                    ! if (getState("admin.0.Systemwide_Var.G_VAR_RolladenOben").val == false) {
                    ! if (getState("admin.0.Systemwide_Var.G_VAR_Arbeitstag").val == true) {
                    ! if (getState("hm-rpc.0.LEQ0987093.1.BRIGHTNESS").val >= 100) {
                    ! setState("hm-rpc.0.NEQ1535061.1.LEVEL"/Kueche_Rolladen:1.LEVEL/, 100);
                    ! setState("hm-rpc.0.LEQ0765834.1.LEVEL"/Schlafzimmer_Fenster_Rolladen:1.LEVEL/, 25);
                    ! setState("hm-rpc.0.LEQ0765937.1.LEVEL"/Schlafzimmer_Tuer_Rolladen:1.LEVEL/, 25);
                    ! setState("hm-rpc.0.LEQ0765832.1.LEVEL"/Buero_Rolladen:1.LEVEL/, 100);
                    ! setState("admin.0.Systemwide_Var.G_VAR_RolladenOben"/G_VAR_RolladenOben/, true);
                    ! setStateDelayed("hm-rpc.0.LEQ0765834.1.LEVEL"/Schlafzimmer_Fenster_Rolladen:1.LEVEL/, 100, 900000, true);
                    ! setStateDelayed("hm-rpc.0.LEQ0765937.1.LEVEL"/Schlafzimmer_Tuer_Rolladen:1.LEVEL/, 100, 900000, true);
                    ! }
                    ! } else {
                    ! if (compareTime('08:00', null, ">", null)) {
                    ! if (getState("hm-rpc.0.LEQ0987093.1.BRIGHTNESS").val >= 100) {
                    ! setState("hm-rpc.0.NEQ1535061.1.LEVEL"/Kueche_Rolladen:1.LEVEL/, 100);
                    ! setState("hm-rpc.0.LEQ0765834.1.LEVEL"/Schlafzimmer_Fenster_Rolladen:1.LEVEL/, 25);
                    ! setState("hm-rpc.0.LEQ0765937.1.LEVEL"/Schlafzimmer_Tuer_Rolladen:1.LEVEL/, 25);
                    ! setState("hm-rpc.0.LEQ0765832.1.LEVEL"/Buero_Rolladen:1.LEVEL/, 100);
                    ! setState("admin.0.Systemwide_Var.G_VAR_RolladenOben"/G_VAR_RolladenOben/, true);
                    ! setStateDelayed("hm-rpc.0.LEQ0765834.1.LEVEL"/Schlafzimmer_Fenster_Rolladen:1.LEVEL/, 100, 900000, true);
                    ! setStateDelayed("hm-rpc.0.LEQ0765937.1.LEVEL"/Schlafzimmer_Tuer_Rolladen:1.LEVEL/, 100, 900000, true);
                    ! }
                    ! }
                    ! }
                    ! }
                    ! }
                    ! });

                    1 Reply Last reply Reply Quote 0
                    • Homoran
                      Homoran Global Moderator Administrators last edited by

                      womit vergleichst du denn die Zeit?

                      Da steht "null"

                      ich gehe mal davon aus, dass dann der Vergleich auch nicht klappen kann.

                      Gruß

                      Rainer

                      1 Reply Last reply Reply Quote 0
                      • R
                        RappiRN Most Active last edited by

                        Du kannst natürlich auch mal einen Screenshot vom Blockly selbst einstellen, dann können auch die mit"lesen", die kein "normales" Javascript lesen können. 😉

                        Enrico

                        1 Reply Last reply Reply Quote 0
                        • M
                          msauer last edited by

                          Hier das Bild vom Blockly script…
                          4528_blockly.jpg

                          1 Reply Last reply Reply Quote 0
                          • R
                            RappiRN Most Active last edited by

                            Für den ersten Zeitvergleich kannst du den Block auf "zwischen" umstellen, damit sollte der erste Vergleich funktionieren. Ob es beim Zeitvergleich funktioniert mit "größer" oder "kleiner" als zu arbeiten weiß ich nicht genau.

                            Was mir noch so auffällt, ist, dass du deine "falls"-Bedingungen sehr weit verschachtelt hast, da könntest du doch auch mit "und" arbeiten. Dann hast du hinter einem "sonst" wieder eine weitere "falls"-Bedingung, da kannst du doch schon mit "sonst falls" arbeiten.

                            Enrico

                            1 Reply Last reply Reply Quote 0
                            • M
                              msauer last edited by

                              Danke für die Anregungen…

                              Habs mal komplett umgebaut...

                              Mals sehn ob es auch so funktioniert..

                              ABER, ich denke das es auch so nicht funktioniert. Ich habe eher den Eindruck, das bei der Übergabe in die Javascript Instanz die States bzw. Werte nicht korrekt bzw. nicht in "Echtzeit" übergeben werden.
                              4528_blockly_neu.jpg

                              1 Reply Last reply Reply Quote 0
                              • R
                                RappiRN Most Active last edited by

                                Das sieht so schon viel übersichtlicher aus. 🙂

                                Noch besser wird es, wenn du mal beim ersten "und"-Block mit Rechtsklick raufgehst und "externe" Eingänge anklickst. Dann kannst du das "und" verschachteln bis alle vier ersten Bedingungen in einem(bzw mehreren" "und" zusammen sind. Und dann nur eine "falls" Bedingung mit "sonst falls".

                                Ich hoffe, du verstehst, was ich meine. Sonst stell doch einen Export von dem Blockly ein, dann kann ich das mal so machen, wie ich das meine.

                                Enrico

                                1 Reply Last reply Reply Quote 0
                                • M
                                  msauer last edited by

                                  So, Script hatte ich gestern noch weiter umgebaut… heute morgen lief es dann auch tatsächlich.

                                  Ich habe noch die "Arbeitstag" Berechnung (interne iobroker Variable) auf nach dem Reboot gesetzt um evtl. falschen Werten nach dem Reboot zu entgegnen. Diese lief vorher um 1:00 Nachts, also vor dem Reboot.

                                  Ich werde es beobachten, nächstes Mal am Montag.

                                  Dennoch möchte ich den Einstieg wieder bei dem ursprünglichen Problem finden. Die Werte eines Datenpunkts werden nach wie vor in den Scripten falsch (die Uhrzeit ist auch different) angezeigt. Wie jetzt gerade wieder. Siehe Bilder. Erstes ist direkt aus dem RPC, das zweite aus Blockly.
                                  4528_rpc.jpg
                                  4528_script.jpg
                                  4528_script.jpg

                                  1 Reply Last reply Reply Quote 0
                                  • R
                                    RappiRN Most Active last edited by

                                    Ich kann das auch nur bestätigen, bei mir, jedenfalls bei dem einen angesehenen Objekt, ist der Zeitstempel bei der ID-Auswahl beim Scripten sogar schon mehrere Tage (4!) alt.

                                    Enrico

                                    1 Reply Last reply Reply Quote 0
                                    • Homoran
                                      Homoran Global Moderator Administrators last edited by

                                      @msauer:

                                      Die Werte eines Datenpunkts werden nach wie vor in den Scripten falsch (die Uhrzeit ist auch different) angezeigt. `
                                      Das meinst du nicht 😉 Oder?

                                      @RappiRN:

                                      jedenfalls bei dem einen angesehenen Objekt, ist der Zeitstempel bei der ID-Auswahl beim Scripten sogar schon mehrere Tage (4!) alt. `
                                      ich habe den Eindruck (bei mir z.B. Harmony) dass der Timestamp und Wert aus dem ersten Start des Adapters herrührt. Nach einem reboot der Instanz war alles aktuell und ist es heut e noch (auf dem Stand von dem Reboot)

                                      Gruß

                                      Rainer

                                      1 Reply Last reply Reply Quote 0
                                      • M
                                        msauer last edited by

                                        Genau das meine ich…

                                        Gesendet von meinem S9 Plus mit Tapatalk

                                        1 Reply Last reply Reply Quote 0
                                        • Homoran
                                          Homoran Global Moderator Administrators last edited by

                                          @msauer:

                                          Genau das meine ich… `
                                          Was?

                                          Dass die Werte in den Skripten nicht ok sind?

                                          oder eher dass die Werte in der ID-Selector-Box nicht ok sind?

                                          Gruß

                                          Rainer

                                          1 Reply Last reply Reply Quote 0
                                          • R
                                            RappiRN Most Active last edited by

                                            Könnte es sein, dass es mit dem Admin-Adapter zusammenhängt? Der war der Einzige, den ich eben aktualisiert habe und nun ist der Timestamp von heute, vor etwas mehr als ner halben Stunde, wo ich nur den Admin hochgesetzt habe!?

                                            Enrico

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            675
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            5
                                            28
                                            2946
                                            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