Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. JavaScript 8.3.0 - Log-Trigger, File-Events und Warnungen

    NEWS

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    JavaScript 8.3.0 - Log-Trigger, File-Events und Warnungen

    This topic has been deleted. Only users with topic management privileges can see it.
    • haus-automatisierung
      haus-automatisierung Developer Most Active last edited by haus-automatisierung

      Aktuelle Test Version 8.3.0
      Veröffentlichungsdatum 09.05.2024
      Github Link https://github.com/ioBroker/ioBroker.javascript/releases/tag/v8.3.0

      Auch in dieser Version gibt es wieder viele neue Blöcke, Bugfixes und Features. Das wichtigste zuerst:

      Besten Dank an alle Teilnehmer des ioBroker-Master-Kurses. Ihr habt die vielen Stunden Entwicklung und Support (wie immer) finanziert. Natürlich werden die neuen Bausteine und Feature auch im Kurs ausführlich gezeigt und erklärt.

      Blockly-Trigger für Logs

      Das Thema ist in JavaScript nicht neu. Es gab nur keine Blockly-Bausteine dafür. Also habe ich diese nun nachgereicht.

      Damit kann man einen Trigger auf Log-Meldungen registrieren und ein Log-Level vorgeben. Das heißt, dass man z.B. alle Meldungen vom Level error bekommen kann und dann z.B. prüfen, welche Instanz (Quelle) die Meldung ausgelöst hat.

      Screenshot 2024-05-10 at 09.32.22.png

      Blockly File-Events (Temporärer Dateipfad)

      Das Datei-Thema kommt ja hier immer wieder auf - und viele schreiben und lesen direkt aus /opt/iobroker/iobroker-data/files/. Das man das nicht tun sollte und dafür IMMER die ioBroker-Funktionen nutzen sollte, habe ich ja mittlerweile rauf und runter erklärt.

      Wenn man als Datenbank nicht jsonl sondern redis nutzt, dann liegen die Dateien ja nichtmal an dieser Stelle im Dateisystem, sondern in der Redis-Datenbank. Das Problem ist nun: Wenn sich eine Datei ändert, dann kann man damit in Blockly noch nicht viel machen. Bausteine wie Pushover, Mail, Telegram usw. wollen einen Pfad zu einer Datei haben. Das Thema habe ich auf GitHub auch schon platziert.

      Nun gibt es aber bei einer Redis-Datenbank keinen Pfad im Dateisystem. Also habe ich eine neue Funktion gebaut, welche die Datei aus dem "ioBroker-Speicher" in das Temp-Verzeichnis des Betriebssystems (unter Linux /tmp) speichert und einen Pfad zurückgibt.

      Sobald das Script gestoppt wird, wird in diesem Pfad wieder aufgeräumt und die temporären Dateien werden gelöscht!

      Jedenfalls kann man auf diesem Weg aktuell weiterhin Bausteine wie Telegram bedienen und jedes Mal wenn sich eine Datei ändert diesen Pfad generieren und an andere Bausteine weiterreichen. Beispiel:

      ioBroker-Dateievent.png

      Warnungen

      Eigentlich gibt es jetzt an jeder Stelle ein Ausrufezeichen im Block, wenn man etwas zusammenbaut, was so nicht gedacht ist (z.B. Trigger in Trigger). So sollte man eigentlich direkt während der "Programmierung" merken, dass da etwas falsch ist.

      Solltet ihr noch Vorschläge für Validierungen haben (wo darf ein Block nicht in einem anderen enthalten sein): Her damit.

      1714032958132-blockly.jpg

      Request-Paket is deprecated

      Request wird seit Jahren im Adapter genutzt und der Blockly-Baustein "request" nutzt ja genau dieses Paket. Der Block wurde ja bereits in den vorigen Versionen durch "http (GET)" ersetzt. Solltest Du noch die älteren Blöcke nutzen, bekommst Du eine Warnung im Log.

      Ich möchte das Paket jetzt langsam aber sicher loswerden. Daher generiert jedes require('request'); im Log jetzt auch eine Warnung. Scheinbar werden die Changelogs ja nicht gelesen, weswegen man am Ende wohl in überraschte Gesichter schauen wird, warum ein Script nicht mehr läuft. Also: Migriert eure Scripts! Und wenn ihr hier im Forum jemanden seht, der Code mit require('request'); teilt: Bitte entsprechend darauf hinweisen.

      In der Zukunft wird das Paket dann endlich aus dem Standard entfernt und nicht mehr mitinstalliert. Man kann es zwar in den Instanzeinstellungen dann manuell noch hinzufügen, aber das ist nicht zu empfehlen. request ist seit über 4 Jahren deprecated und wird nicht mehr weiter entwickelt! Einfach nicht mehr nutzen...

      System-Variablen

      Seit Version v8.0.0 gibt es unter "System" außerdem noch ein neuen Baustein. Über diese kann der Name des Scripts, der Standard-Verzeichnispfad oder der Status des Verbose-Modus des Scripts ausgegeben werden.

      Screenshot 2024-05-20 at 13.42.15.png

      Damit könnte man z.B. verbose-Nachrichten schreiben oder Log-Meldungen ändern, wenn der verbose-Modus aktiv ist (hab ich im ioBroker-Master-Kurs auch erklärt, ...):

      Screenshot 2024-05-20 at 13.41.30.png

      Screenshot 2024-05-20 at 13.43.35.png

      Vorbereitung auf js-controller 6.x

      Das Abhängigkeitsmanagement (für zusätzliche Pakte in den Instanzeinstellungen) bringt in der aktuellen npm-Version ein paar Probleme mit sich. Diese werden im js-controller 6.x adressiert und es gibt auch schon die erste Implementierung der neuen Funktionen. Mehr dazu, sobald der js-controller 6 in einer beta verfügbar ist.

      Oberfläche

      Die Darstellung des Logs hat sich nun auch leicht geändert und wurde an den Admin angepasst. Die erste Spalte (Quelle) ist neu. Dafür wird in der Meldung selbst die Instanz nicht mehr angezeigt (wie im Admin halt).

      Screenshot 2024-05-10 at 09.41.18.png

      Ansonsten habe ich aus den pixeligen Grafiken zum Umschalten von Blockly/JS und Rules/JS mal Vektorgrafiken gemacht die auch skalieren. Auf Retina-Displays sah das vorher ja schlimm aus 🙂

      Screenshot 2024-05-10 at 09.40.49.png

      liv-in-sky O sigi234 3 Replies Last reply Reply Quote 18
      • T
        TDCroPower last edited by

        Auch wenn ich mittlerweile zu HA gewechselt bin verfolge ich die ioBroker Entwicklung gerne weiter… man weiß ja nie, ob man zurück wechselt 😉.
        Sehr sehr geile Erweiterung und die Trigger in Trigger Warnung ist sooo gut… wie oft wir das in FB und Co gewarnt haben und es User trotzdem nutzen.
        Einen Hinweis bei Verwendung von Timeout diesen vorher im Trigger zu stoppen wäre glaube ich ebenfalls sinnvoll.

        haus-automatisierung 1 Reply Last reply Reply Quote 1
        • haus-automatisierung
          haus-automatisierung Developer Most Active @TDCroPower last edited by

          @tdcropower sagte in JavaScript 8.3.0 - Log-Trigger, File-Events und Warnungen:

          Einen Hinweis bei Verwendung von Timeout diesen vorher im Trigger zu stoppen wäre glaube ich ebenfalls sinnvoll.

          Kommt drauf an. Eventuell sollen ja auch mehrere Timeouts parallel laufen.

          1 Reply Last reply Reply Quote 0
          • haus-automatisierung
            haus-automatisierung Developer Most Active last edited by

            Kurze Info:

            Das das Feedback zu diesen Beiträgen bisher immer sehr schlecht (bzw. wie hier: gar nicht vorhanden) war, werde ich mir in den nächsten Versionen nicht mehr die Arbeit machen und das alles als Beitrag zusammenschreiben. Die Zeit nutze ich lieber anders. Zusammenfassungen gibt's dann eventuell z.B. auf YouTube oder im Blog.

            Homoran mcm1957 2 Replies Last reply Reply Quote 0
            • Homoran
              Homoran Global Moderator Administrators @haus-automatisierung last edited by

              @haus-automatisierung
              kurze Stellungnahme dazu!
              ich habe diesen Thread gerade zufällig erstmalig gesehen.

              Ich verwende wie tausende andere User die stable Version.

              eine 8.3.x ist für mich ganz ferne Zukunft.
              Warum sollte ich mich bei diesem Threadtitel angesprochen fühlen?

              haus-automatisierung 1 Reply Last reply Reply Quote 2
              • mcm1957
                mcm1957 @haus-automatisierung last edited by

                @haus-automatisierung said in JavaScript 8.3.0 - Log-Trigger, File-Events und Warnungen:

                Kurze Info:

                Das das Feedback zu diesen Beiträgen bisher immer sehr schlecht (bzw. wie hier: gar nicht vorhanden) war, werde ich mir in den nächsten Versionen nicht mehr die Arbeit machen und das alles als Beitrag zusammenschreiben. Die Zeit nutze ich lieber anders. Zusammenfassungen gibt's dann eventuell z.B. auf YouTube oder im Blog.

                Hi
                Ich glaube dass das Feedback eher knapp ist da

                • alles 1a erklärt wurde und daher keine offenen Fragen existieren.
                • die version keine nennenswerten Probleme macht die diskutiert werden müssten

                Upvotes hat ser Artikel ja einige. Persönlich fände ich es schade wenn dudie mit viel Aufwand eingearbeiteten Verbesserungen nicht publik machen würdest.

                Youtube ist f mich keine Alternative da ich gern lese statt fernzuschaun u mich die Werbungen stören. Aber ev bin ich auch zu altmodisch.

                Mcm1957

                1 Reply Last reply Reply Quote 3
                • haus-automatisierung
                  haus-automatisierung Developer Most Active @Homoran last edited by haus-automatisierung

                  @homoran sagte in JavaScript 8.3.0 - Log-Trigger, File-Events und Warnungen:

                  eine 8.3.x ist für mich ganz ferne Zukunft.
                  Warum sollte ich mich bei diesem Threadtitel angesprochen fühlen?

                  Hier im Forum wird sich öfter beschwert, dass Features einfach so online gestellt (= stable freigegeben) werden, ohne dass viele Nutzer diese ausführlich getestet hätten. Jetzt entwickle ich neue Features, dokumentiere diese hier und erhalte null Feedback.

                  Dann liegt die Version da zwei Wochen rum und irgendwann gibt es einen Issue, dass die doch mal stable werden könnte. Da ich nix gehört habe, stimme ich zu. Ohne zu wissen, ob die Funktionen jemals von jemand anderem (als von mir) getestet wurden.

                  Eventuell habe ich auch eine andere Erwartung an diese Tester-Kategorie (wenn eh niemand testen möchte, weil noch nicht stable).

                  Homoran paul53 liv-in-sky 4 Replies Last reply Reply Quote 1
                  • Homoran
                    Homoran Global Moderator Administrators @haus-automatisierung last edited by Homoran

                    @haus-automatisierung sagte in JavaScript 8.3.0 - Log-Trigger, File-Events und Warnungen:

                    wenn eh niemand testen möchte, weil noch nicht stable

                    das ist mit Verlaub Blödsinn!
                    Natürlich ergibt ein Testen mit stable keinen Sinn.
                    Aber zum Testen benötigt man in diesem Fall ein Testsystem, welches ich im Moment nicht besitze.

                    GitHub Versionen in einer Logikmaschine des produktiven Systems sind in meinen Augen ein noGo.

                    Was aber nicht heisst, dass niemand testet.
                    Aber gerade in der Zeit der Brückentage und Kurzurlaube dermaßen kurzfristig erquickliche Diskussionen zu erwarten sollte man IMHO nicht.

                    wie viele der 55609 Installationen entfallen denn auf die 8.3.0?

                    haus-automatisierung paul53 3 Replies Last reply Reply Quote 1
                    • haus-automatisierung
                      haus-automatisierung Developer Most Active @Homoran last edited by

                      @homoran sagte in JavaScript 8.3.0 - Log-Trigger, File-Events und Warnungen:

                      wie viele der 55609 Installationen entfallen denn auf die 8.3.0?

                      • 7.9.0: 52
                      • 7.9.1: 26
                      • 7.9.2: 23
                      • 7.9.3: 14
                      • 7.9.4: 87
                      • 8.0.0: 21
                      • 8.0.1: 4
                      • 8.0.2: 71
                      • 8.0.3: 648
                      • 8.1.0: 1
                      • 8.1.1: 293
                      • 8.2.0: 110
                      • 8.3.0: 348
                      • 8.3.1: 1672

                      Aber was sagt das aus? Eventuell hat niemand eine der Funktionen je ausprobiert, weil das alles Power-User sind, welche eh nur TypeScript nutzen. Genauso wie die Upvotes des Beitrags nichts aussagen.

                      @homoran sagte in JavaScript 8.3.0 - Log-Trigger, File-Events und Warnungen:

                      GitHub Versionen in einer Logikmaschine des produktiven Systems sind in meinen Augen ein noGo.

                      Niemand erwartet eine Installation von GitHub (und da rate ich ja immer explizit von ab). Das sind klar definierte Versionen auf npm.

                      Homoran mcm1957 2 Replies Last reply Reply Quote 0
                      • Homoran
                        Homoran Global Moderator Administrators @haus-automatisierung last edited by

                        @haus-automatisierung sagte in JavaScript 8.3.0 - Log-Trigger, File-Events und Warnungen:

                        Aber was sagt das aus?

                        nicht viel, aber immerhin könnten knapp 2000 User etwas dazu sagen.
                        (aber die Summe ergibt bei weiten keine 55.000 Installationen 🤔 )

                        @haus-automatisierung sagte in JavaScript 8.3.0 - Log-Trigger, File-Events und Warnungen:

                        Eventuell hat niemand eine der Funktionen je ausprobiert

                        durchaus möglich, auch wenn nicht unbedingt aus dem von dir vermuteten Grund 😉

                        @haus-automatisierung sagte in JavaScript 8.3.0 - Log-Trigger, File-Events und Warnungen:

                        Niemand erwartet eine Installation von GitHub

                        umso besser, da hatte ich die Info im Kasten falsch interpretiert

                        1 Reply Last reply Reply Quote 0
                        • haus-automatisierung
                          haus-automatisierung Developer Most Active @Homoran last edited by

                          @homoran sagte in JavaScript 8.3.0 - Log-Trigger, File-Events und Warnungen:

                          GitHub Versionen in einer Logikmaschine des produktiven Systems sind in meinen Augen ein noGo.

                          Hältst Du es andersrum denn auch für ein No-Go, eine Version als stable freizugeben, für welche man nie Feedback erhalten hat? Denn die landet ja dann direkt auf sehr viel mehr Systemen. Auch auf Deinem.

                          Und genau das sollte diese Kategorie im Forum ja eigentlich abfangen (dachte ich zumindest). Dafür gibt es ja das komplette beta/stable Konzept. Nur ist das etwas absurd, wenn stable = "14 tage rumliegende Beta-Version". Und davon sind 10 Tage um.

                          Homoran 1 Reply Last reply Reply Quote 0
                          • paul53
                            paul53 @haus-automatisierung last edited by

                            @haus-automatisierung: wenn eh niemand testen möchte

                            Schließlich ist als Ergebnis von Tests die Version 8.3.1 entstanden.

                            haus-automatisierung 1 Reply Last reply Reply Quote 0
                            • haus-automatisierung
                              haus-automatisierung Developer Most Active @paul53 last edited by

                              @paul53 sagte in JavaScript 8.3.0 - Log-Trigger, File-Events und Warnungen:

                              Schließlich ist als Ergebnis von Tests die Version 8.3.1 entstanden.

                              Ja, danke Dir für den PR und den Patch und dass Du immer regelmäßig testest. Aber das klärt für mich trotzdem nicht die Frage, ob und wer sich das angeschaut hat vor Freigabe zu stable. "Nie etwas negatives gehört" heißt ja nicht automatisch, dass alles läuft wie geplant.

                              Daher hatte ich hier zumindest auf positive Rückmeldungen gehofft. Gerade bei einem so großen und zentralen Adapter, welcher ja wirklich von fast jedem genutzt wird. Das einfach so in stable zu schieben macht immer etwas Bauchschmerzen.

                              Und wenn dann etwas nicht geht, muss man umso schneller reagieren mit Fixes und neuen Versionen.

                              liv-in-sky 1 Reply Last reply Reply Quote 1
                              • Homoran
                                Homoran Global Moderator Administrators @haus-automatisierung last edited by Homoran

                                @haus-automatisierung sagte in JavaScript 8.3.0 - Log-Trigger, File-Events und Warnungen:

                                Und genau das sollte diese Kategorie im Forum ja eigentlich abfangen

                                ich muss ehrlich zugeben, dass ich erst bei meinem dritten Post festgestellt habe, dass das hier fie Kategorie "Tester" ist.
                                Ich gehe immer über unread oder recent rein, die Breadcrumbs übersehe ich meist.

                                Asche über mein Haupt, ich hielt es für eine Info.

                                Aber ja, hier ist der richtige Ort dafür.
                                Dann denke ich, dass @mcm1957 möglicherweise recht hat, dass es nichts zu meckern gibt, oder dass tatsächlich seit Erscheinen zu wenig Zeit vergangen ist.

                                Das mit den positiven Rückmeldungen ist leider ein Wunschdenken , frei nach dem Motto "nicht meckern ist Lob genug!"

                                1 Reply Last reply Reply Quote 1
                                • liv-in-sky
                                  liv-in-sky @haus-automatisierung last edited by

                                  @haus-automatisierung sagte in JavaScript 8.3.0 - Log-Trigger, File-Events und Warnungen:

                                  wenn eh niemand testen möchte

                                  leider habe ich keine negativen meldung für dich

                                  habe dies mit log-bausteinen aktiviert und es tut seinen dienst - alles wunderbar - sonst hätte ich geschrieben - so will ich scripte entdecken, die noch request nutzen

                                  und nochmal danke für deine arbeit - du bringst echt einen mehrwert in den adapter 🙂

                                  Image 036.png

                                  1 Reply Last reply Reply Quote 2
                                  • mcm1957
                                    mcm1957 @haus-automatisierung last edited by

                                    @haus-automatisierung

                                    Also bei 1600 Installationen ohne gemeldete ernsthafte Fehler sehe ich kein Problem mit einer Release ins stable zu gehen. Es mag durchaus sein, dass neue Funktionalitäten da nicht in allen Bereichen getestet sind. Aber existierende Funktionalitäten sollten bei der Anzahl von Installationen eigentlich keinen großen Bug mehr enthalten. Immerhin gibt es auch genug technikaffine User die latest Releases durchaus produktiv einsetzen. (Ja, ist nicht empfohlen - aber wenn ich mir der Sache bewußt bin und weiß was ein Code, root und ein Logfile sind 🙂 kann man das auf eigenes Risiko schon machen.)

                                    Ergo
                                    Ich versteh, dass du gerne mehr Rückmeldungen haben willst. Ich würde aber sagen die Kombi aus Installationen und Nicht-Issues sagt auch aus dass du gute Arbeit geleistest hast.

                                    haus-automatisierung 1 Reply Last reply Reply Quote 3
                                    • liv-in-sky
                                      liv-in-sky @haus-automatisierung last edited by

                                      @haus-automatisierung aber du hast recht - man sollte auch positivs (also: alles funktioniert) zurückmelden - werd mich nächstes mal daran halten

                                      DJMarc75 1 Reply Last reply Reply Quote 2
                                      • DJMarc75
                                        DJMarc75 @liv-in-sky last edited by

                                        @liv-in-sky sagte in JavaScript 8.3.0 - Log-Trigger, File-Events und Warnungen:

                                        aber du hast recht - man sollte auch positivs (also: alles funktioniert) zurückmelden - werd mich nächstes mal daran halten

                                        dito 👍

                                        1 Reply Last reply Reply Quote 1
                                        • haus-automatisierung
                                          haus-automatisierung Developer Most Active @mcm1957 last edited by

                                          @mcm1957 sagte in JavaScript 8.3.0 - Log-Trigger, File-Events und Warnungen:

                                          Ich würde aber sagen die Kombi aus Installationen und Nicht-Issues sagt auch aus dass du gute Arbeit geleistest hast.

                                          Bei anderen Adaptern gehe ich da ja mit. Aber der JavaScript-Adapter kann in so vielen Ausprägungen genutzt werden, dass es extrem schwierig ist das bei neuen Features danach zu bewerten. Ich versuche zwar zu allem auch Tests zu programmieren um das direkt abzufangen - aber die Abdeckung ist ja längst nicht bei 100%. Und Blockly wird da gar nicht getestet - nur reines JavaScript.

                                          Wenn es im statistics-Report einen Indikator dafür gäbe, welche Blöcke von welchem Typ wie oft genutzt werden, ...

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

                                            @homoran sagte: Testsystem, welches ich im Moment nicht besitze.

                                            Weshalb eigentlich nicht? Bei mir läuft das Testsystem auf einem PC in einer VM (VirtualBox).

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            841
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            17
                                            118
                                            8577
                                            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