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. JavaScript
  5. Meine Probleme beim Scripting

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

Meine Probleme beim Scripting

Scheduled Pinned Locked Moved JavaScript
21 Posts 6 Posters 5.8k 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.
  • ThisoftT Offline
    ThisoftT Offline
    Thisoft
    wrote on last edited by
    #1

    Hallo,

    jetzt muss ich doch mal fragen weil ich mit meinem Script partout nicht weiterkomme.

    Das Script hat noch keinen wirklich tieferen Sinn - es scheitert aber schon am Ansatz. Das Script wird wie erwartet bei einer Änderung des betreffenden Sensors (Fenster/Drehgriffkontakt) ausgeführt.

    createState('Badfenster', 9);
    on("hm-rpc.0.KEQ0182699.1.STATE", function(obj) {
        log("Badfenster geändert");
        var Fenster = parseint(obj.newstate.val);
        if (Fenster == 2){
        setState('Badfenster',2);        
        }
        else
        setState('Badfenster',5);
    });
    

    Dabei erhalte ich aber die folgenden Fehler:

    TypeError:	2015-03-05 00:32:44	error	at Object. (script.js.FensterOffen1:4:40)
    TypeError:	2015-03-05 00:32:44	error	Cannot read property 'val' of undefined
    message	2015-03-05 00:32:44	error	hm-rpc.0.KEQ0182699.1.STATE [object Object] Cannot read property 'val' of undefined
    javascript.0	2015-03-05 00:32:44	info	script.js.FensterOffen1: Badfenster geändert
    

    Wenn ich das Log richtig interpretiere liegt der Fehler ja wohl in diesem Ausdruck:

    obj.newstate.val

    Das habe ich doch aber von einigen Beispielen hier abgeschrieben? Was müsste denn da sonst stehen? Habe auch bereits .value und .state probiert - mit der gleichen Fehlermeldung…

    Bin gerade etwas ratlos...

    22 HM-Geräte; PivCCU2 auf RasPi

    ioBroker-Multihost; Ubuntu-Master auf Intel-Atom und 3 RasPi-Clients

    1 Reply Last reply
    0
    • S Offline
      S Offline
      smiling_Jack
      wrote on last edited by
      #2

      hallo

      probier es mal mit

      parseInt(obj.newState.val);
      
      
      1 Reply Last reply
      0
      • ThisoftT Offline
        ThisoftT Offline
        Thisoft
        wrote on last edited by
        #3

        Danke, das war der Haken…

        (Oh nein, jetzt sind diese Scripte auch noch Casesensitiv und man muss selbst drauf achten.....)

        22 HM-Geräte; PivCCU2 auf RasPi

        ioBroker-Multihost; Ubuntu-Master auf Intel-Atom und 3 RasPi-Clients

        1 Reply Last reply
        0
        • ThisoftT Offline
          ThisoftT Offline
          Thisoft
          wrote on last edited by
          #4

          Nun meine nächste Frage:

          Kann man eigentlich aus einem Script heraus den SayIt-Adapter zum Sprechen bringen? Wenn ja, wie?

          Danke und Gruß

          Thilo

          22 HM-Geräte; PivCCU2 auf RasPi

          ioBroker-Multihost; Ubuntu-Master auf Intel-Atom und 3 RasPi-Clients

          1 Reply Last reply
          0
          • S Offline
            S Offline
            Shutdown
            wrote on last edited by
            #5

            Mein erster Post… und hoffentlich sinnvoll.

            Vielleicht hier zwei kleine Skriptbeispiele (aus dashui Zeiten übernommen):

            var idSayIt            = "sayit.0.tts.text"; // Hier die entsprechende SayIt Text ID
            var idButton         = "hm-rpc.1.CUX2801001.15.PRESS_SHORT"; // Taster, Schalter, Knopf, Button
            
            // Bei Tastendruck wird folgender Text gesprochen
            subscribe({id: idButton, val: true}, function (obj) {
                 setState (idSayIt, "de;40;Taste wurde betaetigt");
            });
            
            

            und noch ein Beispiel

            var idSayIt            = "sayit.0.tts.text"; // Hier die entsprechende SayIt Text ID
            
            // Sagt jede Stunde die aktuelle Zeit an
            schedule("*/60 * * * *", function (data){
                 var d = new Date ();
                 setState (idSayIt, "Es ist jetzt " + d.getHours() + " Uhr");
            }); 
            
            
            1 Reply Last reply
            0
            • ThisoftT Offline
              ThisoftT Offline
              Thisoft
              wrote on last edited by
              #6

              Danke, die Beispiele haben mir weitergeholfen. Hab ich auch gleich noch ein Beispiel fürs schedule mit dazubekommen :D

              Allerdings hören die Fragen nicht auf: Kann ich irgendwie steuern auf welchem Rechner der Sound vom SayIt-Adapter wiedergegeben wird?

              22 HM-Geräte; PivCCU2 auf RasPi

              ioBroker-Multihost; Ubuntu-Master auf Intel-Atom und 3 RasPi-Clients

              1 Reply Last reply
              0
              • ruhr70R Offline
                ruhr70R Offline
                ruhr70
                wrote on last edited by
                #7

                ` > Beitrag von Shutdown » 05.03.2015, 23:35

                Mein erster Post… und hoffentlich sinnvoll. `

                Hi Shutdown,

                für mich war das sehr sinnvoll. Danke!

                Ich habe das direkt 1:1 ausprobiert:

                var idSayIt            = "sayit.0.tts.text"; // Hier die entsprechende SayIt Text ID
                var idButton         = "hm-rpc.0.FEQ0060867.1.STATE"; // Test ID
                
                // Bei Tastendruck wird folgender Text gesprochen
                subscribe({id: idButton, val: true}, function (obj) {
                     setState (idSayIt, "de;40;Wohnungstür geöffnet");
                });
                

                Es funktioniert soweit, dass bei ID=true der Text gesprochen wird. Nun habe ich das Phänomen, dass dies direkt zweimal passiert:

                javascript.0 2015-03-06 03:37:30 info Stop script script.js.SayIT_Text_Wohnungstür_geöffnet

                hm-rpc.0 2015-03-06 03:36:44 info setValue ["FEQ0060867:1","STATE",false] BOOL

                sayit.0 2015-03-06 03:36:40 info saying: de;40;Wohnungstür geöffnet

                sayit.0 2015-03-06 03:36:40 info saying: de;40;Wohnungstür geöffnet

                hm-rpc.0 2015-03-06 03:36:40 info setValue ["FEQ0060867:1","STATE",true] BOOL

                javascript.0 2015-03-06 03:36:34 info script.js.SayIT_Text_Wohnungstür_geöffnet: registered 1 subscription and 0 schedules

                javascript.0 2015-03-06 03:36:34 info Start javascript script.js.SayIT_Text_Wohnungstür_geöffnet

                Meine JavaScript-Fähigkeiten tendieren gegen null. D.h. sie bestehn daraus, Beispiele (Danke!) anzupassen.

                Für einen Tipp, warum der Text zweimal angesagt wird, wäre ich dankbar.

                Adapter: Fritzbox, Unify Circuit
                Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                1 Reply Last reply
                0
                • BluefoxB Offline
                  BluefoxB Offline
                  Bluefox
                  wrote on last edited by
                  #8

                  @ruhr70:

                  ` > Beitrag von Shutdown » 05.03.2015, 23:35

                  Mein erster Post… und hoffentlich sinnvoll. `

                  Hi Shutdown,

                  für mich war das sehr sinnvoll. Danke!

                  Ich habe das direkt 1:1 ausprobiert:

                  var idSayIt            = "sayit.0.tts.text"; // Hier die entsprechende SayIt Text ID
                  var idButton         = "hm-rpc.0.FEQ0060867.1.STATE"; // Test ID
                  
                  // Bei Tastendruck wird folgender Text gesprochen
                  subscribe({id: idButton, val: true}, function (obj) {
                       setState (idSayIt, "de;40;Wohnungstür geöffnet");
                  });
                  

                  Es funktioniert soweit, dass bei ID=true der Text gesprochen wird. Nun habe ich das Phänomen, dass dies direkt zweimal passiert:

                  javascript.0 2015-03-06 03:37:30 info Stop script script.js.SayIT_Text_Wohnungstür_geöffnet

                  hm-rpc.0 2015-03-06 03:36:44 info setValue ["FEQ0060867:1","STATE",false] BOOL

                  sayit.0 2015-03-06 03:36:40 info saying: de;40;Wohnungstür geöffnet

                  sayit.0 2015-03-06 03:36:40 info saying: de;40;Wohnungstür geöffnet

                  hm-rpc.0 2015-03-06 03:36:40 info setValue ["FEQ0060867:1","STATE",true] BOOL

                  javascript.0 2015-03-06 03:36:34 info script.js.SayIT_Text_Wohnungstür_geöffnet: registered 1 subscription and 0 schedules

                  javascript.0 2015-03-06 03:36:34 info Start javascript script.js.SayIT_Text_Wohnungstür_geöffnet

                  Meine JavaScript-Fähigkeiten tendieren gegen null. D.h. sie bestehn daraus, Beispiele (Danke!) anzupassen.

                  Für einen Tipp, warum der Text zweimal angesagt wird, wäre ich dankbar. `

                  Vielleicht, ist das ein Bug, was ich nicht finden konnte. Ich kann momentan nur Workaround anbieten:

                  var idSayIt   = "sayit.0.tts.text"; // Hier die entsprechende SayIt Text ID
                  var idButton = "hm-rpc.0.FEQ0060867.1.STATE"; // Test ID
                  var lastSay   = null;
                  // Bei Tastendruck wird folgender Text gesprochen
                  subscribe({id: idButton, val: true}, function (obj) {
                       if (!lastSay || ((new Date()).getTime() - lastSay) > 3000) {
                                lastSay = (new Date()).getTime();
                                setState (idSayIt, "de;40;Wohnungstür geöffnet");
                       }
                  
                  });
                  
                  1 Reply Last reply
                  0
                  • ruhr70R Offline
                    ruhr70R Offline
                    ruhr70
                    wrote on last edited by
                    #9

                    @Bluefox:

                    Vielleicht, ist das ein Bug, was ich nicht finden konnte. Ich kann momentan nur Workaround anbieten: `

                    Das ist schon zuviel des Guten ;-)

                    Ich danke Dir und werde es heute Abend testen.

                    Rückmeldung folgt.

                    Adapter: Fritzbox, Unify Circuit
                    Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                    1 Reply Last reply
                    0
                    • ruhr70R Offline
                      ruhr70R Offline
                      ruhr70
                      wrote on last edited by
                      #10

                      anbei die Rückmeldung.

                      Auch mit dem Workaround kommt die Ansage zweimal.

                      sayit.0 2015-03-06 17:53:49 info sayit.0 saying: de;40;Wohnungstür geöffnet

                      hm-rpc.0 2015-03-06 17:53:49 info hm-rpc.0 setValue ["FEQ0060867:1","STATE",true] BOOL

                      hm-rpc.0 2015-03-06 17:53:47 info hm-rpc.0 setValue ["FEQ0060867:1","STATE",false] BOOL

                      javascript.0 2015-03-06 17:53:33 info script.js.SayIT_Text_Wohnungstür_geöffnet: registered 1 subscription and 0 schedules

                      javascript.0 2015-03-06 17:53:33 info Start javascript script.js.SayIT_Text_Wohnungstür_geöffnet

                      javascript.0 2015-03-06 17:53:28 info Stop script script.js.SayIT_Text_Wohnungstür_geöffnet

                      Das ist dann der Moment, bei dem ich das Log auch nicht verstehe.

                      Ich sehe hier nur einen Aufruf von sayit.0. Ich höre aber zweimal die Ansage (überlagert ab dem zweiten Wort).

                      var idSayIt   = "sayit.0.tts.text"; // Hier die entsprechende SayIt Text ID
                      var idButton = "hm-rpc.0.FEQ0060867.1.STATE"; // Test ID
                      var lastSay   = null;
                      // Bei Tastendruck wird folgender Text gesprochen
                      subscribe({id: idButton, val: true}, function (obj) {
                           if (!lastSay || ((new Date()).getTime() - lastSay) > 3000) {
                                    lastSay = (new Date()).getTime();
                                    setState (idSayIt, "de;40;Wohnungstür geöffnet");
                           }
                      
                      });
                      

                      Adapter: Fritzbox, Unify Circuit
                      Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                      1 Reply Last reply
                      0
                      • BluefoxB Offline
                        BluefoxB Offline
                        Bluefox
                        wrote on last edited by
                        #11

                        @ruhr70:

                        anbei die Rückmeldung.

                        Auch mit dem Workaround kommt die Ansage zweimal.

                        sayit.0 2015-03-06 17:53:49 info sayit.0 saying: de;40;Wohnungstür geöffnet

                        hm-rpc.0 2015-03-06 17:53:49 info hm-rpc.0 setValue ["FEQ0060867:1","STATE",true] BOOL

                        hm-rpc.0 2015-03-06 17:53:47 info hm-rpc.0 setValue ["FEQ0060867:1","STATE",false] BOOL

                        javascript.0 2015-03-06 17:53:33 info script.js.SayIT_Text_Wohnungstür_geöffnet: registered 1 subscription and 0 schedules

                        javascript.0 2015-03-06 17:53:33 info Start javascript script.js.SayIT_Text_Wohnungstür_geöffnet

                        javascript.0 2015-03-06 17:53:28 info Stop script script.js.SayIT_Text_Wohnungstür_geöffnet

                        Das ist dann der Moment, bei dem ich das Log auch nicht verstehe.

                        Ich sehe hier nur einen Aufruf von sayit.0. Ich höre aber zweimal die Ansage (überlagert ab dem zweiten Wort).

                        var idSayIt   = "sayit.0.tts.text"; // Hier die entsprechende SayIt Text ID
                        var idButton = "hm-rpc.0.FEQ0060867.1.STATE"; // Test ID
                        var lastSay   = null;
                        // Bei Tastendruck wird folgender Text gesprochen
                        subscribe({id: idButton, val: true}, function (obj) {
                             if (!lastSay || ((new Date()).getTime() - lastSay) > 3000) {
                                      lastSay = (new Date()).getTime();
                                      setState (idSayIt, "de;40;Wohnungstür geöffnet");
                             }
                           
                        });
                        ```` `  
                        

                        Kannst du ioBroker neu starten?

                        1 Reply Last reply
                        0
                        • ruhr70R Offline
                          ruhr70R Offline
                          ruhr70
                          wrote on last edited by
                          #12

                          @Bluefox:

                          Kannst du ioBroker neu starten? `

                          Ich habe ioBroker über das Terminal neu gestartet.

                          root@iobroker:/opt/iobroker# ./iobroker restart

                          Stopping ioBroker controller daemon…

                          ioBroker controller daemon stopped.

                          Starting ioBroker controller daemon...

                          ioBroker controller daemon started. PID: 3396

                          root@iobroker:/opt/iobroker#

                          Danach habe ich das Script noch einmal getestet (den Workaround).

                          Die Ansage wird wieder zweimal gesprochen. Nun finde ich mich aber im Log wieder ;-)

                          hm-rpc.0 2015-03-06 19:21:42 info setValue ["FEQ0060867:1","STATE",false] BOOL

                          sayit.0 2015-03-06 19:21:39 info saying: de;40;Wohnungstür geöffnet

                          sayit.0 2015-03-06 19:21:39 info saying: de;40;Wohnungstür geöffnet

                          hm-rpc.0 2015-03-06 19:21:39 info setValue ["FEQ0060867:1","STATE",true] BOOL

                          Bluefox, ich finde es wirklich stark, wie sehr Du dich reinkniest.

                          Ich kann aber mit den Fehler leben, wenn es erst einmal wichtigeres gibt.

                          Adapter: Fritzbox, Unify Circuit
                          Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                          1 Reply Last reply
                          0
                          • ruhr70R Offline
                            ruhr70R Offline
                            ruhr70
                            wrote on last edited by
                            #13

                            Aktueller SayIt Adapter (0.2.0 von heute):

                            Test mit dem Workaround-Script oben.

                            Log:

                            host.iobroker 2015-03-07 11:09:44 info Restart adapter system.adapter.sayit.0 because enabled

                            host.iobroker 2015-03-07 11:09:44 error instance system.adapter.sayit.0 terminated with code 6 (uncaught exception)

                            Error: 2015-03-07 11:09:43 error at Timer.listOnTimeout [as ontimeout] (timers.js:112:15)

                            Error: 2015-03-07 11:09:43 error at null._onTimeout (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:1380:34)

                            Error: 2015-03-07 11:09:43 error at Adapter.emit (events.js:98:17)

                            Error: 2015-03-07 11:09:43 error at Adapter.sayIndex (/opt/iobroker/node_modules/iobroker.sayit/main.js:19:13)

                            Error: 2015-03-07 11:09:43 error at sayIt (/opt/iobroker/node_modules/iobroker.sayit/main.js:628:9)

                            Error: 2015-03-07 11:09:43 error at sayItGetSpeech (/opt/iobroker/node_modules/iobroker.sayit/main.js:301:17)

                            Error: 2015-03-07 11:09:43 error at sayItGetSpeechGoogle (/opt/iobroker/node_modules/iobroker.sayit/main.js:174:9)

                            Error: 2015-03-07 11:09:43 error at getLength (/opt/iobroker/node_modules/iobroker.sayit/main.js:101:24)

                            Error: 2015-03-07 11:09:43 error at Object.fs.statSync (fs.js:696:18)

                            Error: 2015-03-07 11:09:43 error ENOENT, no such file or directory '/opt/iobroker/node_modules/iobroker.sayit/say.mp3'

                            uncaught 2015-03-07 11:09:43 error exception: ENOENT, no such file or directory '/opt/iobroker/node_modules/iobroker.sayit/say.mp3'

                            sayit.0 2015-03-07 11:09:43 info saying: de;40;Wohnungstür geöffnet

                            hm-rpc.0 2015-03-07 11:09:43 info setValue ["FEQ0060867:1","STATE",true] BOOL

                            sayit.0 2015-03-07 11:09:23 info starting. Version 0.2.0 in /opt/iobroker/node_modules/iobroker.sayit

                            host.iobroker 2015-03-07 11:09:23 info instance system.adapter.sayit.0 started with pid 25896

                            Das Verzeichnis:

                            root@iobroker:/opt/iobroker/node_modules/iobroker.sayit# ls

                            admin io-package.json LICENSE nircmd package.json say

                            cmdmp3 lib main.js node_modules README.md

                            Die Datei say.mp3 gibt es nicht.

                            Adapter: Fritzbox, Unify Circuit
                            Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                            1 Reply Last reply
                            0
                            • BluefoxB Offline
                              BluefoxB Offline
                              Bluefox
                              wrote on last edited by
                              #14

                              @ruhr70:

                              Aktueller SayIt Adapter (0.2.0 von heute):

                              Test mit dem Workaround-Script oben.

                              Log:

                              host.iobroker 2015-03-07 11:09:44 info Restart adapter system.adapter.sayit.0 because enabled

                              host.iobroker 2015-03-07 11:09:44 error instance system.adapter.sayit.0 terminated with code 6 (uncaught exception)

                              Error: 2015-03-07 11:09:43 error at Timer.listOnTimeout [as ontimeout] (timers.js:112:15)

                              Error: 2015-03-07 11:09:43 error at null._onTimeout (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:1380:34)

                              Error: 2015-03-07 11:09:43 error at Adapter.emit (events.js:98:17)

                              Error: 2015-03-07 11:09:43 error at Adapter.sayIndex (/opt/iobroker/node_modules/iobroker.sayit/main.js:19:13)

                              Error: 2015-03-07 11:09:43 error at sayIt (/opt/iobroker/node_modules/iobroker.sayit/main.js:628:9)

                              Error: 2015-03-07 11:09:43 error at sayItGetSpeech (/opt/iobroker/node_modules/iobroker.sayit/main.js:301:17)

                              Error: 2015-03-07 11:09:43 error at sayItGetSpeechGoogle (/opt/iobroker/node_modules/iobroker.sayit/main.js:174:9)

                              Error: 2015-03-07 11:09:43 error at getLength (/opt/iobroker/node_modules/iobroker.sayit/main.js:101:24)

                              Error: 2015-03-07 11:09:43 error at Object.fs.statSync (fs.js:696:18)

                              Error: 2015-03-07 11:09:43 error ENOENT, no such file or directory '/opt/iobroker/node_modules/iobroker.sayit/say.mp3'

                              uncaught 2015-03-07 11:09:43 error exception: ENOENT, no such file or directory '/opt/iobroker/node_modules/iobroker.sayit/say.mp3'

                              sayit.0 2015-03-07 11:09:43 info saying: de;40;Wohnungstür geöffnet

                              hm-rpc.0 2015-03-07 11:09:43 info setValue ["FEQ0060867:1","STATE",true] BOOL

                              sayit.0 2015-03-07 11:09:23 info starting. Version 0.2.0 in /opt/iobroker/node_modules/iobroker.sayit

                              host.iobroker 2015-03-07 11:09:23 info instance system.adapter.sayit.0 started with pid 25896

                              Das Verzeichnis:

                              root@iobroker:/opt/iobroker/node_modules/iobroker.sayit# ls

                              admin io-package.json LICENSE nircmd package.json say

                              cmdmp3 lib main.js node_modules README.md

                              Die Datei say.mp3 gibt es nicht. `
                              Welche Einstellungen werden benutzt?

                              1 Reply Last reply
                              0
                              • BluefoxB Offline
                                BluefoxB Offline
                                Bluefox
                                wrote on last edited by
                                #15

                                Es gibt neuere Version von sayIt, die das Problem eventuell beseitigen kann.

                                1 Reply Last reply
                                0
                                • ruhr70R Offline
                                  ruhr70R Offline
                                  ruhr70
                                  wrote on last edited by
                                  #16

                                  Guten Morgen Bluefox,

                                  @Bluefox:

                                  Welche Einstellungen werden benutzt? `

                                  327_sayiteinstellungen.jpg

                                  @Bluefox:

                                  Es gibt neuere Version von sayIt, die das Problem eventuell beseitigen kann. `

                                  Ich habe die neue Version direkt ausprobiert (mit Workaround Script und neuer Version SayIt 0.2.1):

                                  sayit.0 2015-03-08 10:54:03 info sayit.0 starting. Version 0.2.1 in /opt/iobroker/node_modules/iobroker.sayit

                                  iobroker 2015-03-08 10:54:03 info host.iobroker instance system.adapter.sayit.0 started with pid 18796

                                  host.iobroker 2015-03-08 10:53:33 info Restart adapter system.adapter.sayit.0 because enabled

                                  host.iobroker 2015-03-08 10:53:33 error instance system.adapter.sayit.0 terminated with code 6 (uncaught exception)

                                  ReferenceError: 2015-03-08 10:53:33 error at Timer.listOnTimeout [as ontimeout] (timers.js:112:15)

                                  ReferenceError: 2015-03-08 10:53:33 error at null._onTimeout (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:1380:34)

                                  ReferenceError: 2015-03-08 10:53:33 error at Adapter.emit (events.js:98:17)

                                  ReferenceError: 2015-03-08 10:53:33 error at Adapter.sayIndex (/opt/iobroker/node_modules/iobroker.sayit/main.js:19:13)

                                  ReferenceError: 2015-03-08 10:53:33 error at sayIt (/opt/iobroker/node_modules/iobroker.sayit/main.js:628:9)

                                  ReferenceError: 2015-03-08 10:53:33 error at sayItGetSpeech (/opt/iobroker/node_modules/iobroker.sayit/main.js:309:17)

                                  ReferenceError: 2015-03-08 10:53:33 error at sayItGetSpeechGoogle (/opt/iobroker/node_modules/iobroker.sayit/main.js:182:9)

                                  ReferenceError: 2015-03-08 10:53:33 error at getLength (/opt/iobroker/node_modules/iobroker.sayit/main.js<emoji seq="1f4af">:100:</emoji>9)

                                  ReferenceError: 2015-03-08 10:53:33 error fs is not defined

                                  uncaught 2015-03-08 10:53:33 error exception: fs is not defined

                                  sayit.0 2015-03-08 10:53:33 info saying: de;40;Wohnungstür geöffnet

                                  hm-rpc.0 2015-03-08 10:53:33 info setValue ["FEQ0060867:1","STATE",true] BOOL

                                  Adapter: Fritzbox, Unify Circuit
                                  Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                                  1 Reply Last reply
                                  0
                                  • BluefoxB Offline
                                    BluefoxB Offline
                                    Bluefox
                                    wrote on last edited by
                                    #17

                                    Und jetzt? :oops:

                                    1 Reply Last reply
                                    0
                                    • ruhr70R Offline
                                      ruhr70R Offline
                                      ruhr70
                                      wrote on last edited by
                                      #18

                                      @Bluefox:

                                      Und jetzt? :oops: `

                                      Und jetzt habe ich wieder viel gelernt.

                                      Also…

                                      Nach dem Update auf 0.2.2 (SayIt Adapter) sind die Fehler im Log weg.

                                      Log nach dem Update:

                                      ! hm-rpc.0 2015-03-08 19:31:37 info hm-rpc.0 setValue ["FEQ0060867:1","STATE",false] BOOL
                                      ! sayit.0 2015-03-08 19:31:34 info sayit.0 saying: de;40;Wohnungstür geöffnet
                                      ! hm-rpc.0 2015-03-08 19:31:34 info hm-rpc.0 setValue ["FEQ0060867:1","STATE",true] BOOL
                                      ! hm-rpc.0 2015-03-08 19:31:30 info hm-rpc.0 setValue ["FEQ0060867:1","STATE",false] BOOL
                                      ! sayit.0 2015-03-08 19:31:22 info sayit.0 Copied file '/opt/iobroker/node_modules/iobroker.sayit/../../cache/24928d5f96bf7776abed90505a4aefaa.mp3' to '/opt/iobroker/node_modules/iobroker.sayit/say.mp3'
                                      ! sayit.0 2015-03-08 19:31:22 info sayit.0 saying: de;40;Wohnungstür geöffnet
                                      ! hm-rpc.0 2015-03-08 19:31:22 info hm-rpc.0 setValue ["FEQ0060867:1","STATE",true] BOOL
                                      ! sayit-0 2015-03-08 19:31:04 info starting. Version 0.2.2 in /opt/iobroker/node_modules/iobroker.sayit
                                      ! 2015-03-08 19:31:04 info info
                                      ! host-iobroker 2015-03-08 19:31:04 info instance system.adapter.sayit.0 started with pid 17667
                                      ! host-iobroker 2015-03-08 19:31:02 info instance system.adapter.sayit.0 terminated with code 0 (OK)
                                      ! sayit-0 2015-03-08 19:31:02 info terminating
                                      ! iobroker 2015-03-08 19:31:02 info exit 0
                                      ! iobroker 2015-03-08 19:31:02 info Adapter "sayit" updated
                                      ! iobroker 2015-03-08 19:31:02 info upload sayit.admin /opt/iobroker/node_modules/iobroker.sayit/admin/index.html index.html text/html
                                      ! iobroker 2015-03-08 19:31:02 info upload sayit.admin /opt/iobroker/node_modules/iobroker.sayit/admin/sayit.png sayit.png image/png
                                      ! host-iobroker 2015-03-08 19:31:02 info stopInstance system.adapter.sayit.0 killing pid 17136
                                      ! host-iobroker 2015-03-08 19:31:02 info stopInstance system.adapter.sayit.0
                                      ! host-iobroker 2015-03-08 19:31:02 info object change system.adapter.sayit.0
                                      ! iobroker 2015-03-08 19:31:02 info got /opt/iobroker/node_modules/iobroker.sayit/admin
                                      ! iobroker 2015-03-08 19:31:02 info npm install –production --prefix "/opt/iobroker/node_modules/iobroker.sayit"
                                      ! iobroker 2015-03-08 19:31:02 info iobroker.sayit@0.2.2 opt/iobroker/node_modules/iobroker.sayit└── jsftp@1.5.0 (once@1.3.0, parse-listing@1.1.2, debug@2.1.1, event-stream@3.1.7, ftp-response-parser@1.0.0)
                                      ! iobroker 2015-03-08 19:30:57 info npm install iobroker.sayit --production --prefix "/opt/iobroker"
                                      ! iobroker 2015-03-08 19:30:55 info upgrade sayit

                                      Workaround-Script:

                                      ! ````
                                      var idSayIt = "sayit.0.tts.text"; // Hier die entsprechende SayIt Text ID
                                      var idButton = "hm-rpc.0.FEQ0060867.1.STATE"; // Test ID
                                      var lastSay = null;
                                      // Bei Tastendruck wird folgender Text gesprochen
                                      subscribe({id: idButton, val: true}, function (obj) {
                                      if (!lastSay || ((new Date()).getTime() - lastSay) > 3000) {
                                      lastSay = (new Date()).getTime();
                                      setState (idSayIt, "de;40;Wohnungstür geöffnet");
                                      }

                                      });

                                      
                                      Danach habe ich mit dem Workaround-Script die Ansage trotzdem zweimal gehört (zeitlich versetzt, überlagert).
                                      
                                      Im Log tauchte die Ansage nur einmal auf, daher habe ich überlegt, ob es vom lokalen Rechner kommen kann.
                                      
                                      VIS war im Chrome gestartet. Safari war parallel auf. Safari kontrolliert, kein Tab mit ioBroker/Vis offen.
                                      
                                      Im Chrome war die VIS Umgebung ****und**** der VIS Editor offen.
                                      
                                      Versuchsweise habe ich den Tab mit dem Editor geschlossen und siehe da, die Ansage kam nur noch einmal.
                                      
                                      ****Sorry, mir war nicht klar, dass im VIS Editor auch SayIt aktiv ist und die Ansage ebenfalls abgespielt wird**** :shock:
                                      
                                      VIS-Edit geschlossen und die Ansage wurde mit dem Workaround-Script nur einmal abgespielt.
                                      
                                      ****Nun habe ich das "normale" Script noch einmal getestet****
                                      
                                      

                                      var idSayIt = "sayit.0.tts.text"; // Hier die entsprechende SayIt Text ID
                                      var idButton = "hm-rpc.0.FEQ0060867.1.STATE"; // Test rote Lampe

                                      // Bei Tastendruck wird folgender Text gesprochen
                                      subscribe({id: idButton, val: true}, function (obj) {
                                      setState (idSayIt, "de;40;Wohnungstür geöffnet");
                                      });

                                      
                                      Hier wird die Ansage wieder ****zweimal**** abgespielt (der VIS Editor ist geschlossen :D ).
                                      
                                      Das sieht man auch im Log:
                                      
                                      hm-rpc.0 2015-03-08 19:42:46 info hm-rpc.0 setValue ["FEQ0060867:1","STATE",false] BOOL
                                      
                                      sayit.0 2015-03-08 19:42:05 info sayit.0 saying: de;40;Wohnungstür geöffnet
                                      
                                      sayit.0 2015-03-08 19:42:03 info sayit.0 saying: de;40;Wohnungstür geöffnet
                                      
                                      hm-rpc.0 2015-03-08 19:42:03 info hm-rpc.0 setValue ["FEQ0060867:1","STATE",true] BOOL
                                      
                                      Kurz:
                                      
                                      Mit dem offenen VIS Editor habe ich mir selbst ein Bein gestellt.
                                      
                                      SayIT startet jetzt wieder ohne Fehler im Log.
                                      
                                      Mit dem Workaround-Script kann ich es benutzten und komme zurecht (der generelle Fehler scheint noch vorhanden zu sein). Danke noch einmal!
                                      
                                      Wenn sonst jemand mal das Problem hat (meine Einschätzung):
                                       *   werden doppelte Ansagen nacheinander abgespielt und der Aufruf tauch zweimal im Log auf: dann ist es doppelt
                                      
                                      *   Überlagert sich eine Ansage, dann kommt es vom eigenen Rechner (zweiter Tab, offener Editor, offener Tab im anderen Browser, ..)

                                      Adapter: Fritzbox, Unify Circuit
                                      Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                                      1 Reply Last reply
                                      0
                                      • derAugeD Offline
                                        derAugeD Offline
                                        derAuge
                                        wrote on last edited by
                                        #19

                                        Habe mal das Script nachgebaut

                                        var idSayIt     = "sayit.0.tts.text";               // Hier die entsprechende SayIt Text ID
                                        var idButton    = "hm-rpc.0.LEQ0471993.1.STATE";  //Taster(6x):6.
                                        
                                        // Bei Tastendruck wird folgender Text gesprochen
                                        subscribe({id: idButton, val: true}, function (obj) {
                                                    setState (idSayIt, "de;40;Licht im Flur eingeschaltet");
                                                });
                                        
                                        

                                        Wenn der Taster betätigt wird

                                        • sonos.0 2015-03-16 19:17:58 warn sonos.0 Play text2speech during another still playing
                                        sonos.0 2015-03-16 19:17:58 info sonos.0 try to control id sonos.0.root.192_168_28_232.tts with {"val":"40;[http://192.168.28.77:8082/state/sayit.0 … 1426528833](http://192.168.28.77:8082/state/sayit.0.tts.mp3%22,%22ack%22:false,%22ts%22:1426529878,%22from%22:%22system.adapter.sayit.0%22,%22lc%22:1426528833)}
                                        
                                        sayit.0 2015-03-16 19:17:58 info sayit.0 saying: de;40;Licht im Flur eingeschaltet
                                        
                                        sonos.0 2015-03-16 19:17:55 warn sonos.0 Play text2speech during another still playing
                                        
                                        sonos.0 2015-03-16 19:17:55 info sonos.0 try to control id sonos.0.root.192_168_28_232.tts with {"val":"40;[http://192.168.28.77:8082/state/sayit.0 ... 1426528833](http://192.168.28.77:8082/state/sayit.0.tts.mp3%22,%22ack%22:false,%22ts%22:1426529875,%22from%22:%22system.adapter.sayit.0%22,%22lc%22:1426528833)}
                                        
                                        sayit.0 2015-03-16 19:17:55 info sayit.0 saying: de;40;Licht im Flur eingeschaltet
                                        
                                        sayit.0 2015-03-16 19:17:54 warn sayit.0 Same text in less than a second.. Strange. Ignore it.
                                        
                                        sonos.0 2015-03-16 19:17:52 info sonos.0 try to control id sonos.0.root.192_168_28_232.tts with {"val":"40;[http://192.168.28.77:8082/state/sayit.0 ... 1426528833](http://192.168.28.77:8082/state/sayit.0.tts.mp3%22,%22ack%22:false,%22ts%22:1426529872,%22from%22:%22system.adapter.sayit.0%22,%22lc%22:1426528833)}
                                        
                                        sayit.0 2015-03-16 19:17:52 info sayit.0 saying: de;40;Licht im Flur eingeschaltet 
                                        

                                        Dann wird jedoch die letzte Playliste gestartet und nicht der Text angesagt. Die Datei (say.mp3) wird richtig erzeugt

                                        Die Play:1 muss ich dann 3x ausschalten. Sie wird immer wieder automatisch eingeschaltet.

                                        Was mache ich falsch?

                                        1 Reply Last reply
                                        0
                                        • ruhr70R Offline
                                          ruhr70R Offline
                                          ruhr70
                                          wrote on last edited by
                                          #20

                                          @derAuge:

                                          Was mache ich falsch? `

                                          Ich behaupte mal… gar nichts ;-)

                                          Das über Sonos nichts ausgegeben wird, sondern die letzte Playlist gestartet wird, war Thema des andern Thread.

                                          Stell mal auf die Ausgabe auf "Browser" und verwende Chrome, dann solltest Du Deinen Text hören.

                                          Was dabei bei mir passiert:

                                          Der Text wird zweimal hintereinander ausgegeben (dafür gibt es derzeit das Workaround-Script) plus einmal überlagert wenn der VIS Editor auch auf ist.

                                          Adapter: Fritzbox, Unify Circuit
                                          Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                                          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

                                          606

                                          Online

                                          32.6k

                                          Users

                                          82.1k

                                          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