Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Netzwerküberwachung mit fb-checkpresence

    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

    Netzwerküberwachung mit fb-checkpresence

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

      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 Reply Last reply Reply Quote 0
      • First post
        Last post

      Support us

      ioBroker
      Community Adapters
      Donate

      860
      Online

      31.8k
      Users

      80.0k
      Topics

      1.3m
      Posts

      1
      1
      144
      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