Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Warnung unterdrücken

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Warnung unterdrücken

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

      Hallo zusammen,

      ich bin gerade dabei ein Skript zu scrheiben, dass meine Instanzen überwacht.

      Es kann ja immer mal sein, dass eine Instanz komplett deaktiviert ist.

      Auch damit soll das Skript umgehen können.

      Leider bekomme ich in dem Fall immer eine Warnung.

      Ich suche mir alle Adapter über

      $('[id=system.adapter.*.alive]');
      

      Danach filtere ich noch VIS.0 heraus, da VIS.0 bei mir keinen DP alive hat.

      Der Fehler sieht so aus

      javascript.1	2023-01-04 07:29:00.013	warn	at processTimers (node:internal/timers:502:7)
      javascript.1	2023-01-04 07:29:00.013	warn	at listOnTimeout (node:internal/timers:559:17)
      javascript.1	2023-01-04 07:29:00.013	warn	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/Invocation.js:228:7)
      javascript.1	2023-01-04 07:29:00.013	warn	at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/Invocation.js:268:28
      javascript.1	2023-01-04 07:29:00.013	warn	at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/Job.js:171:15)
      javascript.1	2023-01-04 07:29:00.013	warn	at Job.job (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1595:34)
      javascript.1	2023-01-04 07:29:00.013	warn	at Object.abfrage (script.js.java.abfragen.adapter_infos_neu:37:16)
      javascript.1	2023-01-04 07:29:00.013	warn	at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:915:29)
      javascript.1	2023-01-04 07:29:00.013	warn	at script.js.java.abfragen.adapter_infos_neu:123:20
      javascript.1	2023-01-04 07:29:00.013	warn	getState "system.adapter.logparser.0.alive" not found (3) states[id]=null
      

      Um die Warnung zu unterdrücken habe ich es bereits mit

      if(getState("system.adapter." + instanz_name + ".alive").val) {...
      

      versucht. Leider kommt die Warnung danach weiterhin.

      Ansonsten läuft das Skript danach aber korrekt weiter und setzte den Status der Instanz auf 0 -> 0 = deaktiviert

      Glasfaser 1 Reply Last reply Reply Quote 0
      • Glasfaser
        Glasfaser @Kuddel last edited by

        @kuddel sagte in Warnung unterdrücken:

        Leider bekomme ich in dem Fall immer eine Warnung.

        laut deinem Log :

        getState "system.adapter.logparser.0.alive" not found

        hast du den überprüft , gibt es den !?

        K 1 Reply Last reply Reply Quote 0
        • K
          Kuddel @Glasfaser last edited by

          @glasfaser ja den DP gibt es.

          Die Instanz ist aktuell aus und der DP sieht dann so aus

          121118eb-3714-40bf-8e16-4e8e4f99b3b8-grafik.png

          Glasfaser 1 Reply Last reply Reply Quote 0
          • Glasfaser
            Glasfaser @Kuddel last edited by Glasfaser

            @kuddel sagte in Warnung unterdrücken:

            Die Instanz ist aktuell aus und der DP sieht dann so aus

            der ist aber nicht beschrieben ... hat den Wert (null)

            false oder true sollte seine , deshalb hast du auch die Fehlermeldung !

            K 1 Reply Last reply Reply Quote 0
            • K
              Kuddel @Glasfaser last edited by Kuddel

              @glasfaser zum testen bin ich in meiner Testumgebung unterwegs, wo die meisten Instanzen deaktiviert sind.

              Diesen Fehler mit "null" haben komischerweise nicht alle Instanzen:

              18fcc047-8376-4e47-9d96-88ae032b8a20-grafik.png

              EDIT:

              Ich habe alle fehlerhaften Instanzen kurz gestartet und wieder gestoppt.

              Jetzt steht der DP auf false.

              cash Glasfaser B 3 Replies Last reply Reply Quote 0
              • cash
                cash Most Active @Kuddel last edited by

                @kuddel existsState(Datenpunkt) ? getState(id_Rollo).val : "tja weiß nicht was dort hinsoll z. B." false?

                1 Reply Last reply Reply Quote 0
                • Glasfaser
                  Glasfaser @Kuddel last edited by

                  @kuddel sagte in Warnung unterdrücken:

                  EDIT:
                  Ich habe alle fehlerhaften Instanzen kurz gestartet und wieder gestoppt.
                  Jetzt steht der DP auf false.

                  Ich war auch gerade am suchen was sein kann ,, hat mich sehr gewundert bei dir .

                  Dann müßte es doch jetzt gehen

                  1 Reply Last reply Reply Quote 0
                  • K
                    Kuddel last edited by

                    @glasfaser jap, jetzt läuft das Skript fehlerfrei.

                    Eine frage habe ich noch.

                    Ich habe das Skript in einer Funktion laufen um mehrere Trigger verwenden zu können.

                    function abfrage(obj) {...
                    

                    Leider startet das Skript nicht beim Speichern.

                    //Trigger definieren
                     schedule("* * * * *", abfrage);
                     on({ id: "0_userdata.0.instanz-infos.Sortierung" }, abfrage);
                     $('system.adapter.*.alive').on(abfrage);
                     $('system.adapter.*.connected').on(abfrage);
                     abfrage
                    
                    Glasfaser 1 Reply Last reply Reply Quote 0
                    • Glasfaser
                      Glasfaser @Kuddel last edited by

                      @kuddel sagte in Warnung unterdrücken:

                      Leider startet das Skript nicht beim Speichern.

                      Meinst du einmalig beim JS Start die Function starten ,

                      abfrage();
                      
                      K 1 Reply Last reply Reply Quote 0
                      • B
                        bommel_030 @Kuddel last edited by

                        @kuddel
                        Und wenn du deinen IoBroker rebootest wird da vermutlich wieder "null" stehen, oder?
                        Kannst du noch nachvollziehen welche Probleme gemacht haben? Ggf. sollte ein "def": false im Datenpunkt das dauerhaft lösen.

                        cash 1 Reply Last reply Reply Quote 0
                        • K
                          Kuddel @Glasfaser last edited by

                          @glasfaser sagte in Warnung unterdrücken:

                          @kuddel sagte in Warnung unterdrücken:

                          Leider startet das Skript nicht beim Speichern.

                          Meinst du einmalig beim JS Start die Function starten ,

                          abfrage();
                          

                          Ja genau. Das wars.

                          Super, danke dir

                          1 Reply Last reply Reply Quote 1
                          • cash
                            cash Most Active @bommel_030 last edited by

                            @bommel_030 das kann man elegant umgehen wenn man mit "existsState(Datenpunkt) ?" abfragt. Ich würde auch abraten in den Definitionen von Adaptern etwas zu ändern...

                            B 1 Reply Last reply Reply Quote 0
                            • B
                              bommel_030 @cash last edited by

                              @cash
                              Sorry, das war etwas unrein geschrieben. War nicht als Aufforderung gedacht etwas zu ändern, eher als Frage.
                              Ich meine es macht grundsätzlich Sinn einen Datenpunkt der "alive" heißt mit der Definition false zu belegen um nach einem Reboot kein "null" zu haben. Ich sehe zumindest keinen Vorteil ein "null" zuhaben.

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

                                @bommel_030 sagte in Warnung unterdrücken:

                                Ich sehe zumindest keinen Vorteil ein "null" zuhaben

                                Der Entwickler möglicherweise schon. Er hat dadurch einen "Tripple-State": Null, False und True. Er könnte z.B. mit dem "Null" feststellen, ob sein Adapter schon einmal gestartet wurde ... falls er das für irgendwas braucht.

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

                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                837
                                Online

                                31.8k
                                Users

                                80.0k
                                Topics

                                1.3m
                                Posts

                                5
                                14
                                350
                                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