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. Skripten / Logik
  4. JavaScript
  5. Rauchmelder Skript

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.2k

Rauchmelder Skript

Geplant Angeheftet Gesperrt Verschoben JavaScript
javascriptsecurity
52 Beiträge 6 Kommentatoren 5.2k Aufrufe 8 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.
  • Dominik F.D Dominik F.

    @paul53

    ich habs jetzt geändert. hast du eine idee wie ich es testen kann ohne das die Rauchmelder losgehen und extrem laut sind?

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

    @Dominik-F sagte:

    wie ich es testen kann ohne das die Rauchmelder losgehen und extrem laut sind?

    Im Tab "Objekte" im Expertenmodus den Wert von STATE auf true ändern und anschließend wieder zurück auf false.

    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

    Dominik F.D 1 Antwort Letzte Antwort
    0
    • paul53P paul53

      @Dominik-F sagte:

      wie ich es testen kann ohne das die Rauchmelder losgehen und extrem laut sind?

      Im Tab "Objekte" im Expertenmodus den Wert von STATE auf true ändern und anschließend wieder zurück auf false.

      Dominik F.D Offline
      Dominik F.D Offline
      Dominik F.
      schrieb am zuletzt editiert von
      #13

      @paul53

      sehr gut. Es kam sofort eine Pushnachricht an. Ich hoffe dann mal, dass es im ernstfall auch funktioniert :D

      1 Antwort Letzte Antwort
      0
      • cashC cash

        @Dominik-F Der Fehler wird in Zeile 37 liegen nur ohne das man weiß welcher State sich ändert wird man es nicht lösen können...

        Dominik F.D Offline
        Dominik F.D Offline
        Dominik F.
        schrieb am zuletzt editiert von
        #14

        Ich habe noch eine Frage zur Pushnachricht in dem Skript.
        Normalerweise sollte die Schrift"Rauch erkannt" rot sein, jedoch wird sie nicht Rot angezeigt sondern so

        - <font color="red">Rauch erkannt</font>
        
        cashC 1 Antwort Letzte Antwort
        0
        • Dominik F.D Dominik F.

          Ich habe noch eine Frage zur Pushnachricht in dem Skript.
          Normalerweise sollte die Schrift"Rauch erkannt" rot sein, jedoch wird sie nicht Rot angezeigt sondern so

          - <font color="red">Rauch erkannt</font>
          
          cashC Offline
          cashC Offline
          cash
          Most Active
          schrieb am zuletzt editiert von
          #15

          @Dominik-F Dir fehlt da noch was:

          retry: 60,
          expire: 600,
          html: 1

          Das hinzufügen. Dann funktionieren Prio 2 Meldungen auch besser. Denn wenn der Rauchmelder anspringt würde ich auf Prio2 gehen so dass man in Pushover bestätigen muss das man die Meldung wahrgenommen hat....

          Dominik F.D 1 Antwort Letzte Antwort
          0
          • cashC cash

            @Dominik-F Dir fehlt da noch was:

            retry: 60,
            expire: 600,
            html: 1

            Das hinzufügen. Dann funktionieren Prio 2 Meldungen auch besser. Denn wenn der Rauchmelder anspringt würde ich auf Prio2 gehen so dass man in Pushover bestätigen muss das man die Meldung wahrgenommen hat....

            Dominik F.D Offline
            Dominik F.D Offline
            Dominik F.
            schrieb am zuletzt editiert von
            #16

            @cash

            ah, ich hab mich schon immer gefragt warum
            retry: 60,
            expire: 600,
            html: 1
            bei dir mit drin war :D Kannst du mir kurz erklären was die 3 Einträge genau bewirken?

            Prio hab ich jetzt auch geändert und Push funktioniert nun.

            cashC 1 Antwort Letzte Antwort
            0
            • Dominik F.D Dominik F.

              @cash

              ah, ich hab mich schon immer gefragt warum
              retry: 60,
              expire: 600,
              html: 1
              bei dir mit drin war :D Kannst du mir kurz erklären was die 3 Einträge genau bewirken?

              Prio hab ich jetzt auch geändert und Push funktioniert nun.

              cashC Offline
              cashC Offline
              cash
              Most Active
              schrieb am zuletzt editiert von
              #17

              @Dominik-F html sollte klar sein damit Dein red auch rot ist.
              Der 600er wert ist die Zeit wie lange Pushover Dich errinnert bevor es verfällt. Die 60 Die Pause zwischen den Pushnachrichten. Sobald Du in der App natürlich die Push bestätigt ist der Spuk vorbei.
              Mit der Einstellung bekommst Du wenn ich nicht ganz falsch liege max 10 Minuten jede Minute eine Push das Dein Rauchmelder an ist. Wenn Du bis dahin die Push nicht hörst wird auch ein höherer Wert nicht mehr helfen. Bitte dort nicht übertreiben. Dazu ggf. auch die FAQ von Pushover lesen.

              1 Antwort Letzte Antwort
              0
              • FeuersturmF Online
                FeuersturmF Online
                Feuersturm
                schrieb am zuletzt editiert von
                #18

                @Dominik-F Setzt du die Homematic IP Rauchmelder HMIP-SWSD ein? Ich hätte Interesse an deinem Skript. Könntest du in deinem ersten Beitrag die aktuelle Version deines Skriptes einstellen bzw. bei neuen Erkenntnissen das Skript dort aktualisieren?

                Dominik F.D D 2 Antworten Letzte Antwort
                0
                • FeuersturmF Feuersturm

                  @Dominik-F Setzt du die Homematic IP Rauchmelder HMIP-SWSD ein? Ich hätte Interesse an deinem Skript. Könntest du in deinem ersten Beitrag die aktuelle Version deines Skriptes einstellen bzw. bei neuen Erkenntnissen das Skript dort aktualisieren?

                  Dominik F.D Offline
                  Dominik F.D Offline
                  Dominik F.
                  schrieb am zuletzt editiert von Dominik F.
                  #19

                  @cash
                  Gerade das mit dem html war mir nicht klar :D Danke für deine Erklärung

                  @Feuersturm
                  Nein, ich nutze keine HM IP, falls der Datenpunkt STATE dort auch existiert würde ich es einfach mal testen. Falls es nicht funktioniert kann man es vielleicht so umschreiben, dass es auch damit funktioniert.
                  Hab das aktuelle Skript oben eingestellt

                  FeuersturmF 1 Antwort Letzte Antwort
                  0
                  • Dominik F.D Dominik F.

                    Hallo zusammen,

                    ich habe mit etwas Unterstützung ein Rauchmelder Skript laufen, dass mit, im Falle eines Alarms, per Push eine Nachricht schickt, welcher Rauchmelder von HM ausgelöst hat.
                    Da dort alle Rauchmelder im Log erkannt werden bin ich davon ausgegangen das es funktioniert. Gestern habe ich jedoch durch meine E-Zigarette ausversehen den im Wohnzimmer ausgelöst und festgestellt, dass das Skript nicht funktioniert. Kann mir da jemand helfen?

                    var logging = true;
                    var debugging = true;
                    
                    var observation = true;     //Dauerhafte Überwachung der Geräte auf Rauch (true = aktiv // false =inaktiv)
                    var onetime = true;         //Prüft beim Script Start ob derzeit Geräte Rauch erkennen
                    
                    const prio_Rauchmelder = 0;
                       
                    //Variablen für Pushover
                    const sendpush   = true;                    //true = verschickt per Pushover Nachrchten // false = Pushover wird nicht benutzt
                    const pushover_Instanz0 =  'pushover.0';    // Pushover instance für HM Alarme
                    const pushover_Instanz1 =  'pushover.1';    // Pushover instance für HM Warnungen
                    const pushover_Instanz2 =  'pushover.2';    // Pushover instance für Zigbee Alarme
                    const pushover_Instanz3 =  'pushover.3';    // Pushover instance für Zigbee Warnung
                    var prio = -2;                              //nicht verändern die höchste Prio nach Fehlertyp wird verwendet
                    var titel;
                    var message; 
                    var device = 'Handy_Domi';                  //Welches Gerät soll die Nachricht bekommen
                    //var device = 'All'; 
                    
                    function send_pushover (device, message, titel, prio) {
                        var pushover_Instanz;
                        if (prio === 0){pushover_Instanz =  pushover_Instanz0;}
                        else if (prio == 1){pushover_Instanz =  pushover_Instanz1;}
                        else if (prio == 2){pushover_Instanz =  pushover_Instanz2;}
                        else {pushover_Instanz =  pushover_Instanz3;}
                        sendTo(pushover_Instanz, { 
                            device: device,
                            message: message, 
                            title: titel, 
                            priority: 0,
                        }); 
                    }
                    
                    //Ab hier eigentliches Script
                    
                    var cacheSelectorSmoke = $('channel[state.id=hm-rpc.0.*.1.ERROR_SMOKE_CHAMBER-1_ALARM$]');
                    
                    function Smoke(obj) {
                    var meldungsart = 'Rauch erkannt';
                    var Gesamt = 0;
                    var Betroffen = 0;
                    var text = [];
                    var _message_tmp = ' ';
                    var log_manuell = false;
                    
                    if (obj) {
                        var common_name = obj.common.name.substr(0, obj.common.name.indexOf(':'));
                        var status = obj.newState.val;                                 
                        var status_text;
                        if(status){
                            status_text = 'Rauch erkannt';
                        }
                        else{
                            status_text = 'kein Rauch';    
                        }
                        var id_name = obj.id.split('.')[2];
                        log(common_name +' ('+id_name +') ' +'--- Typ: '+meldungsart +' --- Status: ' +status_text);
                    } 
                    else {
                        if(debugging){
                            log('[DEBUG] '+'Function ' +meldungsart +' wird gestartet.'); 
                        }
                        log_manuell = true;
                    } 
                    
                    cacheSelectorSmoke.each(function (id, i) {// Schleife für jedes gefundenen Element *.LOWBAT
                        var obj    = getObject(id);
                        //var common_name = getObject(id).common.name.substr(0, obj.common.name.indexOf(':'));
                        var common_name = getObject(id.substring(0, id.lastIndexOf('.') - 2)).common.name;
                        var id_name = id.split('.')[2];
                        var native_type = getObject(id.substring(0, id.lastIndexOf('.') - 2)).native.TYPE;
                        var meldungsart = id.split('.')[4];
                        var datum = formatDate(getState(id).lc, "TT.MM.JJ SS:mm:ss");
                        var datum_neu;
                        var datum_seit;
                        if(datum < '01.01.71 01:00:00'){
                            datum_seit = '';
                            datum_neu = '';
                        }else{
                            datum_seit=  ' --- seit: ';
                            datum_neu = datum +' Uhr';
                        }
                        
                        var status = getState(id).val;                                  
                        var status_text;
                        if(status){
                            status_text = 'Rauch erkannt';
                        }
                        else{
                            status_text = 'kein Rauch';    
                        }
                    
                        if (status === true) {      // wenn Zustand = true, dann wird die Anzahl der Geräte hochgezählt
                            ++Betroffen;
                            text.push(common_name +' ('+id_name +')');                            // Zu Array hinzufügen
                            _message_tmp = _message_tmp +common_name +' ('+id_name +')' + ' - <font color="red">Rauch erkannt</font> '+'\n';
                           
                        }  
                        ++Gesamt;          // Zählt die Anzahl der vorhandenen Geräte unabhängig vom Status
                        if(debugging){
                            log('[DEBUG] '+'Geräte Nr. ' +i  +' Name: '+ common_name +' ('+id_name+') --- '+native_type +' --- Typ: '+meldungsart +' --- Status: ' +status +' ' +status_text +datum_seit +datum_neu);
                        }                                                  
                    }); 
                    
                    // Schleife ist durchlaufen. Im Log wird der aktuelle Status ausgegeben
                    if(Betroffen > 0){
                       if(debugging || log_manuell){
                           log('Es gibt: '+Gesamt +' Geräte im Gewerk ' +meldungsart+'. Derzeit: '+Betroffen +' Meldung(en).');
                           
                            }
                       if(Betroffen >1){
                            if(logging){
                                log('Übersicht aller Meldungen im Gewerk: ' +meldungsart +': '+ text.join(', '));
                            }   
                       }
                       //Push verschicken
                        if(sendpush && !log_manuell){
                            prio = prio_Rauchmelder;
                            titel = 'Rauch erkannt';
                            message = _message_tmp;
                            send_pushover (device, message, titel, prio);
                        }   
                        
                    }
                    else{
                        if((debugging) || (onetime && log_manuell)){
                            if(Gesamt === 0){
                                log('Keine Geräte zum überwachen gefunden.');
                            }
                            else{
                                log(Gesamt +' Geräte mit dem Datenpunkt ' +meldungsart+' werden überwacht.');
                            }
                        }  
                    }
                    }
                    
                    //Auslösen durch Zustandsänderung
                    if(observation){
                    cacheSelectorSmoke.on(function(obj) {
                    Smoke(obj);
                    });
                    }
                    
                    if(onetime){
                    //beim Start
                    Smoke();
                    }
                    
                    

                    Hier der Log beim Starten des Skriptes:

                    javascript.0	2020-02-16 17:54:32.984	info	(13024) script.js.common.Rauchmelder: registered 7 subscriptions and 0 schedules
                    javascript.0	2020-02-16 17:54:32.984	info	(13024) script.js.common.Rauchmelder: 7 Geräte mit dem Datenpunkt Rauch erkannt werden überwacht.
                    javascript.0	2020-02-16 17:54:32.984	info	(13024) script.js.common.Rauchmelder: [DEBUG] Geräte Nr. 6 Name: OG_Treppenhaus_Rauchmelder (NEQ1029056) --- HM-Sec-SD-2 --- Typ: ERROR_SMOKE_CHAMBER-1_ALARM --- Status: 0 kein Rauch
                    javascript.0	2020-02-16 17:54:32.984	info	(13024) script.js.common.Rauchmelder: [DEBUG] Geräte Nr. 5 Name: EG_Diele_Rauchmelder (NEQ1029037) --- HM-Sec-SD-2 --- Typ: ERROR_SMOKE_CHAMBER-1_ALARM --- Status: 0 kein Rauch
                    javascript.0	2020-02-16 17:54:32.983	info	(13024) script.js.common.Rauchmelder: [DEBUG] Geräte Nr. 4 Name: EG_Wohnzimmer_Rauchmelder (NEQ1028984) --- HM-Sec-SD-2 --- Typ: ERROR_SMOKE_CHAMBER-1_ALARM --- Status: 0 kein Rauch
                    javascript.0	2020-02-16 17:54:32.983	info	(13024) script.js.common.Rauchmelder: [DEBUG] Geräte Nr. 3 Name: OG_Schlafzimmer_Rauchmelder (NEQ1028652) --- HM-Sec-SD-2 --- Typ: ERROR_SMOKE_CHAMBER-1_ALARM --- Status: 0 kein Rauch
                    javascript.0	2020-02-16 17:54:32.983	info	(13024) script.js.common.Rauchmelder: [DEBUG] Geräte Nr. 2 Name: OG_Diele_Rauchmelder (NEQ1028645) --- HM-Sec-SD-2 --- Typ: ERROR_SMOKE_CHAMBER-1_ALARM --- Status: 0 kein Rauch
                    javascript.0	2020-02-16 17:54:32.982	info	(13024) script.js.common.Rauchmelder: [DEBUG] Geräte Nr. 1 Name: OG_Kinderzimmer_Hinten_Rauchmelder (NEQ1028635) --- HM-Sec-SD-2 --- Typ: ERROR_SMOKE_CHAMBER-1_ALARM --- Status: 0 kein Rauch
                    javascript.0	2020-02-16 17:54:32.982	info	(13024) script.js.common.Rauchmelder: [DEBUG] Geräte Nr. 0 Name: OG_Kinderzimmer_Vorne_Rauchmelder (NEQ1028629) --- HM-Sec-SD-2 --- Typ: ERROR_SMOKE_CHAMBER-1_ALARM --- Status: 0 kein Rauch
                    javascript.0	2020-02-16 17:54:32.981	info	(13024) script.js.common.Rauchmelder: [DEBUG] Function Rauch erkannt wird gestartet.
                    javascript.0	2020-02-16 17:54:32.833	info	(13024) Start javascript script.js.common.Rauchmelder
                    

                    Edit:
                    Hier nun die aktuelle funktionierende Version (wird wenn es Veränderungen gibt aktualisiert) :

                    var logging = true;
                    var debugging = false;
                    
                    var observation = true;     //Dauerhafte Überwachung der Geräte auf Rauch (true = aktiv // false =inaktiv)
                    var onetime = true;         //Prüft beim Script Start ob derzeit Geräte Rauch erkennen
                    
                    const prio_Rauchmelder = 0;
                       
                    //Variablen für Pushover
                    const sendpush   = true;                    //true = verschickt per Pushover Nachrchten // false = Pushover wird nicht benutzt
                    const pushover_Instanz0 =  'pushover.0';    // Pushover instance für HM Alarme
                    const pushover_Instanz1 =  'pushover.1';    // Pushover instance für HM Warnungen
                    const pushover_Instanz2 =  'pushover.2';    // Pushover instance für Zigbee Alarme
                    const pushover_Instanz3 =  'pushover.3';    // Pushover instance für Zigbee Warnung
                    var prio = -2;                              //nicht verändern die höchste Prio nach Fehlertyp wird verwendet
                    var titel;
                    var message; 
                    var device = 'All';                  //Welches Gerät soll die Nachricht bekommen
                     
                    function send_pushover (device, message, titel, prio) {
                        var pushover_Instanz;
                        if (prio === 0){pushover_Instanz =  pushover_Instanz0;}
                        else if (prio == 1){pushover_Instanz =  pushover_Instanz1;}
                        else if (prio == 2){pushover_Instanz =  pushover_Instanz2;}
                        else {pushover_Instanz =  pushover_Instanz3;}
                        sendTo(pushover_Instanz, { 
                            device: device,
                            message: message, 
                            title: titel, 
                            priority: 2,
                            retry: 60,
                            expire: 600,
                            html: 1
                        }); 
                    }
                    
                    //Ab hier eigentliches Script
                    
                    var cacheSelectorSmoke = $('*.STATE(functions=rauchmelder)');
                    
                    function Smoke(obj) {
                    var meldungsart = 'Rauch erkannt';
                    var Gesamt = 0;
                    var Betroffen = 0;
                    var text = [];
                    var _message_tmp = ' ';
                    var log_manuell = false;
                    
                    if (obj) {
                        var common_name = obj.common.name.substr(0, obj.common.name.indexOf(':'));
                        var status = obj.newState.val;                                 
                        var status_text;
                        if(status){
                            status_text = 'Rauch erkannt';
                        }
                        else{
                            status_text = 'kein Rauch';    
                        }
                        var id_name = obj.id.split('.')[2];
                        log(common_name +' ('+id_name +') ' +'--- Typ: '+meldungsart +' --- Status: ' +status_text);
                    } 
                    else {
                        if(debugging){
                            log('[DEBUG] '+'Function ' +meldungsart +' wird gestartet.'); 
                        }
                        log_manuell = true;
                    } 
                    
                    cacheSelectorSmoke.each(function (id, i) {// Schleife für jedes gefundenen Element *.LOWBAT
                        var obj    = getObject(id);
                        //var common_name = getObject(id).common.name.substr(0, obj.common.name.indexOf(':'));
                        var common_name = getObject(id.substring(0, id.lastIndexOf('.') - 2)).common.name;
                        var id_name = id.split('.')[2];
                        var native_type = getObject(id.substring(0, id.lastIndexOf('.') - 2)).native.TYPE;
                        var meldungsart = id.split('.')[4];
                        var datum = formatDate(getState(id).lc, "TT.MM.JJ SS:mm:ss");
                        var datum_neu;
                        var datum_seit;
                        if(datum < '01.01.71 01:00:00'){
                            datum_seit = '';
                            datum_neu = '';
                        }else{
                            datum_seit=  ' --- seit: ';
                            datum_neu = datum +' Uhr';
                        }
                        
                        var status = getState(id).val;                                  
                        var status_text;
                        if(status){
                            status_text = 'Rauch erkannt';
                        }
                        else{
                            status_text = 'kein Rauch';    
                        }
                    
                        if (status === true) {      // wenn Zustand = true, dann wird die Anzahl der Geräte hochgezählt
                            ++Betroffen;
                            text.push(common_name +' ('+id_name +')');                            // Zu Array hinzufügen
                            _message_tmp = _message_tmp +common_name +' ('+id_name +')' + ' - <font color="red">Rauch erkannt</font> '+'\n';
                    
                        }  
                        ++Gesamt;          // Zählt die Anzahl der vorhandenen Geräte unabhängig vom Status
                        if(debugging){
                            log('[DEBUG] '+'Geräte Nr. ' +i  +' Name: '+ common_name +' ('+id_name+') --- '+native_type +' --- Typ: '+meldungsart +' --- Status: ' +status +' ' +status_text +datum_seit +datum_neu);
                        }                                                  
                    }); 
                    
                    // Schleife ist durchlaufen. Im Log wird der aktuelle Status ausgegeben
                    if(Betroffen > 0){
                       if(debugging || log_manuell){
                           log('Es gibt: '+Gesamt +' Geräte im Gewerk ' +meldungsart+'. Derzeit: '+Betroffen +' Meldung(en).');
                           
                            }
                       if(Betroffen >1){
                            if(logging){
                                log('Übersicht aller Meldungen im Gewerk: ' +meldungsart +': '+ text.join(', '));
                            }   
                       }
                       //Push verschicken
                        if(sendpush && !log_manuell){
                            prio = prio_Rauchmelder;
                            titel = 'Rauch erkannt';
                            message = _message_tmp;
                            send_pushover (device, message, titel, prio);
                        }   
                        
                    }
                    else{
                        if((debugging) || (onetime && log_manuell)){
                            if(Gesamt === 0){
                                log('Keine Geräte zum überwachen gefunden.');
                            }
                            else{
                                log(Gesamt +' Geräte mit dem Datenpunkt ' +meldungsart+' werden überwacht.');
                            }
                        }  
                    }
                    }
                    
                    //Auslösen durch Zustandsänderung
                    if(observation){
                    cacheSelectorSmoke.on(function(obj) {
                    Smoke(obj);
                    });
                    }
                    
                    if(onetime){
                    //beim Start
                    Smoke();
                    }
                    
                    
                    paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von
                    #20

                    @Dominik-F sagte:

                    var cacheSelectorSmoke = $('*.STATE(functions=rauchmelder)').each(function(id, i) {log(id);});

                    Zeile 39: Das ist eine Testfunktion. Richtige Variable:

                    var cacheSelectorSmoke = $('*.STATE(functions=rauchmelder)');
                    

                    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

                    Dominik F.D 1 Antwort Letzte Antwort
                    0
                    • paul53P paul53

                      @Dominik-F sagte:

                      var cacheSelectorSmoke = $('*.STATE(functions=rauchmelder)').each(function(id, i) {log(id);});

                      Zeile 39: Das ist eine Testfunktion. Richtige Variable:

                      var cacheSelectorSmoke = $('*.STATE(functions=rauchmelder)');
                      
                      Dominik F.D Offline
                      Dominik F.D Offline
                      Dominik F.
                      schrieb am zuletzt editiert von
                      #21

                      @paul53

                      Danke schön, hab es im ersten Post aktualisiert

                      1 Antwort Letzte Antwort
                      0
                      • Dominik F.D Dominik F.

                        @cash
                        Gerade das mit dem html war mir nicht klar :D Danke für deine Erklärung

                        @Feuersturm
                        Nein, ich nutze keine HM IP, falls der Datenpunkt STATE dort auch existiert würde ich es einfach mal testen. Falls es nicht funktioniert kann man es vielleicht so umschreiben, dass es auch damit funktioniert.
                        Hab das aktuelle Skript oben eingestellt

                        FeuersturmF Online
                        FeuersturmF Online
                        Feuersturm
                        schrieb am zuletzt editiert von Feuersturm
                        #22

                        @Dominik-F Dankeschön.
                        Die HMIP-SWSD haben folgende Datenpunkte:
                        606c5000-5abb-4f31-a6a6-3bb0c9601918-grafik.png

                        SMOKE_DETECTOR_ALARM_STATUS
                        "0": "IDLE_OFF",
                        "1": "PRIMARY_ALARM",
                        "2": "INTRUSION_ALARM",
                        "3": "SECONDARY_ALARM"

                        SMOKE_DETECTOR_COMMAND
                        "0": "RESERVED_ALARM_OFF",
                        "1": "INTRUSION_ALARM_OFF",
                        "2": "INTRUSION_ALARM",
                        "3": "SMOKE_TEST",
                        "4": "COMMUNICATION_TEST",
                        "5": "COMMUNICATION_TEST_REPEATED

                        SMOKE_DETECTOR_TEST_RESULT
                        "0": "NONE",
                        "1": "SMOKE_TEST_OK",
                        "2": "SMOKE_TEST_FAILED",
                        "3": "COMMUNICATION_TEST_SENT",
                        "4": "COMMUNICATION_TEST_OK"

                        Ich werde in den nächsten Tagen einmal schauen, dass ich dein Skript verstehe und ob ich es für die HMIP-SWSD Rauchmelder anpassen kann. Heute werde ich vermutlich nicht mehr dazu kommen.

                        Dominik F.D 1 Antwort Letzte Antwort
                        -1
                        • FeuersturmF Feuersturm

                          @Dominik-F Dankeschön.
                          Die HMIP-SWSD haben folgende Datenpunkte:
                          606c5000-5abb-4f31-a6a6-3bb0c9601918-grafik.png

                          SMOKE_DETECTOR_ALARM_STATUS
                          "0": "IDLE_OFF",
                          "1": "PRIMARY_ALARM",
                          "2": "INTRUSION_ALARM",
                          "3": "SECONDARY_ALARM"

                          SMOKE_DETECTOR_COMMAND
                          "0": "RESERVED_ALARM_OFF",
                          "1": "INTRUSION_ALARM_OFF",
                          "2": "INTRUSION_ALARM",
                          "3": "SMOKE_TEST",
                          "4": "COMMUNICATION_TEST",
                          "5": "COMMUNICATION_TEST_REPEATED

                          SMOKE_DETECTOR_TEST_RESULT
                          "0": "NONE",
                          "1": "SMOKE_TEST_OK",
                          "2": "SMOKE_TEST_FAILED",
                          "3": "COMMUNICATION_TEST_SENT",
                          "4": "COMMUNICATION_TEST_OK"

                          Ich werde in den nächsten Tagen einmal schauen, dass ich dein Skript verstehe und ob ich es für die HMIP-SWSD Rauchmelder anpassen kann. Heute werde ich vermutlich nicht mehr dazu kommen.

                          Dominik F.D Offline
                          Dominik F.D Offline
                          Dominik F.
                          schrieb am zuletzt editiert von
                          #23

                          @Feuersturm

                          ich muss da jedoch ehrlich zu dir sein. Ich habe von @cash ein Skript für einen Wassermelder bekommen und habe das dann verändert und mit seiner und @paul53 Hilfe das nun zum laufen bekommen, daher werde ich dir da nur schwer helfen können. Ich würde mich natürlich freuen wenn am Ende ein Skript rauskommt, was sowohl HM als auch HMIP Geräte findet und damit funktioniert. Vielleicht klappt es ja mit zusammenarbeit von allen :)

                          cashC 1 Antwort Letzte Antwort
                          0
                          • FeuersturmF Online
                            FeuersturmF Online
                            Feuersturm
                            schrieb am zuletzt editiert von
                            #24

                            Da bin ich guter Dinge, dass die Zusammenarbeit hier im Forum klappt. Ich stehe auch noch am Anfang meiner Programmierkünste. Bisher konnte ich aber jedes Problem durch Suchen oder durch die Hilfe von anderen Users hier im Forum lösen.

                            Vielleicht kommt ja auch noch der Hinweis zu einem fertigen Skript, welches die HMIP Rauchmelder überwacht, welches ich bisher noch nicht gefunden habe.

                            cashC 1 Antwort Letzte Antwort
                            0
                            • Dominik F.D Dominik F.

                              @Feuersturm

                              ich muss da jedoch ehrlich zu dir sein. Ich habe von @cash ein Skript für einen Wassermelder bekommen und habe das dann verändert und mit seiner und @paul53 Hilfe das nun zum laufen bekommen, daher werde ich dir da nur schwer helfen können. Ich würde mich natürlich freuen wenn am Ende ein Skript rauskommt, was sowohl HM als auch HMIP Geräte findet und damit funktioniert. Vielleicht klappt es ja mit zusammenarbeit von allen :)

                              cashC Offline
                              cashC Offline
                              cash
                              Most Active
                              schrieb am zuletzt editiert von
                              #25

                              @Dominik-F @Feuersturm Das Script sollte doch auch für HmIP funktionieren. Einfach testen. Im Script sollte halt noch die Pushover Ergänzungen rein. Und dann die Feuermelder halt in die entsprechende Gruppe packen. Ich vermute auch die werden mittel State laufen.

                              Ohne Gewähr - sollte aber passen.

                              Dominik F.D 1 Antwort Letzte Antwort
                              0
                              • cashC cash

                                @Dominik-F @Feuersturm Das Script sollte doch auch für HmIP funktionieren. Einfach testen. Im Script sollte halt noch die Pushover Ergänzungen rein. Und dann die Feuermelder halt in die entsprechende Gruppe packen. Ich vermute auch die werden mittel State laufen.

                                Ohne Gewähr - sollte aber passen.

                                Dominik F.D Offline
                                Dominik F.D Offline
                                Dominik F.
                                schrieb am zuletzt editiert von
                                #26

                                @cash

                                Laut seinen Datenpunkten gibt es den Datenpunkt STATE bei HMIP nicht. Denke das einzige Problem wird wieder sein, den richtigen Datenpunkt zu finden und zu ergänzen

                                1 Antwort Letzte Antwort
                                0
                                • FeuersturmF Feuersturm

                                  Da bin ich guter Dinge, dass die Zusammenarbeit hier im Forum klappt. Ich stehe auch noch am Anfang meiner Programmierkünste. Bisher konnte ich aber jedes Problem durch Suchen oder durch die Hilfe von anderen Users hier im Forum lösen.

                                  Vielleicht kommt ja auch noch der Hinweis zu einem fertigen Skript, welches die HMIP Rauchmelder überwacht, welches ich bisher noch nicht gefunden habe.

                                  cashC Offline
                                  cashC Offline
                                  cash
                                  Most Active
                                  schrieb am zuletzt editiert von
                                  #27

                                  @Feuersturm Ah hatte Deine Datenpunkte nicht gesehen. Stimmt das passt so nicht zusammen und müsste entsprechend angepasst werden.

                                  dslraserD 1 Antwort Letzte Antwort
                                  0
                                  • cashC cash

                                    @Feuersturm Ah hatte Deine Datenpunkte nicht gesehen. Stimmt das passt so nicht zusammen und müsste entsprechend angepasst werden.

                                    dslraserD Offline
                                    dslraserD Offline
                                    dslraser
                                    Forum Testing Most Active
                                    schrieb am zuletzt editiert von dslraser
                                    #28

                                    Ich habe mal etwas gesucht, weil ich das nun auch mal umsetzen möchte. Zu den HMIP Rauchmeldern habe ich folgende Info gefunden.

                                    SMOKE_DETECTOR_ALARM_STATUS

                                    Die Zustände sind wie folgt:
                                    0 = Kein Alarm steht an
                                    1 = Brandalarm an diesem Melder erkannt
                                    2 = Der Melder signalisiert einen Einbruchalarm
                                    3 = Ein anderer Melder hat einen Brandalarm erkannt, dieser wurde auch an diesem Melder signalisiert

                                    Das ist dieser DP

                                    {
                                      "type": "state",
                                      "common": {
                                        "def": "IDLE_OFF",
                                        "type": "number",
                                        "read": true,
                                        "write": false,
                                        "min": 0,
                                        "max": 3,
                                        "states": {
                                          "0": "IDLE_OFF",
                                          "1": "PRIMARY_ALARM",
                                          "2": "INTRUSION_ALARM",
                                          "3": "SECONDARY_ALARM"
                                        },
                                        "name": "Rauchmelder Wohnzimmer.SMOKE_DETECTOR_ALARM_STATUS"
                                      },
                                      "native": {
                                        "MIN": "IDLE_OFF",
                                        "OPERATIONS": 5,
                                        "MAX": "SECONDARY_ALARM",
                                        "FLAGS": 1,
                                        "ID": "SMOKE_DETECTOR_ALARM_STATUS",
                                        "TYPE": "ENUM",
                                        "DEFAULT": "IDLE_OFF",
                                        "VALUE_LIST": [
                                          "IDLE_OFF",
                                          "PRIMARY_ALARM",
                                          "INTRUSION_ALARM",
                                          "SECONDARY_ALARM"
                                        ],
                                        "CONTROL": "DANGER.STATE"
                                      },
                                      "from": "system.adapter.hm-rpc.0",
                                      "user": "system.user.admin",
                                      "ts": 1581756986839,
                                      "_id": "hm-rpc.0.xxx.1.SMOKE_DETECTOR_ALARM_STATUS",
                                      "acl": {
                                        "object": 1636,
                                        "state": 1636,
                                        "owner": "system.user.admin",
                                        "ownerGroup": "system.group.administrator"
                                      }
                                    }
                                    

                                    Müßte sich dann auch umsetzen lassen ( ich mach das dann mal per Blockly für mich)

                                    paul53P 1 Antwort Letzte Antwort
                                    0
                                    • dslraserD dslraser

                                      Ich habe mal etwas gesucht, weil ich das nun auch mal umsetzen möchte. Zu den HMIP Rauchmeldern habe ich folgende Info gefunden.

                                      SMOKE_DETECTOR_ALARM_STATUS

                                      Die Zustände sind wie folgt:
                                      0 = Kein Alarm steht an
                                      1 = Brandalarm an diesem Melder erkannt
                                      2 = Der Melder signalisiert einen Einbruchalarm
                                      3 = Ein anderer Melder hat einen Brandalarm erkannt, dieser wurde auch an diesem Melder signalisiert

                                      Das ist dieser DP

                                      {
                                        "type": "state",
                                        "common": {
                                          "def": "IDLE_OFF",
                                          "type": "number",
                                          "read": true,
                                          "write": false,
                                          "min": 0,
                                          "max": 3,
                                          "states": {
                                            "0": "IDLE_OFF",
                                            "1": "PRIMARY_ALARM",
                                            "2": "INTRUSION_ALARM",
                                            "3": "SECONDARY_ALARM"
                                          },
                                          "name": "Rauchmelder Wohnzimmer.SMOKE_DETECTOR_ALARM_STATUS"
                                        },
                                        "native": {
                                          "MIN": "IDLE_OFF",
                                          "OPERATIONS": 5,
                                          "MAX": "SECONDARY_ALARM",
                                          "FLAGS": 1,
                                          "ID": "SMOKE_DETECTOR_ALARM_STATUS",
                                          "TYPE": "ENUM",
                                          "DEFAULT": "IDLE_OFF",
                                          "VALUE_LIST": [
                                            "IDLE_OFF",
                                            "PRIMARY_ALARM",
                                            "INTRUSION_ALARM",
                                            "SECONDARY_ALARM"
                                          ],
                                          "CONTROL": "DANGER.STATE"
                                        },
                                        "from": "system.adapter.hm-rpc.0",
                                        "user": "system.user.admin",
                                        "ts": 1581756986839,
                                        "_id": "hm-rpc.0.xxx.1.SMOKE_DETECTOR_ALARM_STATUS",
                                        "acl": {
                                          "object": 1636,
                                          "state": 1636,
                                          "owner": "system.user.admin",
                                          "ownerGroup": "system.group.administrator"
                                        }
                                      }
                                      

                                      Müßte sich dann auch umsetzen lassen ( ich mach das dann mal per Blockly für mich)

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

                                      @dslraser
                                      Dieser $Selector sollte genügen:

                                      const cacheSelectorSmoke = $('*.SMOKE_DETECTOR_ALARM_STATUS');
                                      

                                      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

                                      dslraserD 2 Antworten Letzte Antwort
                                      0
                                      • paul53P paul53

                                        @dslraser
                                        Dieser $Selector sollte genügen:

                                        const cacheSelectorSmoke = $('*.SMOKE_DETECTOR_ALARM_STATUS');
                                        
                                        dslraserD Offline
                                        dslraserD Offline
                                        dslraser
                                        Forum Testing Most Active
                                        schrieb am zuletzt editiert von dslraser
                                        #30

                                        @paul53
                                        ich wollte gerade anfangen :blush:

                                        Bildschirmfoto 2020-02-17 um 22.25.21.png

                                        Meine 6 Melder werden auch gefunden

                                        17.2.2020, 22:25:12.450	[info ]: javascript.0 (4842) Stop script script.js.Rauchmelder.Rauchmelder_Auslöser
                                        17.2.2020, 22:25:12.538	[info ]: javascript.0 (4842) Start javascript script.js.Rauchmelder.Rauchmelder_Auslöser
                                        17.2.2020, 22:25:12.545	[info ]: javascript.0 (4842) script.js.Rauchmelder.Rauchmelder_Auslöser: registered 6 subscriptions and 0 schedules
                                        
                                        1 Antwort Letzte Antwort
                                        0
                                        • paul53P paul53

                                          @dslraser
                                          Dieser $Selector sollte genügen:

                                          const cacheSelectorSmoke = $('*.SMOKE_DETECTOR_ALARM_STATUS');
                                          
                                          dslraserD Offline
                                          dslraserD Offline
                                          dslraser
                                          Forum Testing Most Active
                                          schrieb am zuletzt editiert von dslraser
                                          #31

                                          @paul53 sagte in Rauchmelder Skript:

                                          @dslraser
                                          Dieser $Selector sollte genügen:

                                          const cacheSelectorSmoke = $('*.SMOKE_DETECTOR_ALARM_STATUS');
                                          

                                          ich mußte var statt const schreiben, sonst kamen Fehler.

                                          Script Start aus dem ersten Beitrag mit dem HMIP Selector

                                          17.2.2020, 22:32:19.153	[info ]: javascript.0 (4842) Stop script script.js.Rauchmelder.Skript_1
                                          17.2.2020, 22:32:19.238	[info ]: javascript.0 (4842) Start javascript script.js.Rauchmelder.Skript_1
                                          17.2.2020, 22:32:19.340	[info ]: javascript.0 (4842) script.js.Rauchmelder.Skript_1: [DEBUG] Function Rauch erkannt wird gestartet.
                                          17.2.2020, 22:32:19.341	[info ]: javascript.0 (4842) script.js.Rauchmelder.Skript_1: [DEBUG] Geräte Nr. 0 Name: Rauchmelder Keller Flur_Dev (xxx) --- HmIP-SWSD --- Typ: SMOKE_DETECTOR_ALARM_STATUS --- Status: 0 kein Rauch --- seit: 11.12.19 13:34:06 Uhr
                                          17.2.2020, 22:32:19.341	[info ]: javascript.0 (4842) script.js.Rauchmelder.Skript_1: [DEBUG] Geräte Nr. 1 Name: Rauchmelder Flur_Dev (xxx) --- HmIP-SWSD --- Typ: SMOKE_DETECTOR_ALARM_STATUS --- Status: 0 kein Rauch --- seit: 11.12.19 13:34:06 Uhr
                                          17.2.2020, 22:32:19.342	[info ]: javascript.0 (4842) script.js.Rauchmelder.Skript_1: [DEBUG] Geräte Nr. 2 Name: Rauchmelder Wohnzimmer_Dev (xxx) --- HmIP-SWSD --- Typ: SMOKE_DETECTOR_ALARM_STATUS --- Status: 0 kein Rauch --- seit: 17.02.20 21:45:20 Uhr
                                          17.2.2020, 22:32:19.342	[info ]: javascript.0 (4842) script.js.Rauchmelder.Skript_1: [DEBUG] Geräte Nr. 3 Name: Rauchmelder Gästezimmer_Dev (xxx) --- HmIP-SWSD --- Typ: SMOKE_DETECTOR_ALARM_STATUS --- Status: 0 kein Rauch --- seit: 11.12.19 13:34:06 Uhr
                                          17.2.2020, 22:32:19.343	[info ]: javascript.0 (4842) script.js.Rauchmelder.Skript_1: [DEBUG] Geräte Nr. 4 Name: Rauchmelder Keller Wohnzimmer_Dev (xxx) --- HmIP-SWSD --- Typ: SMOKE_DETECTOR_ALARM_STATUS --- Status: 0 kein Rauch --- seit: 11.12.19 13:34:06 Uhr
                                          17.2.2020, 22:32:19.344	[info ]: javascript.0 (4842) script.js.Rauchmelder.Skript_1: [DEBUG] Geräte Nr. 5 Name: Rauchmelder Schlafzimmer_Dev (xxx) --- HmIP-SWSD --- Typ: SMOKE_DETECTOR_ALARM_STATUS --- Status: 0 kein Rauch --- seit: 11.12.19 13:34:06 Uhr
                                          17.2.2020, 22:32:19.344	[info ]: javascript.0 (4842) script.js.Rauchmelder.Skript_1: 6 Geräte mit dem Datenpunkt Rauch erkannt werden überwacht.
                                          17.2.2020, 22:32:19.344	[info ]: javascript.0 (4842) script.js.Rauchmelder.Skript_1: registered 6 subscriptions and 0 schedules
                                          

                                          Beim Wohnzimmer habe ich vorhin in den Datenpunkten "gespielt", deshalb heute "Rauch erkannt"

                                          paul53P 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

                                          920

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          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