Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Script wertet nicht den aktuellen Wert eines Objektes aus

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    17
    1
    625

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    5.6k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.5k

Script wertet nicht den aktuellen Wert eines Objektes aus

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
11 Beiträge 4 Kommentatoren 1.1k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • H Offline
    H Offline
    hmanfred
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen,

    ich habe mit Blockly einen "Störungsindikator" programmiert. Das Script fragt regelmäßig den Status kritischer Komponenten ab und setzt dann - je nach Ergebnis - ein Objekt "Fehler_kritisch" auf wahr oder unwahr.

    Dieses Objekt steht regelmäßig Sonntagmorgends (dazu gleich mehr) auf wahr, obwohl alle abgefragten Objekte laut Reiter "Objekte" in ioBroker keinen Fehler aufweisen.

    Ich habe das Script dann sukzessive abgespeckt, bis ich den Übeltäter gefunden habe:

    hm-rpc.2.info.connection steht auf "true", das Script wertet es aber als "false" aus:
    1599_clipboard01.jpg
    Das habe ich mit Gegenprobe (true/false im Ergebnis getauscht) mehrfach gecheckt. Das Script tut tatsächlich so, als ob hm-rpc.2.info.connection auf false stünde. Das Objekt ist aber eindeutig auf true - es wird auf einem Technik-View in VIS einzeln dargestellt und ist dort, wie auch unter Objekte in ioBroker i.o.

    Nach Neustart des Javascript Adapters ist das Ergebnis des Scripts wieder in Ordnung, der Fehlerindikator wird also wieder mit false befüllt.

    Es sieht so aus, als ob der Javascript Adapter nicht den aktuellen Wert des Objekts prüft, sondern einen zwischengespeicherten?

    Was passiert Sonntags?:

    Ich sichere, neben einem täglichen Backup, in der Nacht von Samstag auf Sonntag ein Image der SD-Kate des Raspi auf mein NAS. Dazu stoppe ich ioBroker, schreibe das Image und starte ioBroker wieder. Hier ein Auszug aus dem Script:

    ...
    # Stoppe Dienste vor Backup
    iobroker stop
    
    # Backup mit Hilfe von dd erstellen und im angegebenen Pfad speichern
    dd if=/dev/mmcblk0 of=${BACKUP_PFAD}/${FILE_NAME} bs=1MB
    
    # Starte Dienste nach Backup
    iobroker start
    ...
    

    Im Kern stellt sich folgende Frage:

    Wie kann es sein, dass alle Adapter scheinbar fehlerfrei laufen und Javascript dennoch nicht den aktuellen Wert eines Objektes auswertet?

    Noch ein Hinweis zur Ermittlung der Ursache: ich meine mich zu erinnern, dass am vergangenen Sonntag das Problem nach einem Neustart des HM-RPC Adpaters beseitigt war.

    Gruß

    Manfred

    1 Antwort Letzte Antwort
    0
    • apollon77A Offline
      apollon77A Offline
      apollon77
      schrieb am zuletzt editiert von
      #2

      Bau doch mal eine log Ausgabe vor der Bedingung ein die den Wert der ccu Connection ausgibt. Dann. Siehst du potentiell mehr.

      Ein weiterer top ist das nicht über einen Zeitplan zu machen sondern Über einen Trigger der genau auf den Connection Datenpunkt reagiert und dann setzt. Das muss ja nicht minütlich laufen.

      Wenn du es so machst musst du nur such beim Skripte Start das einmalig korrekt setzen.

      Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

      • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
      • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
      1 Antwort Letzte Antwort
      0
      • H Offline
        H Offline
        hmanfred
        schrieb am zuletzt editiert von
        #3

        Danke für die Tipps.

        Ich habe nun in das Script einen Debug-Output mit dem Wert des betreffenden Objektes eingefügt.

        Was das Triggern betrifft, ist es etwas komplexer: im eigentlichen Script werden 16 Datenpunkte abgefragt, die auch noch verschiedene Werte haben (z.B. Duty-Cycle ist erst kritisch > 50). Auf die alle zu triggern ist mit Javascript/Blockly etwas komplex. :-(

        Aber mit der oben beschriebenen Ergänzung erfahre ich beim nächsten Mal wenigstens, welcher Wert im Script verarbeitet wird. Wobe ich mir sicher bin, dass es ein false ist, obwohl im Objekte-Reiter true steht.

        Ich bin dann erst mal ein paar Tage abwesend. Deshalb werde ich den nächsten Zeitpunkt (wenn es denn wirklich immer wie beschrieben Sonntags ist) nicht sehen können. Also nicht wundern, wenn ich in diesem Thread erst mal nicht weiter aktiv bin.

        1 Antwort Letzte Antwort
        0
        • apollon77A Offline
          apollon77A Offline
          apollon77
          schrieb am zuletzt editiert von
          #4

          Wie sieht die konfig vom JavaScript Adapter aus? Screenshot bitte

          Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

          • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
          • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
          1 Antwort Letzte Antwort
          0
          • H Offline
            H Offline
            hmanfred
            schrieb am zuletzt editiert von
            #5

            Voilá:
            1599_clipboard01.jpg

            Könnte es der Schalter "Nicht alle Zustände beim Start abonnieren" sein :?:

            1 Antwort Letzte Antwort
            0
            • apollon77A Offline
              apollon77A Offline
              apollon77
              schrieb am zuletzt editiert von
              #6

              Der ist genau so wie er keine Probleme macht. Das war eine Vermutung die sich damit nicht bewahrheitet hat.

              Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

              • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
              • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
              1 Antwort Letzte Antwort
              0
              • rantanplanR Offline
                rantanplanR Offline
                rantanplan
                schrieb am zuletzt editiert von
                #7

                @apollon77:

                Der ist genau so wie er keine Probleme macht. Das war eine Vermutung die sich damit nicht bewahrheitet hat. `
                Kannst Du bitte mal erläutern mit welchen Einstellungen er Probleme macht?

                Rantanplan

                CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                1 Antwort Letzte Antwort
                0
                • DutchmanD Offline
                  DutchmanD Offline
                  Dutchman
                  Developer Most Active Administrators
                  schrieb am zuletzt editiert von
                  #8

                  @hmanfred:

                  Was das Triggern betrifft, ist es etwas komplexer: im eigentlichen Script werden 16 Datenpunkte abgefragt, die auch noch verschiedene Werte haben (z.B. Duty-Cycle ist erst kritisch > 50). Auf die alle zu triggern ist mit Javascript/Blockly etwas komplex. :-( `

                  Warum? Es gibt ja den Trigger Block wo man mehrere objecten eingeben kann die das Script bei Änderung ausführen sollen?

                  –-----------------------

                  Send from mobile device

                  Das schöne ios hat Auto Korrektur zum k****

                  Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community

                  1 Antwort Letzte Antwort
                  0
                  • apollon77A Offline
                    apollon77A Offline
                    apollon77
                    schrieb am zuletzt editiert von
                    #9

                    @rantanplan:

                    @apollon77:

                    Der ist genau so wie er keine Probleme macht. Das war eine Vermutung die sich damit nicht bewahrheitet hat. Kannst Du bitte mal erläutern mit welchen Einstellungen er Probleme macht?
                    Man muss dann anders programmieren und nicht kompatibel mit blockly wie ich denke.

                    https://github.com/ioBroker/ioBroker.ja ... s-on-start

                    Aber hier nicht relevant.

                    Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                    • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                    • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                    1 Antwort Letzte Antwort
                    0
                    • H Offline
                      H Offline
                      hmanfred
                      schrieb am zuletzt editiert von
                      #10

                      @Dutchman:

                      Warum? Es gibt ja den Trigger Block wo man mehrere objecten eingeben kann die das Script bei Änderung ausführen sollen? `

                      Hallo Dutchman,

                      wie schon geschrieben sind es ja 16 Objekte, die ich abfrage. Die haben sehr verschiedene Stati - Bool, Werteliste, Zahl etc.

                      Wahr, unwahr, größer, kleiner etc. fallen da also als Trigger aus. Bleibt nur "wurde geändert" (oder, schlechter, wurde aktualisiert).

                      Nun gibt es aber Objekte, die sich sehr oft ändern. Im Ergebnis würde möglicherweise sogar öfter getriggert, als mit dem Cron.

                      Okay, ich könnte mehrere Scripte daraus machen - je Art des Objektes eines.

                      Aber: im Kern geht es hier doch darum, dass im Script offensichtlich ein anderer Zustand verarbeitet wird, als der tatsächlich (laut Objekte-Reiter und laut aktueller Funktion des Gewerks) vorhandene. Das Problem durch Umprogrammierung zu "lösen" würde doch allenfalls die Symptome reduzieren und nicht die Ursache. Außerdem: Wenn der Trigger dann, z.B. durch Änderung des DutyCycle, ausgelöst wird, schlägt der Fehler im anderen Objekt doch wieder zu.

                      Gruß

                      Manfred

                      1 Antwort Letzte Antwort
                      0
                      • H Offline
                        H Offline
                        hmanfred
                        schrieb am zuletzt editiert von
                        #11

                        @apollon77:

                        Bau doch mal eine log Ausgabe vor der Bedingung ein die den Wert der ccu Connection ausgibt. Dann. Siehst du potentiell mehr. `

                        Aus dem Urlaub zurück und erwartungsgemäß steht das Problem wieder an.

                        Obigen Tipp habe ich befolgt. Ergebnis:

                        • Logeintrag des Scriptes: hm-rpc.2.info.connection: false

                        In der Übersicht der Objekte im Admin: hm-rpc.2.info.connection: true

                        Und nun?

                        1 Antwort Letzte Antwort
                        0
                        Antworten
                        • In einem neuen Thema antworten
                        Anmelden zum Antworten
                        • Älteste zuerst
                        • Neuste zuerst
                        • Meiste Stimmen


                        Support us

                        ioBroker
                        Community Adapters
                        Donate
                        FAQ Cloud / IOT
                        HowTo: Node.js-Update
                        HowTo: Backup/Restore
                        Downloads
                        BLOG

                        477

                        Online

                        32.7k

                        Benutzer

                        82.6k

                        Themen

                        1.3m

                        Beiträge
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                        ioBroker Community 2014-2025
                        logo
                        • Anmelden

                        • Du hast noch kein Konto? Registrieren

                        • Anmelden oder registrieren, um zu suchen
                        • Erster Beitrag
                          Letzter Beitrag
                        0
                        • Home
                        • Aktuell
                        • Tags
                        • Ungelesen 0
                        • Kategorien
                        • Unreplied
                        • Beliebt
                        • GitHub
                        • Docu
                        • Hilfe