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.
    • 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
                                          • paul53
                                            paul53 last edited by

                                            Entferne den Kommentar von

                                            //var timer = null;
                                            

                                            Die Variable timer muss global deklariert werden.

                                            W 1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            691
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

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