NEWS

[gelöst]Zigbee Wassermelder



  • @Dominik-F Nutzt Du Telegram? Ich schicke Dir Morgen ggf. mal ein Beispiel für den Homematic Wassermelder, das kann man dann leicht für das Zigbee-Teil erweitern...



  • @cash

    Vielen Dank, du bist mir eine große Hilfe.

    Nein, ich nutze nur Pushover.



  • @Dominik-F Gut macht es einfacher für mich...



  • @Dominik-F Du musst die drei Triggerpunkte anpassen und beim dritten weiß ich nicht wie der meldet ob z. B. mit true oder false oder mit Zahl? Das mußt Du dann auch anpassen. Texte nach belieben. Habe es nicht getestet, sollte aber funktionieren

    /*****************************************+
     * Push bei Wassermeldung
     * 
     * 05.01.20 V1.00   Erste Version
     * 
     ****************************************/
    var logging = true;
    var debugging = false;
    var sendpush = true;        // Push wenn Wasser erkannt wird
    var sendpush_1 = true;        // Push wenn Wassermeldung beendet wurde
    
    let _prio;
    let _titel = 'Wasserschaden';
    let _message;
    //let _device = 'TPhone'; 
    let _device = 'All';
    var tmp;
    
    var id_Trigger_1 = 'hm-rpc.2.001898A997FD42.1.WATERLEVEL_DETECTED'/*Küche Wassermelder:1 WATERLEVEL DETECTED*/
    var id_Trigger_2 = 'hm-rpc.2.001898A997FD42.1.MOISTURE_DETECTED'/*Küche Wassermelder:1 MOISTURE DETECTED*/
    var id_Trigger_3 = 'zigbee'
    
    function send_pushover (_device, _message, _titel, _prio) {
        var pushover_Instanz =  'pushover.0';
            if (_prio === 0){pushover_Instanz =  'pushover.0';}
            else if (_prio == 1){pushover_Instanz =  'pushover.1';}
            else if (_prio == 2){pushover_Instanz =  'pushover.2';}
            else {pushover_Instanz =  'pushover.3';}
            sendTo(pushover_Instanz, { 
            device: _device,
            message: _message, 
            title: _titel, 
            priority: _prio
        }); 
    }
    
    function func_Wasser(){
        var Status_1 = getState(id_Trigger_1).val;
        var Status_2 = getState(id_Trigger_2).val;
        var Status_3 = getState(id_Trigger_3).val;
        var status_text_1;
        var status_text_2;
        var status_text_3;
        if(Status_1){
            status_text_1 = 'Wasser erkannt';
        }
        else{
            status_text_1 = 'keine Wasser';    
        }
        if(Status_2){
            status_text_2 = 'Feuchtigkeit erkannt';
        }
        else{
            status_text_2 = 'keine Feuchtigkeit';    
        }
        if(Status_3 == 1){
            status_text_3 = 'Wasser erkannt';
        }
        else{
            status_text_3 = 'keine Wasser';    
        }
        if(debugging){
            log('Status1_' +Status_1 +' --- Status2: ' +Status_2 +' --- Status3: ' +Status_3)
        }
        if(Status_1 || Status_2 || Status_3 == 1){
            tmp = 'Meldung vom Wassermelder. Status vom ersten Melder: '+status_text_1 +' --- Status vom zweiten Melder: '+status_text_2 +' --- Status vom dritten Melder: '+status_text_3;
            if(logging){
                log(tmp);
            }
            if(sendpush){
                _prio = 2;
                _message = tmp; 
                send_pushover(_device, _message, _titel, _prio);
            }
    
        }
        else{
            tmp = 'Meldung vom  Wassermelder aufgehoben. Status vom ersten Melder: '+status_text_1 +' --- Status vom zweiten Melder: '+status_text_2 +' --- Status vom dritten Melder: '+status_text_3;
            if(logging){
                log(tmp);
            }
            if(sendpush_1){
                _prio = 0;
                _message = tmp;
                send_pushover(_device, _message, _titel, _prio);
            }    
    
        }     
    }
    
    on({id: id_Trigger_1, change: 'ne', ack: true}, func_Wasser);
    on({id: id_Trigger_2, change: 'ne', ack: true}, func_Wasser);
    on({id: id_Trigger_3, change: 'ne', ack: true}, func_Wasser);
    
    
    


  • @cash

    Wow, vielen Dank für deine Mühe! Der erste Test mit dem Zigbee Wassermelder hat funktioniert.
    Ich werde jetzt versuchen, das Skript soweit zu ändern, dass wenn der Zigbee Wassermelder auf True geht, auch nur der Status von diesem verschickt wird. Falls ich mich da verrenne, darf ich dich dazu noch einmal anschreiben?
    Ich bekomme jedoch eine Warnung :

    	(13457) adapter.getMessage is deprecated and will be removed in js-controller 2.3. Please report this warning to the developer of this adapter!
    

    @Bluefox

    Ich hoffe du bist der richtige Ansprechpartner für die Warnung bei dem Skript?



  • @Dominik-F Welche Version von zigbee adapter bringt diese Fehlermeldung?



  • @Bluefox
    0.11.5



  • @Bluefox

    Die Meldung spuckt der pushover Adapter Version 1.1.1 aus jedoch nur wenn es um zigbee geht



  • @Dominik-F Die Meldung wird in der Version 1.0.x verschwinden.



  • @Bluefox

    Danke für dein schnelles Handeln


Log in to reply
 

Suggested Topics

  • 2
  • 3
  • 21
  • 9
  • 291
  • 25
  • 21
  • 7

1.9k
Online

32.1k
Users

38.7k
Topics

525.3k
Posts