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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    [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 @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
                                          • W
                                            w00dy @paul53 last edited by

                                            @paul53

                                            Super, so läufts. Danke👍

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            488
                                            Online

                                            31.7k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

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