Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. [gelöst] Könnte mir bitte jemand bei dem Script helfen?

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [gelöst] Könnte mir bitte jemand bei dem Script helfen?

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

      Hallo,

      aus diesem Thread habe ich folgendes Script genommen um auch den Satus meiner Xiaomi Aqara-TFK-Sensoren angezeigt zu bekommen.

      Trotz anpassen des Scriptes funktioniert das leider nicht.

      Was habe ich gemacht:

      Im Script habe ich folgende Zeile ergänzt und den Datenpunkt so angepasst:

      const miFenster  = $('state[id=*.opened](functions="Fenster")');
      

      Dann den Datenpunkt dem Gewerk "Fenster" zugeordnet:

      P1.jpeg

      Hier das ganze Script:

      function fensterstatus(zustand) {
          var meldung;
          switch (zustand) {
              case 1:
                  meldung = 'RHS gekippt';
              break;
              case 2:
                  meldung = 'RHS offen';
              break;
              case true:
                  meldung = 'TFK offen';
              break;
              default:
                  meldung = 'geschlossen';
              break;
          }
          return(meldung);
      }
      
      createState('zählen_Fenster.anzahlFenster', {     // wenn benötigt: Anzahl der vorhandenen Fenster
          type: 'number',
          min: 0,
          def: 0,
          role: 'value'
      });
      createState('zählen_Fenster.anzahlFensterauf', {  // Anzahl der Fenster, die auf sind als Variable unter Javascript.0 anlegen
          type: 'number',
          min: 0,
          def: 0,
          role: 'value'
      });
      createState('zählen_Fenster.textFensterauf', {      // Anzahl der offenen Fenster und deren Namen als Variable unter Javascript.0 anlegen
          type: 'string',
          def: ' ',
          role: 'value'
      });    
      
      const hmFenster  = $('channel[state.id=*.STATE](functions="Fenster")');
      const miFenster  = $('state[id=*.opened](functions="Fenster")');
      
      function countFenster() {
           // Setzt die Zähler vor dem Durchlauf aller Elemente *.STATE im Gewerk Fenster auf 0
          var anzahlFenster = 0;
          var anzahlFensterauf = 0;
          var textFensterauf = [];
      
          hmFenster.each(function (id, i) {                                  // Schleife für jedes gefundenen Element *.STATE im Gewerk Fenster
              var status = getState(id).val;                                          // Zustand *.STATE abfragen (jedes Element)
              var obj    = getObject(id);
              var name = getObject(id).common.name;
              var devicename = name.substring(0, name.indexOf(".STATE"));             //.state aus Text entfernen
              if (status /*TFK*/ || status === 1 || status === 2 /*RHS*/) {  // wenn Zustand offen, dann wird die Anzahl der Fenster hochgezählt
                   ++anzahlFensterauf;
                   textFensterauf.push(devicename + ' (' + fensterstatus(status) + ')');  // Name und Zustand zum Array hinzufügen
              }                
              log('Fenster #' + (i+1) + ': ' + devicename + ' ' + fensterstatus(status)/* + ' (' + status + ' / ' + typeof status + ')'*/);
              ++anzahlFenster;                                                        // Zählt die Anzahl der vorhandenen Fenster unabhängig vom Status
          }); 
      
          miFenster.each(function (id, i) {                                  // Schleife für jedes gefundenen Element *.state im Gewerk Fenster
              var status = getState(id).val;                                          // Zustand *.state abfragen (jedes Element)
              var obj    = getObject(id);
              var name = getObject(id).common.name;
              var devicename = name;
              if (status /*TFK*/ || status === 1 || status === 2 /*RHS*/) {  // wenn Zustand offen, dann wird die Anzahl der Fenster hochgezählt
                   ++anzahlFensterauf;
                   textFensterauf.push(devicename + ' (' + fensterstatus(status) + ')');  // Name und Zustand zum Array hinzufügen
              }                
              log('Fenster #' + (i+1) + ': ' + devicename + ' ' + fensterstatus(status)/* + ' (' + status + ' / ' + typeof status + ')'*/);
              ++anzahlFenster;                                                        // Zählt die Anzahl der vorhandenen Fenster unabhängig vom Status
          }); 
      
          // Schleifen sind durchlaufen. Im Log wird der aktuelle Status (Anzahl, davon an) ausgegeben
          log("Text: " + textFensterauf);
          log("Anzahl Fenster: " + anzahlFenster + " - davon Fenster auf: " +  anzahlFensterauf);
      
          // die ermittelten Werte werden als javascript.0\. Variable in ioBroker gespeichert (z.B. für die Verarbeitung in VIS)
          setState("zählen_Fenster.textFensterauf", textFensterauf.join(','));    // Schreibt die aktuelle Namen der offenen Fenster
          setState("zählen_Fenster.anzahlFensterauf", textFensterauf.length);         // Schreibt die aktuelle Anzahl der offenen Fenster
          setState("zählen_Fenster.anzahlFenster", anzahlFenster);                    // Schreibt die aktuelle Anzahl der vorhandene Elemente im Gewerk Fenster
      }
      
      countFenster(); // Skriptstart
      
      hmFenster.on(function(obj) {    // bei Zustandänderung *. STATE im Gewerk Fenster
          log('Auslösender Aktor: ' + obj.id + ': ' + obj.newState.val);              // Info im Log, welcher Zustand sich geändert hat
          countFenster();
      });
      miFenster.on(function(obj) {    // bei Zustandänderung *. state im Gewerk Fenster
          log('Auslösender Aktor: ' + obj.id + ': ' + obj.newState.val);              // Info im Log, welcher Zustand sich geändert hat
          countFenster();
      });
      

      Muss ich noch etwas anpassen, was mache ich falsch?

      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @w00dy last edited by paul53

        @Hicks sagte:

        const miFenster  = $('state[id=*.opened](functions="Fenster")');
        

        Ist die Enum-ID "enum.functions.Fenster" oder "enum.functions.fenster" ? Im zweiten Fall muss es geändert werden

        const miFenster  = $('state[id=*.opened](functions="fenster")');
        
        W 1 Reply Last reply Reply Quote 0
        • W
          w00dy @paul53 last edited by w00dy

          Hallo @paul53,

          die Enum-ID scheint korrekt zu sein:

          P2.jpeg

          1 Reply Last reply Reply Quote 0
          • W
            w00dy last edited by w00dy

            Hmm,

            hat den niemand eine Idee, warum das Script mit den Aqara-Sensoren nicht geht?

            Die Homematic-Sensoren funktionieren ja einwandfrei.

            1 Reply Last reply Reply Quote 0
            • paul53
              paul53 last edited by

              Lifert das folgende Testskript die IDs der Fenster ?

              const miFenster  = $('state[id=*.opened](functions="Fenster")');
              miFenster.each(function(id, i) {
                 log(id);
              });
              
              W 1 Reply Last reply Reply Quote 1
              • W
                w00dy @paul53 last edited by

                Hallo @paul53,

                leider nicht. Ich habe das Testskript so eingefügt, bin mir aber nicht sicher ob du das so meintest:

                createState('zählen_Fenster.textFensterauf', {      // Anzahl der offenen Fenster und deren Namen als Variable unter Javascript.0 anlegen
                    type: 'string',
                    def: ' ',
                    role: 'value'
                });    
                
                const hmFenster  = $('channel[state.id=*.STATE](functions="Fenster")');
                const miFenster  = $('state[id=*.opened](functions="Fenster")');
                miFenster.each(function(id, i) {
                   log(id);
                });
                
                function countFenster() {
                     // Setzt die Zähler vor dem Durchlauf aller Elemente *.STATE im Gewerk Fenster auf 0
                    var anzahlFenster = 0;
                    var anzahlFensterauf = 0;
                    var textFensterauf = [];
                
                1 Reply Last reply Reply Quote 0
                • paul53
                  paul53 last edited by

                  Meinte zwar ein extra Testskript, aber so läßt es sich auch testen. Wenn die IDs nicht im Log erscheinen, passt der $Selector nicht. Versuche es mal in einem gesonderten Testskript mit

                  const miFenster  = $('*.opened');
                  miFenster.each(function(id, i) {
                     log(id);
                  });
                  
                  W 1 Reply Last reply Reply Quote 1
                  • W
                    w00dy @paul53 last edited by

                    @paul53

                    So, habe jetzt ein Testskript angelegt, geht leider auch nciht.

                    paul53 1 Reply Last reply Reply Quote 0
                    • paul53
                      paul53 @w00dy last edited by paul53

                      @Hicks Mit dem kurzen Selector ohne functions ? Im Log kommt nichts ?
                      Welche Javascript Version ?

                      W 2 Replies Last reply Reply Quote 1
                      • W
                        w00dy @paul53 last edited by

                        @paul53

                        Ja, im Log steht nur:

                        4.3.2019, 17:13:07.319	[info ]: javascript.0 Stop script script.js.TESTTEST
                        4.3.2019, 17:13:08.209	[info ]: javascript.0 Start javascript script.js.TESTTEST
                        4.3.2019, 17:13:08.210	[info ]: javascript.0 script.js.TESTTEST: registered 0 subscriptions and 0 schedules
                        

                        Die Javascript Version ist 4.1.5

                        1 Reply Last reply Reply Quote 0
                        • W
                          w00dy @paul53 last edited by

                          @paul53

                          ...ich sehe gerade das es die Javascript-Version 4.1.8 gibt. Sollte ich besser updaten?

                          paul53 1 Reply Last reply Reply Quote 0
                          • paul53
                            paul53 @w00dy last edited by paul53

                            @Hicks Ein Versuch schadet nicht. Wenn es dann nicht funktioniert, mache ein Downgrade auf Version 3.6.4 (3.6.5), denn damit habe ich es gerade erfolgreich getestet.Test_miFenster.JPG

                            W 2 Replies Last reply Reply Quote 1
                            • W
                              w00dy @paul53 last edited by

                              @paul53

                              OK, danke! Melde mich dann wieder...😏

                              1 Reply Last reply Reply Quote 0
                              • W
                                w00dy @paul53 last edited by w00dy

                                Hallo @paul53,

                                du hattest den richtigen Riecher, die Javascript-Version war das Problem!

                                Mit der Version 4.1.8 ging's auch nicht, bin jetzt wieder zurück auf Version 3.6.4. und damit läuft auch mein oben geändertes Skript.

                                Schade, die neue Version hatte schon ihre Vorteile - ok, dann muss ich noch etwas warten.

                                Vielen Dank für deine Hilfe, ohne die wäre ich aufgemschissen gewesen.👍 ☺

                                1 Reply Last reply Reply Quote 0
                                • paul53
                                  paul53 last edited by

                                  Habe gerade mit Version 4.1.10 getestet und bei mir funktioniert es.
                                  Test_miFenster.JPG

                                  @Hicks Kannst Du bitte testen, ob es auch bei Dir funktioniert. Dann kann ich das Issue auf Github schließen.

                                  W 1 Reply Last reply Reply Quote 0
                                  • W
                                    w00dy @paul53 last edited by

                                    @paul53

                                    so, ich bin jetzt auf Version 4.1.10. Leider läuft das Skript hier auch nicht.

                                    P1.jpeg

                                    Zudem habe ich einige Warnungen im Log vom Javascript-Adapter:

                                    Javascript.0 2019-03-05 20:54:09.582 warn at TCP.onread (net.js:601:20)
                                    javascript.0 2019-03-05 20:54:09.582 warn at Socket.Readable.push (_stream_readable.js:208:10)
                                    javascript.0 2019-03-05 20:54:09.582 warn at readableAddChunk (_stream_readable.js:250:11)
                                    javascript.0 2019-03-05 20:54:09.581 warn at addChunk (_stream_readable.js:263:12)
                                    javascript.0 2019-03-05 20:54:09.581 warn at Socket.emit (events.js:211:7)
                                    javascript.0 2019-03-05 20:54:09.581 warn at emitOne (events.js:116:13)
                                    javascript.0 2019-03-05 20:54:09.581 warn at Socket._ultron.on (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/ws/lib/WebSocket.js:138:22)
                                    javascript.0 2019-03-05 20:54:09.581 warn at Receiver.add (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/ws/lib/Receiver.js:139:10)
                                    javascript.0 2019-03-05 20:54:09.581 warn at Receiver.startLoop (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/ws/lib/Receiver.js:165:16)
                                    javascript.0 2019-03-05 20:54:09.581 warn at Receiver.getData (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/ws/lib/Receiver.js:330:12)
                                    javascript.0 2019-03-05 20:54:09.581 warn at Receiver.dataMessage (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/ws/lib/Receiver.js:389:14)
                                    javascript.0 2019-03-05 20:54:09.581 warn at Receiver.receiver.onmessage (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/ws/lib/WebSocket.js:141:47)
                                    javascript.0 2019-03-05 20:54:09.580 warn at WebSocket.emit (events.js:211:7)
                                    javascript.0 2019-03-05 20:54:09.580 warn at emitOne (events.js:116:13)
                                    javascript.0 2019-03-05 20:54:09.580 warn at WebSocket.onMessage (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/ws/lib/EventTarget.js:99:16)
                                    javascript.0 2019-03-05 20:54:09.580 warn at WebSocket.ws.onmessage (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/engine.io-client/lib/transports/websocket.js:147:10)
                                    javascript.0 2019-03-05 20:54:09.580 warn at WS.Transport.onData (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/engine.io-client/lib/transport.js:137:8)
                                    javascript.0 2019-03-05 20:54:09.580 warn at WS.Transport.onPacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/engine.io-client/lib/transport.js:145:8)
                                    javascript.0 2019-03-05 20:54:09.579 warn at WS.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/component-emitter/index.js:133:20)
                                    javascript.0 2019-03-05 20:54:09.579 warn at WS.<anonymous> (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/engine.io-client/lib/socket.js:273:10)
                                    javascript.0 2019-03-05 20:54:09.579 warn at Socket.onPacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/engine.io-client/lib/socket.js:456:14)
                                    javascript.0 2019-03-05 20:54:09.579 warn at Socket.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/component-emitter/index.js:133:20)
                                    javascript.0 2019-03-05 20:54:09.579 warn at Socket.<anonymous> (/opt/iobroker/node_modules/component-bind/index.js:21:15)
                                    javascript.0 2019-03-05 20:54:09.579 warn at Manager.ondata (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:335:16)
                                    javascript.0 2019-03-05 20:54:09.578 warn at Decoder.add (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-parser/index.js:251:12)
                                    javascript.0 2019-03-05 20:54:09.578 warn at Decoder.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/component-emitter/index.js:133:20)
                                    javascript.0 2019-03-05 20:54:09.578 warn at Decoder.<anonymous> (/opt/iobroker/node_modules/component-bind/index.js:21:15)
                                    javascript.0 2019-03-05 20:54:09.578 warn at Manager.ondecoded (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:345:8)
                                    javascript.0 2019-03-05 20:54:09.578 warn at Manager.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/component-emitter/index.js:133:20)
                                    javascript.0 2019-03-05 20:54:09.577 warn at Manager.<anonymous> (/opt/iobroker/node_modules/component-bind/index.js:21:15)
                                    javascript.0 2019-03-05 20:54:09.577 warn at Socket.onpacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:236:12)
                                    javascript.0 2019-03-05 20:54:09.577 warn at Socket.onevent (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:278:10)
                                    javascript.0 2019-03-05 20:54:09.576 warn at Socket.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/component-emitter/index.js:133:20)
                                    javascript.0 2019-03-05 20:54:09.576 warn at Socket.<anonymous> (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInMemClient.js:52:30)
                                    javascript.0 2019-03-05 20:54:09.576 warn at Object.change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:3425:37)
                                    javascript.0 2019-03-05 20:54:09.575 warn at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:364:25)
                                    javascript.0 2019-03-05 20:54:09.575 warn at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:963:38)
                                    javascript.0 2019-03-05 20:54:09.575 warn at Object.<anonymous> (script.js.Meldungen.Meldung
                                    -offene_Fenster+_Türen_unterdrücken:24:76)
                                    javascript.0 2019-03-05 20:54:09.574 warn getState "javascript.0.scriptEnabled.sayit-ansagen.sayit_Fenster_vergessen_zu_schließen" not found (3)
                                    javascript.0 2019-03-05 20:53:53.255 error In file included from /home/iobroker/.node-gyp/8.15.0/include/node/v8.h:26:0, from /home/iobroker/.node-gyp/8.15.0/include/node/node.h:63, from /home/iobroker/.node-g
                                    javascript.0 2019-03-05 20:53:53.254 error ../src/BluetoothHciSocket.cpp: In member function ‘void BluetoothHciSocket::emitErrnoError()’: ../src/BluetoothHciSocket.cpp:275:72: warning: ‘v8::Localv8::Object v8::Function::NewInstance(int, v8::
                                    javascript.0 2019-03-05 20:53:53.236 error In file included from ../src/BluetoothHciSocket.cpp:8:0: ../../nan/nan.h:980:46: note: declared here NAN_DEPRECATED inline v8::Localv8::Value MakeCallback(
                                    javascript.0 2019-03-05 20:53:53.235 error ../src/BluetoothHciSocket.cpp: In member function ‘void BluetoothHciSocket::poll()’: ../src/BluetoothHciSocket.cpp:251:95: warning: ‘v8::Localv8::Value Nan::MakeCallback(v8::Localv8::Object, v8::L
                                    javascript.0 2019-03-05 20:53:44.640 error ^~~~~~~~~~~~
                                    javascript.0 2019-03-05 20:53:44.640 error NAN_DEPRECATED inline v8::Localv8::Value MakeCallback(
                                    javascript.0 2019-03-05 20:53:44.640 error ../../nan/nan.h:959:46: note: declared here
                                    javascript.0 2019-03-05 20:53:44.640 error from ../src/transfer.cc:1:
                                    javascript.0 2019-03-05 20:53:44.640 error from ../src/node_usb.h:21,
                                    javascript.0 2019-03-05 20:53:44.640 error In file included from ../src/helpers.h:3:0,
                                    javascript.0 2019-03-05 20:53:44.639 error ^
                                    javascript.0 2019-03-05 20:53:44.639 error Nan::MakeCallback(self->handle(), Nan::New(self->v8callback), 3, argv);
                                    javascript.0 2019-03-05 20:53:44.639 error ../src/transfer.cc:126:72: warning: ‘v8::Localv8::Value Nan::MakeCallback(v8::Localv8::Object, v8::Localv8::Function, int, v8::Localv8::Value)’ is deprecated [-Wdeprecated-declarations]
                                    javascript.0 2019-03-05 20:53:44.639 error ../src/transfer.cc: In function ‘void handleCompletion(Transfer
                                    )’:
                                    javascript.0 2019-03-05 20:53:33.915 error ^~~~~~~~~~~~
                                    javascript.0 2019-03-05 20:53:33.915 error NAN_DEPRECATED inline v8::Localv8::Value MakeCallback(
                                    javascript.0 2019-03-05 20:53:33.915 error ../../nan/nan.h:959:46: note: declared here
                                    javascript.0 2019-03-05 20:53:33.915 error from ../src/device.cc:1:
                                    javascript.0 2019-03-05 20:53:33.915 error from ../src/node_usb.h:21,
                                    javascript.0 2019-03-05 20:53:33.915 error In file included from ../src/helpers.h:3:0,
                                    javascript.0 2019-03-05 20:53:33.914 error ^
                                    javascript.0 2019-03-05 20:53:33.914 error Nan::MakeCallback(device, Nan::New(baton->callback), 1, argv);
                                    javascript.0 2019-03-05 20:53:33.914 error ../src/device.cc:237:64: warning: ‘v8::Localv8::Value Nan::MakeCallback(v8::Localv8::Object, v8::Localv8::Function, int, v8::Localv8::Value)’ is deprecated [-Wdeprecated-declarations]
                                    javascript.0 2019-03-05 20:53:33.914 error ../src/device.cc: In static member function ‘static void Req::default_after(uv_work_t
                                    )’:
                                    javascript.0 2019-03-05 20:53:18.574 error ^~~~~~~~~~~~
                                    javascript.0 2019-03-05 20:53:18.574 error NAN_DEPRECATED inline v8::Localv8::Value MakeCallback(
                                    javascript.0 2019-03-05 20:53:18.574 error ../../nan/nan.h:1001:46: note: declared here
                                    javascript.0 2019-03-05 20:53:18.574 error from ../src/node_usb.cc:1:
                                    javascript.0 2019-03-05 20:53:18.574 error from ../src/node_usb.h:21,
                                    javascript.0 2019-03-05 20:53:18.574 error In file included from ../src/helpers.h:3:0,
                                    javascript.0 2019-03-05 20:53:18.573 error ^
                                    javascript.0 2019-03-05 20:53:18.573 error Nan::MakeCallback(Nan::New(hotplugThis), "emit", 2, argv);
                                    javascript.0 2019-03-05 20:53:18.573 error ../src/node_usb.cc:151:58: warning: ‘v8::Localv8::Value Nan::MakeCallback(v8::Localv8::Object, const char*, int, v8::Localv8::Value)’ is deprecated [-Wdeprecated-declarations]
                                    javascript.0 2019-03-05 20:53:18.573 error ../src/node_usb.cc: In function ‘void handleHotplug(std::pair<libusb_device
                                    , libusb_hotplug_event>)’:
                                    javascript.0 2019-03-05 20:52:58.078 error
                                    javascript.0 2019-03-05 20:52:58.077 error node-pre-gyp WARN Pre-built binaries not found for usb@1.5.0 and node@8.15.0 (node-v57 ABI, glibc) (falling back to source compile with node-gyp)
                                    javascript.0 2019-03-05 20:52:58.077 error WARN Tried to download(404): https://github.com/tessel/node-usb/releases/download/1.5.0/usb_bindings-v1.5.0-node-v57-linux-arm64.tar.gz
                                    javascript.0 2019-03-05 20:52:58.076 error node-pre-gyp
                                    javascript.0 2019-03-05 20:52:57.223 error Using request for node-pre-gyp https download
                                    javascript.0 2019-03-05 20:52:57.221 error WARN
                                    javascript.0 2019-03-05 20:52:57.218 error node-pre-gyp

                                    1 Reply Last reply Reply Quote 0
                                    • paul53
                                      paul53 last edited by paul53

                                      Sehr eigenartig 😮
                                      Die Datenpunkte sind tatsächlich enum.functions.Fenster zugeordnet ?
                                      Enum_functions_Fenster.JPG
                                      Unter members im Objekt ?

                                      {
                                        "_id": "enum.functions.Fenster",
                                        "common": {
                                          "name": "Fenster",
                                          "members": [
                                            "alias.0.geraet_1.opened",
                                            "alias.0.Geraet_2.opened"
                                          ],
                                          "icon": "",
                                          "color": false
                                        },
                                        "type": "enum",
                                        "from": "system.adapter.admin.1",
                                        "ts": 1551716287358,
                                        "acl": {
                                          "object": 1636,
                                          "owner": "system.user.admin",
                                          "ownerGroup": "system.group.administrator"
                                        },
                                        "native": {}
                                      }
                                      
                                      W 4 Replies Last reply Reply Quote 0
                                      • W
                                        w00dy @paul53 last edited by

                                        @paul53

                                        ja klar:

                                        P2.jpeg

                                        Das Skript läuft ja unter V. 3.4.6 einwandfrei - merkwürdig?!?

                                        1 Reply Last reply Reply Quote 0
                                        • W
                                          w00dy @paul53 last edited by

                                          @paul53 sagte in

                                          Unter members im Objekt ?

                                          ...suche mir gerade nen Wolf, wo finde ich das?

                                          1 Reply Last reply Reply Quote 0
                                          • W
                                            w00dy @paul53 last edited by

                                            @paul53

                                            ...habe gerade festgestellt, dass dieses Skript mit der Version 4.1.10 auch Probleme macht.
                                            Wenn es klingelt, schickt mir das Skript normalerweise drei Fotos von der Cam an Telegram.
                                            Jetzt, scheint hier eine Endlosschleife vorzuliegen, dass Skript schickt ständig Fotos, Ruhe ist erst, wenn ich das Skript stoppe.

                                            // Telegram Bild senden durch Klingel oder Text to command
                                             var source_url = 'http://192.168.xxx.xx/tmpfs/snap.jpg?usr=xxxxx&pwd=xxxxx', //IP Adresse der Instar mit user und password
                                                 dest_path = '/tmp/'; //Speicherort für das Bild
                                              
                                             var Nachricht = "Jemand klingelt"; // Nachricht, welche mit dem Bild gesendet wird
                                              
                                             var request = require('request');
                                             var fs      = require('fs');
                                              
                                             //var timer = null;
                                             var count = 0;
                                              
                                             // Bild an telegram schicken
                                             function sendImage (pfad) {
                                                     sendTo('telegram.0', pfad);
                                                     //log('Webcam Bild per telegram verschickt');
                                                     sendTo("telegram.0", Nachricht);    // <-- nach der Timeout funktion ausführen
                                             }
                                              
                                             // Bild speichern
                                             function saveImage() {
                                                 request.get({url: source_url, encoding: 'binary'}, function (err, response, body) {
                                                     fs.writeFile(dest_path + 'image2.jpg', body, 'binary', function(err) {
                                              
                                                     if (err) {
                                                         //log('Fehler beim Bild speichern: ' + err, 'warn');
                                                     } else {
                                                         //log('Webcam Bild gespeichert');
                                                         sendImage(dest_path + 'image2.jpg');
                                                     }
                                                   }); 
                                                 });
                                             }
                                              
                                             //Trigger
                                             // 3 Bilder senden wenn Bewegung erkannt und keiner zu Hause ist
                                             on({id: "mqtt.0.xxxxxxx"/*xxx*/, val: true}, function () {
                                             //    if (getState("javascript.0.Unifi.Anwesenheit.UAP.Chef"/*WLAN Anwesenheit (UAP) - Chef*/).val === false) {
                                                 count = 3;
                                                 counter();
                                                 timer = setInterval(counter, 3000);
                                                 }
                                             );
                                              
                                             function counter() {
                                                 saveImage();
                                                 count--;
                                                 if(count === 0 && timer) clearInterval(timer);
                                             } 
                                            
                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            880
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            3
                                            36
                                            1589
                                            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