NEWS
Adapter Monitor mit Restart wenn Rot
-
Moin moin,
das folgende Script hatte ich irgendwo hier im Forum mal gefunden. Nach einigen Anpassungen funktioniert es soweit auch ganz gut.
Was tut es?
Wenn ein Adapter ROT wird, bekomme ich eine Telegram Meldung und der Adapter wird neu gestartet.Jedoch habe ich noch folgendes Problem.
Das Script reagiert einfach zu schnell.
Viele Adapter gehen erst auf GELB bevor sie wieder Rot werden. Dies führt dazu, dass ich immer zwei Nachrichten bekomme . Eine "ist wieder OK" und eine "Kapoottt".
Dazu kommt, dass der Restart dann auch zu schnell und mehrfach ausgeführt wird.Habt ihr Ideen, wie ich das verbessern kann?
Leider bin ich nicht sonderlich fit bei javaScript.
console.log("Waiting..."); await sleep(180000); console.log("waiting end. Start Script"); function alarmMail(txt) { sendTo('telegram.0', '' + txt); setState('0_userdata.0.GlobalVars.AdapterStateText', txt); } var cnt = 0; on(/^system\.adapter\..+\.connected$/, async function(dp) { var id = dp.id.split('.'); var common = getObject('system.adapter.' + id[2] + '.' + id[3]).common; if(common.mode == 'daemon' && common.enabled) { // Instanzen mit cronjob und gesperrte Instanzen ausblenden if(dp.state.val && dp.oldState.val === false) { cnt--; if(cnt <= 0) { alarmMail('✅ Adapter ' + id[2] + '.' + id[3] + ' läuft Fehlerfrei'); console.log(id[2] + '.' + id[3] + ' läuft Fehlerfrei'); setState('0_userdata.0.GlobalVars.AdapterState', false ); cnt = 0; // falls verzählt und cnt < 0 } } else if(dp.state.val === false && dp.oldState.val) { alarmMail('❌ Adapter ' + id[2] + '.' + id[3] + ' meldet Probleme'); setState('0_userdata.0.GlobalVars.AdapterState', true); console.log(id[2] + '.' + id[3] + ' meldet Probleme'); console.log('starte Adapter neu'); setTimeout(() => { extendObject('system.adapter.' + id[2] + '.' + id[3], {common: {enabled: true}});}, 30000); cnt++; } } });
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden