NEWS
Netzwerküberwachung mit fb-checkpresence
-
Ich bin mit JavaScript noch ziemlich am anfang. Habe mir mit Hilfe von ChatGPT ein Script, welches die Datenpunkte vom fb-checkpresence ' jsonActive' und ' jsonInactive' überwacht. Das mir dann eine Meldung über Pushover senden soll wenn sich ein Gerät im Netzwerk An- und Abmeldet, mit der entsprechenden IP.
Aber so ganz passt es noch nicht. Ich krieg immer ca 25 Meldungen auf einmal und immer mit deem gleichen inhalt.
Außerdem krieg ich eine Fehlermeldung von Pushover mit 'Error from Pushover: SyntaxError: Unexpected token '<', "<html> <h"... is not valid JSON'// JavaScript für ioBroker let lastDeviceStates = {}; function checkDeviceChanges() { let currentDevices = JSON.parse(getState('fb-checkpresence.0.fb-devices.jsonActive').val || '[]').concat(JSON.parse(getState('fb-checkpresence.0.fb-devices.jsonInactive').val || '[]')); let currentDeviceStates = {}; // Aktuellen Zustand der Geräte aufbauen currentDevices.forEach(device => { currentDeviceStates[device['MAC-Address']] = device['Active']; }); // Änderungen überprüfen Object.keys(currentDeviceStates).forEach(mac => { let isActive = currentDeviceStates[mac]; let wasActive = lastDeviceStates[mac]; // Wenn der Zustand des Geräts sich geändert hat if (isActive !== wasActive) { let device = currentDevices.find(d => d['MAC-Address'] === mac); let message = isActive ? `Neues Gerät verbunden: ${device['HostnameTest']}, IP: ${device['IP-Address']}` : `Gerät getrennt: ${device['HostnameTest']}, IP: ${device['IP-Address']}`; sendTo("pushover.0", "send", { message: message, title: isActive ? "Gerät verbunden" : "Gerät getrennt", priority: 0 }); } }); // Letzten Zustand aktualisieren lastDeviceStates = {...currentDeviceStates}; } // Überprüfen Sie die Geräteliste alle 5 Sekunden setInterval(checkDeviceChanges, 5000);
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