Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Netzwerküberwachung mit fb-checkpresence

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    986

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.1k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.4k

Netzwerküberwachung mit fb-checkpresence

Geplant Angeheftet Gesperrt Verschoben JavaScript
1 Beiträge 1 Kommentatoren 237 Aufrufe 1 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • F Offline
    F Offline
    Fritzk
    schrieb am zuletzt editiert von
    #1

    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);
    
    
    1 Antwort Letzte Antwort
    0
    Antworten
    • In einem neuen Thema antworten
    Anmelden zum Antworten
    • Älteste zuerst
    • Neuste zuerst
    • Meiste Stimmen


    Support us

    ioBroker
    Community Adapters
    Donate

    768

    Online

    32.5k

    Benutzer

    81.6k

    Themen

    1.3m

    Beiträge
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
    ioBroker Community 2014-2025
    logo
    • Anmelden

    • Du hast noch kein Konto? Registrieren

    • Anmelden oder registrieren, um zu suchen
    • Erster Beitrag
      Letzter Beitrag
    0
    • Home
    • Aktuell
    • Tags
    • Ungelesen 0
    • Kategorien
    • Unreplied
    • Beliebt
    • GitHub
    • Docu
    • Hilfe