Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. [gelöst]Scene Fensterkontakt -> Telegram

    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

    [gelöst]Scene Fensterkontakt -> Telegram

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

      Hallo,

      ich bin neu hier im Forum, bis jetzt bin ich eigentlich imer durch die Suche und lesen recht weit gekommen.

      Jetzt würde ich jedoch gerne eine Szene erstellen, die mir wenn der Fensterkontakt (HM, alte Version) betätigt wird automatisch eine Telegram Message sendet.

      Das Problem ist, wenn ich die Meldung manuell setze funktioniert alles, sonst steht der Status immer auf "ungewiss" könnt ihr mir hier helfen?

      Danke

      LG Jonny

      1 Reply Last reply Reply Quote 0
      • S
        Solear last edited by

        Mit einer Szene kann ich leider nicht dienen, aber mit einem Script:

        // Forum: http://forum.iobroker.net/viewtopic.php?f=21&t=2473
        // Horcht an allen Gewerken (functions) unter "Alarm" und sendet bei Statusänderung
        // Schließt die beiden Kellerfenster vom Alarm aus, sofern das Lüftungsscript die Öffnung/Schließung angestoßen hat:
        // wenn Jalousieaktorstatus (= Aktor für die Fenstermotoren) auf WORKING steht, dann ausschließen!
        
        // IDs deklarieren
        var jemandzuhauseid = "geofency.0.atHomeCount"/*atHomeCount*/;
        var kellerscriptsiid = "hm-rpc.0.MEQ0000000.1.WORKING"/*Fensteröffner Keller Sicherungsraum:1.WORKING*/;        // liest den Jalousieaktor aus, WORKING = in Arbeit
        var kellerscriptwaid = "hm-rpc.0.MEQ0500000.1.WORKING"/*Fensteröffner Keller Waschraum:1.WORKING*/;
        
        $('channel(functions=Alarm)[state.id=*.STATE]').on(function (event) {                                           // An "Alarm"-Gewerke nach Statusänderungen prüfen 
        
            var _obj = getObject(event.id, 'functions');
            log("---------------------------------------------------"+ event.channelName, "info");
        
            var jemandzuhause = getState(jemandzuhauseid).val;                                                          // IDs auslesen 
            var kellerscriptsi = getState(kellerscriptsiid).val;
            var kellerscriptwa = getState(kellerscriptwaid).val;
        
            if((event.channelName !== 'Fenstersensor Keller Sicherungsraum' && kellerscriptsi !== true) ||              // Ausschluss Kellerfenster bei automatischer Öffnung/Schließung
                (event.channelName !== 'Fenstersensor Keller Waschraum' && kellerscriptwa !== true)) 
                    {
                        if(jemandzuhause < 1)                                                                           // Prüft ob jemand Zuhause ist
                        {                                                                               
                            sendTo("pushover", {message: 'ALARM: ' + event.channelName + ' hat angeschlagen!', priority: 1});       // wenn nein, Alarmnachricht
                            //setState(sayit_vol, 100);
                            //setState(sayit_txt, "Der "+ event.channelName +" hat angeschlagen.");
                        }
                    }
        }); 
        
        

        Für dich reicht die einfache Variante von paul53 aus demselben Thread von dort ohne Ausschließungen:

        $('channel(functions=Alarm)[state.id=*.STATE]').on(function (event) {
           if(event.state.val > event.oldState.val) {
              var _obj = getObject(event.id, 'functions');
              log(_obj.enumNames[0]);
              sendTo('telegram', 'Fensterkontakt hat angeschlagen');
           }
        });
        

        Jetzt bekommst du eine Meldung, wenn immer ein Fensterkontakt auslöst (egal welcher).

        Wenn du es etwas kombinierst mit meinem Script, steht dann auch da, welches Fenster (er holt sich den Namen des Fensters aus der CCU2).

        1 Reply Last reply Reply Quote 0
        • X
          xADDRx last edited by

          Hallo,

          funktioniert es denn nicht auch mit einer Szene?

          Wo müsste die ID (Fenster Tür Kontakt) denn rein:

          $('channel(functions=Alarm)[state.id=*.STATE]').on(function (event) {
             if(event.state.val > event.oldState.val) {
                var _obj = getObject(event.id, 'functions');
                log(_obj.enumNames[0]);
                sendTo('telegram', 'Fensterkontakt hat angeschlagen');
             }
          });
          

          Gruß

          1 Reply Last reply Reply Quote 0
          • X
            xADDRx last edited by

            hat keiner eine Idee?

            1 Reply Last reply Reply Quote 0
            • First post
              Last post

            Support us

            ioBroker
            Community Adapters
            Donate
            FAQ Cloud / IOT
            HowTo: Node.js-Update
            HowTo: Backup/Restore
            Downloads
            BLOG

            877
            Online

            31.9k
            Users

            80.2k
            Topics

            1.3m
            Posts

            3
            4
            1689
            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