NEWS


  • Hallo ich habe ein Script zur Zigbee Überwachung gefunden. Leider wurde der orginal Thread geschlossen.
    Das Script gibt mir leider nicht die Bezeichnungen der "offline Zigbee's" aus. Hier das Script:

    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();
     
    
    

    Und hier das was im Log steht:

    15:09:00.011	info	javascript.3 (14364) script.js.SYSTEM.Zigbee_Überwachung: Text: Link quality, Link quality, Link quality, Link quality
    15:09:00.011	info	javascript.3 (14364) script.js.SYSTEM.Zigbee_Überwachung: Anzahl Geräte: 11 // davon offline: 4
    15:10:00.000	info	javascript.3 (14364) script.js.SYSTEM.Zigbee_Überwachung: Gerät: Link quality
    15:10:00.000	info	javascript.3 (14364) script.js.SYSTEM.Zigbee_Überwachung: Gerät: Link quality
    15:10:00.000	info	javascript.3 (14364) script.js.SYSTEM.Zigbee_Überwachung: Gerät: Link quality
    15:10:00.000	info	javascript.3 (14364) script.js.SYSTEM.Zigbee_Überwachung: Gerät: Link quality
    15:10:00.000	info	javascript.3 (14364) script.js.SYSTEM.Zigbee_Überwachung: Gerät: Link quality
    15:10:00.000	info	javascript.3 (14364) script.js.SYSTEM.Zigbee_Überwachung: Gerät: Link quality
    15:10:00.000	info	javascript.3 (14364) script.js.SYSTEM.Zigbee_Überwachung: Gerät: Link quality
    15:10:00.000	info	javascript.3 (14364) script.js.SYSTEM.Zigbee_Überwachung: Gerät: Link quality
    15:10:00.000	info	javascript.3 (14364) script.js.SYSTEM.Zigbee_Überwachung: Gerät: Link quality
    15:10:00.000	info	javascript.3 (14364) script.js.SYSTEM.Zigbee_Überwachung: Gerät: Link quality
    15:10:00.000	info	javascript.3 (14364) script.js.SYSTEM.Zigbee_Überwachung: Gerät: Link quality
    

    Gibt es zu dem Thema noch ein weiteres Script?
    Michael


  • michihorn
    Du möchtest den Gerätenamen (eine Ordner-Ebene höher) ?

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

  • paul53 sagte in Zigbee Überwachung:

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

    Danke genau so...


  • michihorn
    Wieviele und Welche ZigBee-Devices hast Du in Deinem Netz?
    Welchen Zigbee-Adapter (d.h. welche Hardware) verwendest Du?

    Ich hatte mir ein ähnliches Script geschrieben und habe dabei bemerkt, daß z.B. eine meiner Osram smart+ Steckdosen zwar erreichbar ist (d.h. läßt sich schalten), der timestamp der link_quality jedoch seit Tagen unverändert ist.

  • Developer Most Active

    gosund ja die Osram Dosen liefern nicht immer alles..


  • arteck
    Seltsamer Weise betrifft es nur eine. Und alle sind auf dem gleichen Softwarestand.
    Hast Du eine Idee, wie ich zuverlässig ermitteln kann, ob sie erreichbar ist?
    Ich habe zwei redundante Temperatursensoren im Gartenhaus und will damit bei unter 4°C schalten...

  • Developer

    gosund

    Ich kenne genau einen Weg um sicher zu prüfen ob die Steckdose schaltbar ist:

    SetState(„id“, getState(„id“), false)
    Dann schauen ob der State aktualisiert wurde (mit ack) - dann hat die Hardware das schalten bestätigt. Das geht auch wenn der State sich eigentlich nicht verändert hat, da der Adapter auch ein erneutes setzen des gleichen Wertes an das Gerät schickt.

    A.

  • Developer

    Asgothian Aber setzt der Check nicht eine gewisse Wartezeit voraus? Das Kommando muss doch erst vom Gerät bestätigt werden, bevor ein Adapter ack=true setzt.

  • Developer

    AlCalzone korrekt. Es macht Sinn bei diesem Check 11 Sekunden zu warten bevor geschaut wird. Warum 11 ? 10 Sekunden ist der timeout im zigbee Adapter. Wenn innerhalb der 11 Sekunden nichts kommt kommt nichts mehr.

    Ich würde den set Befehl per cron regelmässig (1 mal pro 2 Stunden ?) schicken und dann den State normal auf letzte Änderung unabhängig davon prüfen.

    A.


  • Asgothian
    Perfekt, vielen Dank!

Suggested Topics

  • 2
  • 10
  • 7
  • 10
  • 2
  • 5
  • 21
  • 12

1.8k
Online

34.6k
Users

40.7k
Topics

557.9k
Posts