NEWS
iqontrol-Serviceliste kürzen eigene Servicemessages
-
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....
-
@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! -
@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 -
@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. -
@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.
-
@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