Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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 Probleme // Beim Fenster öffnen Telegram versenden

NEWS

  • Der neue Monatsrückblick für Mai und Juni 2026 ist online!
    BluefoxB
    Bluefox
    8
    1
    966

  • wichtiges UPDATE für controller 7.2.2 im stable
    HomoranH
    Homoran
    10
    1
    3.5k

  • Neues YouTube-Video: Visualisierung im Devices-Adapter
    BluefoxB
    Bluefox
    16
    1
    6.0k

Javascript Probleme // Beim Fenster öffnen Telegram versenden

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
6 Beiträge 2 Kommentatoren 1.0k Aufrufe
  • Ä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.
  • D Offline
    D Offline
    dpt
    schrieb am zuletzt editiert von
    #1

    Hardware

    Homematic CCU2

    Sensor Homematic IP optisch für versteckten Einbau

    IoBroker Visualisiert im NAS auf einem Ubuntu

    Ich habe folgende Script gemacht:

    // Fenster geöffnet
    on({id: 'hm-rpc.1.xxx.1.STATE', change:'gt'}, function (obj) {
        if (getState('variablen.0.xy').val){
        sendTo('telegram', "Das Fenster x wurde geöffnet");
    }});
    
    

    Wenn die Objekt-Variable xy auf true ist, funktioniert es eigentlich.

    mein Problemm ist, ich bekomme nicht eine Nachricht, sondern 100-500

    Ich habe es bei on auch schon mit val:1 versucht

    hat einer eine Idee oder soll ich versuchen das ganze nach der ersten Meldung zu "deaktivieren" für eine bestimmte Zeit.

    müsste es bei über 20 Sensoren machen, daher lieber eine einfachere Lösung.

    1 Antwort Letzte Antwort
    0
    • T Offline
      T Offline
      tempestas
      schrieb am zuletzt editiert von
      #2

      Edit: Fehler korrigiert

      Der Sensor meldet 0 = geschlossen, 1 = offen?

      Du hast ja letztlich eine doppelte Abfrage drin. Probier es mal so:

      // Fenster geöffnet
      
      var idFenster =  'hm-rpc.1.xxx.1.STATE';
      
      on(idFenster, function (dp) {
      
          if (dp.state.val == 1 )
      
          sendTo('telegram', "Das Fenster x wurde geöffnet");
      
      });
      
      

      für false/true:

      
      // Fenster geöffnet
      
      var idFenster =  'hm-rpc.1.xxx.1.STATE';
      
      on(idFenster, function (dp) {
          if (dp.state.val)     sendTo('telegram', "Das Fenster x wurde geöffnet");
      });
      
      

      <size="85">ioBroker | 21 Adapter | Ubuntu Server | intel NUC | Homematic CCU2 | Hue | Osram Lightify| Sonos | 2x Instar Cam | Samsung Tab A 2016 im Holzrahmen| 3x Echo dot | 1x Echo | Neato Botvac D5</size>

      1 Antwort Letzte Antwort
      0
      • T Offline
        T Offline
        tempestas
        schrieb am zuletzt editiert von
        #3

        Nachtrag:

        gibt es einen Grund, dass du zwanzig Fenster mit zwanzig Skripten überwachst (so habe ich es verstanden).

        Du könntest es auch einfach so tun:

        
        // ############### Aussenhülle überwachen ##################
        
        $('channel[state.id=*.STATE](functions="Verschluss")').on(function (obj) {		// Bei mir sind die TFK im Gewerk Verschluss
            if (obj.state.val) { // Wenn Bewegung erkannt
        
                nachricht = obj.deviceName + ' wurde geöffnet';
                if(getState(idAlarmanlage).val > 0){                            // Alarmanlage aktiv und Bewegung in Türen oder Fenstern, kannst du auch weglassen, wenn du immer informiert werden willst
                sendTo('telegram.0', {                                          // Nachricht per Telegram
                    text: nachricht        
                    }); 
                }
                if(debug) log(nachricht);
            }
        });
        
        

        <size="85">ioBroker | 21 Adapter | Ubuntu Server | intel NUC | Homematic CCU2 | Hue | Osram Lightify| Sonos | 2x Instar Cam | Samsung Tab A 2016 im Holzrahmen| 3x Echo dot | 1x Echo | Neato Botvac D5</size>

        1 Antwort Letzte Antwort
        0
        • D Offline
          D Offline
          dpt
          schrieb am zuletzt editiert von
          #4

          @tempestas:

          Der Sensor meldet 0 = geschlossen, 1 = offen?

          Du hast ja letztlich eine doppelte Abfrage drin. Probier es mal so: `
          Besten Danke, ich probier es.

          Ja, er hat 0 oder CLOSED für geschlossen und 1 oder OPEN für offen

          Warum habe ich eine doppelte Abfrage?

          on({id: 'hm-rpc.1.xxx.1.STATE', change:'gt'}......
          
          

          Der aktiviert wenn es auf 1 springt.

          if (getState('variablen.0.xy').val).......
          
          

          Die Meldung geht nur raus, wenn xy auf True gestellt ist. diese Zeile ist so bei jeder Abfrage.

          Oder mache ich ein Überelgungsfehler?

          @tempestas:

          gibt es einen Grund, dass du zwanzig Fenster mit zwanzig Skripten überwachst (so habe ich es verstanden). `
          Die Idee ist auch zur eigen Kontrolle, du weisst genau welches offen ist.

          @tempestas:

          Du könntest es auch einfach so tun: `
          8-) Das kann ich trotzdem gebrauchen, für allg. Überwachung

          1 Antwort Letzte Antwort
          0
          • T Offline
            T Offline
            tempestas
            schrieb am zuletzt editiert von
            #5

            argh sorry, da habe ich zu schnell gelesen.

            Du hast recht. Ich korrigiere und behaupte fortan das Gegenteil.

            Ich glaube, es hängt mit dem "gt" zusammen. Genau kann ich es nicht sagen. Mir fällt nur auf, dass meine TFK ja auch 0/1 melden, was aber genau wie false/true zu funktionieren scheibnt (sonst würde meine Alarmanlage nicht funktionieren, tut sie aber)

            
            // Fenster geöffnet
            
            var idFenster =  'hm-rpc.1.xxx.1.STATE';
            var idVariable = 'variablen.0.xy';
            
            on(idFenster, function (dp) {
                if (dp.state.val && getState(idVariable).val === true)     sendTo('telegram', "Das Fenster x wurde geöffnet");
            });
            
            

            so?

            <size="85">ioBroker | 21 Adapter | Ubuntu Server | intel NUC | Homematic CCU2 | Hue | Osram Lightify| Sonos | 2x Instar Cam | Samsung Tab A 2016 im Holzrahmen| 3x Echo dot | 1x Echo | Neato Botvac D5</size>

            1 Antwort Letzte Antwort
            0
            • D Offline
              D Offline
              dpt
              schrieb am zuletzt editiert von
              #6

              Besten Dank, nochmals für deine Bemühungen

              Schande auf mein Haupt :roll:

              Ich habe das Script in ein vorhandenes geschrieben, leider vor anstatt nach der Abschlussklammer des scheudle Befehl.

              Jetzt hat er alle Minute 21 neu on "Befehle" erstellt.

              Positives daran, das System hat es weggesteckt ohne das es in die Knie ging :mrgreen:

              Jetzt trotzdem eine Frage

              warum gehst du über eine "script Variable" und schreibst den Befehl nicht direkt ins on(id…........

              oder macht man dies einfach wegen der Übersicht.

              1 Antwort Letzte Antwort
              0

              Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

              Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

              Mit deinem Input könnte dieser Beitrag noch besser werden 💗

              Registrieren Anmelden
              Antworten
              • In einem neuen Thema antworten
              Anmelden zum Antworten
              • Älteste zuerst
              • Neuste zuerst
              • Meiste Stimmen


              Support us

              ioBroker
              Community Adapters
              Donate

              376

              Online

              33.0k

              Benutzer

              83.6k

              Themen

              1.3m

              Beiträge
              Community
              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
              ioBroker Community 2014-2026
              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