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. [gelöst] Überwachung Fensterkontakte (zigbee) per Javascript 4.0.5 funktioniert nicht mehr

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

[gelöst] Überwachung Fensterkontakte (zigbee) per Javascript 4.0.5 funktioniert nicht mehr

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
25 Beiträge 3 Kommentatoren 1.8k 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.
  • M Offline
    M Offline
    Mitch
    schrieb am zuletzt editiert von
    #21

    Hallo Paul,

    erstmal vielen Dank für deine Hilfe. Bei mir funktioniert der obere Teil noch nicht so ganz. Ist da ein Fehler im Javascript 4.0.5 Adapter?

    Dann sollte man doch den Fehler melden, oder?

    Folgendes Skript führe ich auf Anforderung aus:

    `const sensor = getObject('enum.functions.sensors').common.members;
    
             sendTo('telegram.0', {
                text:   'BlaBla'
             });
    
    for(let i = 0; i < sensor.length; i++) {
       var name = getObject(sensor[i]).common.name;
       on(sensor[i] + '.voltage', function (dp) { 
          if(dp.state.val <= 4.8) {
             sendTo('telegram.0', {
                text:   'Die Batterie vom Sensor ' + name + ' neigt sich dem Ende zu. Die aktuelle Spannung beträgt ' + dp.state.val + ' V.'
             });
          }
       });
    }`
    
    Effekt: BlaBla schreibt er noch, aber bzgl. des Batterie-Anzeige wird nichts generiert. Ich habe mal den Value auf 4.8 hochgesetzt. Das sollte bei allen meinen Zigbee-Devices gelten, aber nichts passiert.
    
    Kann man vielleicht nur den Javascript-Adapter auf die ältere Version downgraden, ohne Probleme zu erwarten?
    
    Zumindestens bis das Problem behoben ist?[/i][/i]
    
    1 Antwort Letzte Antwort
    0
    • paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von
      #22

      @Mitch:

      Das sollte bei allen meinen Zigbee-Devices gelten, aber nichts passiert. `
      Während das Skript aktiv ist, muss sich der Wert <u>ändern</u>, damit getriggert wird.

      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

      1 Antwort Letzte Antwort
      0
      • M Offline
        M Offline
        Mitch
        schrieb am zuletzt editiert von
        #23

        Hallo zusammen,

        vielen Dank nochmal an Paul. Er hat mir mit seinen Hinweisen zum Ziel geleitet.

        Hier das fertige Skript. Es läuft unter dem Javascript 4.0.5 Adapter:

        `const sensor = getObject('enum.functions.sensors').common.members;
        
        for(let i = 0; i < sensor.length; i++) {
            var name = getObject(sensor[i]).common.name;
            on(sensor[i] + '.battery', function (dp) { 
                if(dp.state.val <= 20) {
                    var name = getObject(sensor[i]).common.name;
                    sendTo('telegram.0', {
                        text:   'Die Batterie vom Sensor '+ name +' neigt sich dem Ende zu. Aktuell noch ' + dp.state.val + '% Batterie.'
                    });
                }
            });
            on(sensor[i] + '.voltage', function (dp) { 
                if(dp.state.val <= 2.8) {
                    var name = getObject(sensor[i]).common.name;
                    sendTo('telegram.0', {
                        text:   'Die Batterie vom Sensor ' + name + ' neigt sich dem Ende zu. Die aktuelle Spannung beträgt ' + dp.state.val + 'V.'
                    });
                }
            });
            on(sensor[i] + '.opened', function (dp) { 
                if(dp.state.val == true) {
                    var name = getObject(sensor[i]).common.name;
                    var id = getObject(sensor[i])._id;
                    var idkurz = id.split('.')[2];            
                    createState('isopen.'+idkurz, true, {
                        read: true, 
                        write: true, 
                        desc: name, 
                        type: "boolean", 
                        def: false
                    });
                }
                if(dp.state.val == false) {
                    var name = getObject(sensor[i]).common.name;
                    var id = getObject(sensor[i])._id;
                    var idkurz = id.split('.')[2];
                    deleteState('isopen.'+idkurz);
                }
            });
        }`
        
        Ich setze den Thread auf gelöst.[/i][/i][/i][/i][/i][/i][/i][/i][/i][/i]
        
        1 Antwort Letzte Antwort
        0
        • smartboartS Offline
          smartboartS Offline
          smartboart
          schrieb am zuletzt editiert von
          #24

          @paul53:

          Habe auf Version 4.0.5 hochgezogen und getestet (Gewerk "batterie" zwei Geräten zugeordnet).

          $('device[state.id=*.state](functions=batterie)');
          

          funktioniert nicht.

          const rm = $('*.state(functions=batterie)');
          
          rm.each(function(id, i) {
              log(id);
          });
          
          

          funktioniert erst nach Neustart (Javascript / ioBroker).

          19:50:11.243	info	javascript.1 script.js.common.Test3: zigbee.0.002.state
          19:50:11.243	info	javascript.1 script.js.common.Test3: zigbee.0.003.state
          
          ```` `  
          

          Also stimmst du mir zu, das die enum funktionen sich nicht so verhalten wie sie sollten?

          Was ist jetzt die Ursache?

          Sollte man das bei github als issue melden? Bei Zigbee oder javascript?

          1 Antwort Letzte Antwort
          0
          • paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von
            #25

            @smartboart:

            Sollte man das bei github als issue melden? Bei Zigbee oder javascript? `
            Ja, bei Javascript.

            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

            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

            835

            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