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. ioBroker Allgemein
  4. Ausnahmen Zigbeeüberwachung, Namensübermittlung

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    472

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.6k

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

Ausnahmen Zigbeeüberwachung, Namensübermittlung

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
zigbee adapter cc2531zigbeeenum.functionsobjects
3 Beiträge 2 Kommentatoren 277 Aufrufe 2 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.
  • S Offline
    S Offline
    sebastian0010
    schrieb am zuletzt editiert von
    #1

    Liebes Forum!

    Ich habe dank eurer Hilfe ein Zigbee-Statusüberwachungsskript zusammengestückelt, welches anhand der Überwachung vom Timestamp von link_quality als Datenpunkt wunderbar funktioniert.
    Jedoch bestehen 2 kleine Probleme:

    • Einerseits habe ich 2 Tradfri-Lampen die via Wandschalter auch immer wieder Stromlos gemacht werden, womit der Timestamp immer wieder auch älter sein kann. Diese Objekte möchte ich im Script ausnehmen. Habe dabei einfach an enum.functions.***** gedacht. Einfach alle zu überwachenden Geräte dort rein und dann eben die entsprechende Funktion überwachen. Leider funktioniert dies allerdings nicht und es werden mir dann mit der Skriptadaptierung im entsprechenden Funktionsordner ***** "0" Objekte angezeigt. Nach längerer Recherche, konnte ich das leider nicht hinbekommen.

    • Im erwähnten Script soll mir der Name der betroffenen Geräte ausgespuckt werden (nach Möglichkeit der vergebene Name wie zB TempsensorBad). Leider wird mir mit meinem Skript als Name immer nur "Link_Quality" übermittelt. Auch hier konnte ich leider keinen passenden Lösungsansatz finden.

    Hat jemand von euch hier Ideen, wie ich das Lösen kann? Wäre euch sehr dankbar.
    Hier mein Skript:

    createState('zigbeestatus.Anzahl_Geräte', 0, {type: 'number'});
    createState('zigbeestatus.offline', 0, {type: 'number'});
    createState('zigbeestatus.Gerät', " ", {type: 'string'});
     
    const zigbee = $('zigbee.0*.link_quality');
    const loggen = true;
     
    var arrOFFLINE;
     
    function offline(id){
        var obj = getObject(id);
        arrOFFLINE.push(obj.common.name);
        if(loggen) log("Gerät: " + obj.common.name);
    }
     
    function countOffline() {
       var moeglicheOFFLINE = 0;
       arrOFFLINE =[];
       zigbee.each(function (id, i){
        
        if(Math.round((new Date() - new Date(getState(id).ts)) / 1000 / 60) > 60) offline(id);
        ++moeglicheOFFLINE;
       });
       
       if(loggen) log("Text: "+arrOFFLINE.join(', '));
       if(loggen) log("Anzahl Geräte: " + moeglicheOFFLINE + " // davon offline: " + arrOFFLINE.length);
       
       setState("zigbeestatus.Gerät",     arrOFFLINE.join(',<br>'));
       setState("zigbeestatus.offline",   arrOFFLINE.length);
       setState("zigbeestatus.Anzahl_Geräte", moeglicheOFFLINE);
     
    }
     
    countOffline();
    
    

    zigbee.0*.link_quality hätte ich bei der enum-Variante zu enum.functions.ORDNERNAME.*.link_quality adaptiert. Leider ohne Erfolg.

    Vielen Dank gleich,
    Liebe Grüße
    Sebastian

    paul53P 1 Antwort Letzte Antwort
    0
    • S sebastian0010

      Liebes Forum!

      Ich habe dank eurer Hilfe ein Zigbee-Statusüberwachungsskript zusammengestückelt, welches anhand der Überwachung vom Timestamp von link_quality als Datenpunkt wunderbar funktioniert.
      Jedoch bestehen 2 kleine Probleme:

      • Einerseits habe ich 2 Tradfri-Lampen die via Wandschalter auch immer wieder Stromlos gemacht werden, womit der Timestamp immer wieder auch älter sein kann. Diese Objekte möchte ich im Script ausnehmen. Habe dabei einfach an enum.functions.***** gedacht. Einfach alle zu überwachenden Geräte dort rein und dann eben die entsprechende Funktion überwachen. Leider funktioniert dies allerdings nicht und es werden mir dann mit der Skriptadaptierung im entsprechenden Funktionsordner ***** "0" Objekte angezeigt. Nach längerer Recherche, konnte ich das leider nicht hinbekommen.

      • Im erwähnten Script soll mir der Name der betroffenen Geräte ausgespuckt werden (nach Möglichkeit der vergebene Name wie zB TempsensorBad). Leider wird mir mit meinem Skript als Name immer nur "Link_Quality" übermittelt. Auch hier konnte ich leider keinen passenden Lösungsansatz finden.

      Hat jemand von euch hier Ideen, wie ich das Lösen kann? Wäre euch sehr dankbar.
      Hier mein Skript:

      createState('zigbeestatus.Anzahl_Geräte', 0, {type: 'number'});
      createState('zigbeestatus.offline', 0, {type: 'number'});
      createState('zigbeestatus.Gerät', " ", {type: 'string'});
       
      const zigbee = $('zigbee.0*.link_quality');
      const loggen = true;
       
      var arrOFFLINE;
       
      function offline(id){
          var obj = getObject(id);
          arrOFFLINE.push(obj.common.name);
          if(loggen) log("Gerät: " + obj.common.name);
      }
       
      function countOffline() {
         var moeglicheOFFLINE = 0;
         arrOFFLINE =[];
         zigbee.each(function (id, i){
          
          if(Math.round((new Date() - new Date(getState(id).ts)) / 1000 / 60) > 60) offline(id);
          ++moeglicheOFFLINE;
         });
         
         if(loggen) log("Text: "+arrOFFLINE.join(', '));
         if(loggen) log("Anzahl Geräte: " + moeglicheOFFLINE + " // davon offline: " + arrOFFLINE.length);
         
         setState("zigbeestatus.Gerät",     arrOFFLINE.join(',<br>'));
         setState("zigbeestatus.offline",   arrOFFLINE.length);
         setState("zigbeestatus.Anzahl_Geräte", moeglicheOFFLINE);
       
      }
       
      countOffline();
      
      

      zigbee.0*.link_quality hätte ich bei der enum-Variante zu enum.functions.ORDNERNAME.*.link_quality adaptiert. Leider ohne Erfolg.

      Vielen Dank gleich,
      Liebe Grüße
      Sebastian

      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von paul53
      #2

      @sebastian0010 sagte:

      habe ich 2 Tradfri-Lampen die via Wandschalter auch immer wieder Stromlos gemacht werden

      Die IDs der beiden Lampen kann man ausklammern (richtige IDs einsetzen).

      if(id != 'idLampe1'  && id != 'idLampe2'  && (Date.now() - getState(id).ts) > 3600000) offline(id);
      

      @sebastian0010 sagte in Ausnahmen Zigbeeüberwachung, Namensübermittlung:

      als Name immer nur "Link_Quality" übermittelt

      Wie sind die Namen (z.B. Temperatursensor Bad" zugeordnet ? Screenshot "Objekte" ?

      Sind die Namen eine Ebene über den Datenpunkten zugeordnet, dann versuche es mal so:

      function offline(id) {
          id = id.substring(0, id.lastIndexOf('.'));
          var name = getObject(id).common.name;
          arrOFFLINE.push(name);
          if(loggen) log("Gerät: " + name);
      }
      

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      1 Antwort Letzte Antwort
      1
      • S Offline
        S Offline
        sebastian0010
        schrieb am zuletzt editiert von
        #3

        Vielen Dank! :+1:
        Genau damit hat es wunderbar funktioniert!
        Aber rein interessehalber:
        Weisst du, wie man statt unter zigbee.0 hier die objekte unter enum.functions.**** einpflegen könnte!

        Liebe Grüße und schönen Sonntag!

        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
        FAQ Cloud / IOT
        HowTo: Node.js-Update
        HowTo: Backup/Restore
        Downloads
        BLOG

        771

        Online

        32.5k

        Benutzer

        81.8k

        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