Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
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

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.6k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.0k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.3k

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

Scheduled Pinned Locked Moved Skripten / Logik
25 Posts 3 Posters 1.9k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    Mitch
    wrote on last edited by
    #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 Reply Last reply
    0
    • paul53P Offline
      paul53P Offline
      paul53
      wrote on last edited by
      #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 Reply Last reply
      0
      • M Offline
        M Offline
        Mitch
        wrote on last edited by
        #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 Reply Last reply
        0
        • smartboartS Offline
          smartboartS Offline
          smartboart
          wrote on last edited by
          #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 Reply Last reply
          0
          • paul53P Offline
            paul53P Offline
            paul53
            wrote on last edited by
            #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 Reply Last reply
            0
            Reply
            • Reply as topic
            Log in to reply
            • Oldest to Newest
            • Newest to Oldest
            • Most Votes


            Support us

            ioBroker
            Community Adapters
            Donate

            535

            Online

            32.6k

            Users

            82.3k

            Topics

            1.3m

            Posts
            Community
            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
            ioBroker Community 2014-2025
            logo
            • Login

            • Don't have an account? Register

            • Login or register to search.
            • First post
              Last post
            0
            • Home
            • Recent
            • Tags
            • Unread 0
            • Categories
            • Unreplied
            • Popular
            • GitHub
            • Docu
            • Hilfe