Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. iqontrol-Serviceliste kürzen eigene Servicemessages

    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

    iqontrol-Serviceliste kürzen eigene Servicemessages

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

      Ich lasse das Script jeden Tag um 23:00 Uhr laufen und begrenze die Zahl der Einträge auf 500.
      Liste wäre der Wert aus dem Datenpunkt: iqontrol.0.Lists.Servicemessages.LOG_JSON
      Mit dem Script kann man generell JSON-Liste einkürzen.
      Aufruf wäre z.b.

      var maxAnzahl=500;
      var liste=getState('iqontrol.0.Lists.Servicemessages.LOG_JSON').val;
        //console.log (JSON.stringify(kuerzeJsonListe(liste,maxAnzahl)))
      setState("iqontrol.0.Lists.Servicemessages.LOG_JSON",JSON.stringify(kuerzeJsonListe(liste,maxAnzahl)));
      setServiceMessage("Logfile auf "+maxAnzahl +" Einträge gekürzt",1)
      

      diese Funktionen in globale_Funktionen im Javascript einfügen

      function kuerzeJsonListe(liste, maxanzahl) {
        const jsonListe = JSON.parse(liste);
      
        // Begrenze die Liste auf max Einträge
        const maxEintraege = maxanzahl;
        if (jsonListe.length > maxEintraege) {
          const zuEntfernendeEintraege = jsonListe.length - maxEintraege;
          jsonListe.splice(maxEintraege, zuEntfernendeEintraege); // Korrektur hier!
        }
      
        // Jetzt enthält jsonListe max Einträge, da die ältesten zuerst gelöscht wurden
        return jsonListe;
      }
      
      

      Hiermit man kann eigene Servicemessages schreibe. Einfach bei den globalen Scripten einfügen und schon kann man überall mit setServiceMessage("Meine Nachricht",1) einen Eintrag in das Servicelog vornehmen.

      //iqontrol set Servicemessage 
      function setServiceMessage(text_message, Anzahl)
      {
      // Zähler setzen
      setState("iqontrol.0.Lists.Servicemessages.ACTUAL", Anzahl)
      // nachricht schreiben
      setState("iqontrol.0.Lists.Servicemessages.ACTUAL_TEXT",text_message);
      }
      
      

      Wie immer, bei Fragen einfach fragen....

      da_Woody 1 Reply Last reply Reply Quote 0
      • da_Woody
        da_Woody @TomTom24 last edited by

        @tomtom24 sorry, ich versteh den sinn dahinter nicht.
        wenn ich was logge, dann will ich doch nichts gekürzt haben. wenn was relevantes da ist, kanns ja auch bei der 503. nachricht sein. die dann weg ist.
        was IMHO sinn hätte, auf 24 std loggen. da wären eventuelle fehler leichter zu finden.
        vllt versteh ich deinen ansatz auch falsch... 🙂
        jup, ich mag iQontrol! 😉

        T 2 Replies Last reply Reply Quote 0
        • T
          TomTom24 @da_Woody last edited by

          @da_woody mir reichen einfach 500 Messages für einen Tag. Da laufen bei mir nur Kontrollnachrichten ein, wann der Lüfter aus welchem Grund hochläuft, was der Speicher macht. Die komplette Überwachung macht Zabbix ink. automatischer Benachrichtigung.
          Daher kein Grund für mich die Servicemessages zu groß werden zu lassen

          da_Woody 1 Reply Last reply Reply Quote 0
          • da_Woody
            da_Woody @TomTom24 last edited by

            @tomtom24 Aha, dann geht's wirklich um was anderes.
            So gesehen ist das nicht so uninteressant.
            Hatte schon das Problem, daß sich 2 schelly am Abend aufgedreht haben. Nach 2 Wochen bin ich draufgekommen, daß sich eine Alexa Routine selbst eingerichtet hat. Keine Ahnung wie.

            T 1 Reply Last reply Reply Quote 1
            • T
              TomTom24 @da_Woody last edited by

              @da_woody genau dafür nutze ich die Servicemessage - sozusagen ein Debug vom Handy aus, ohne, dass ich ständig an den PC muss. Ab und zu baut man ja mal was ein und will schauen, was da passiert.

              1 Reply Last reply Reply Quote 0
              • T
                TomTom24 @da_Woody last edited by

                @da_woody

                @da_woody sagte in iqontrol-Serviceliste kürzen eigene Servicemessages:

                was IMHO sinn hätte, auf 24 std loggen. da wären eventuelle fehler leichter zu finden.

                Wenn ich jeden Tag um 23:00 Uhr logge, dann habe ich die letzten 500 Nachrichten der letzten 24 Stunden. Ich schreibe in das Log ja selber rein. Du kannst das natürlich auch einfach mit mehr Zeilen oder längeren Intervallen laufen lassen.
                Daher maximal anpassbar 🙂

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

                Support us

                ioBroker
                Community Adapters
                Donate

                802
                Online

                31.9k
                Users

                80.1k
                Topics

                1.3m
                Posts

                2
                6
                278
                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