NEWS
Portierung CCU.IO
-
Nächster Effekt:
Die Scriptengine scheint in einer Endlosschleife zu sein. Im Log tauchen nun ständig folgende Sequenzen auf und wiederholen sich immer wieder:
sayit.0 2015-11-03 22:16:39 info sayit.0 Upload announce mp3 files sayit.0 2015-11-03 22:16:39 info sayit.0 starting. Version 0.3.11 in /opt/iobroker/node_modules/iobroker.sayit bananapi 2015-11-03 22:16:35 info host.bananapi instance system.adapter.sayit.0 started with pid 5070 bananapi 2015-11-03 22:16:05 info host.bananapi Restart adapter system.adapter.sayit.0 because enabled bananapi 2015-11-03 22:16:05 error host.bananapi instance system.adapter.sayit.0 terminated with code 6 (uncaught exception) sayit.0 2015-11-03 22:16:01 info sayit.0 saying: Der Trockner ist fertig javascript.0 2015-11-03 22:15:41 info javascript.0 script.js.Test2: registered 1 subscription and 0 schedules javascript.0 2015-11-03 22:15:41 info javascript.0 Start javascript script.js.Test2 javascript.0 2015-11-03 22:15:41 info javascript.0 received all states javascript.0 2015-11-03 22:15:41 info javascript.0 received all objects sayit.0 2015-11-03 22:15:40 info sayit.0 Upload announce mp3 files sayit.0 2015-11-03 22:15:40 info sayit.0 starting. Version 0.3.11 in /opt/iobroker/node_modules/iobroker.sayit javascript.0 2015-11-03 22:15:36 info javascript.0 requesting all objects javascript.0 2015-11-03 22:15:36 info javascript.0 requesting all states javascript-0 2015-11-03 22:15:36 info requesting all objects javascript-0 2015-11-03 22:15:36 info requesting all states javascript-0 2015-11-03 22:15:36 info starting. Version 0.5.7 in /opt/iobroker/node_modules/iobroker.javascript host-bananapi 2015-11-03 22:15:33 info instance system.adapter.sayit.0 started with pid 5058 host-bananapi 2015-11-03 22:15:23 info instance system.adapter.javascript.0 started with pid 5055 host-bananapi 2015-11-03 22:15:21 info instance system.adapter.javascript.0 terminated with code 0 (OK) host-bananapi 2015-11-03 22:15:20 info stopInstance system.adapter.javascript.0 killing pid 2485 host-bananapi 2015-11-03 22:15:20 info stopInstance system.adapter.javascript.0 host-bananapi 2015-11-03 22:15:20 info object change system.adapter.javascript.0 host-bananapi 2015-11-03 22:15:03 info Restart adapter system.adapter.sayit.0 because enabled host-bananapi 2015-11-03 22:15:03 error instance system.adapter.sayit.0 terminated with code 6 (uncaught exception) Error: 2015-11-03 22:15:03 error at TCP.close (net.js:485:12) Error: 2015-11-03 22:15:03 error at TLSSocket.emit (events.js:129:20) Error: 2015-11-03 22:15:03 error at TLSSocket.socketCloseListener (_http_client.js:247:23) Error: 2015-11-03 22:15:03 error at createHangUpError (_http_client.js:215:15) Error: 2015-11-03 22:15:03 error socket hang up uncaught 2015-11-03 22:15:03 error exception: socket hang up Error: 2015-11-03 22:15:03 error at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1010:19) Error: 2015-11-03 22:15:03 error at exports._errnoException (util.js:746:11) Error: 2015-11-03 22:15:03 error connect EHOSTUNREACH uncaught 2015-11-03 22:15:03 error exception: connect EHOSTUNREACH sayit-0 2015-11-03 22:15:00 info saying: Der Trockner ist fertig
Auch nach dem Restart von iobroker loggt er diese Sequenz immer wieder.
Wie kann ich das denn abbrechen?
Gruss Ralf
-
Wenn du sayit deaktivierst. Passiert immer noch?
-
Hab grad mal getestet:
Wenn ich alle Scripte deaktiviere ist Ruhe.
Ich habe ein Testscript mal eben aktiviert:
var idTrockner = 'hm-rega.0.44879'; //*STAT_W.Trockner_fertig*/ var idSprache = 'sayit.0.tts.text'; // Sprachausgabe Browser on ({id: idTrockner}, function (data) { sayFinish(idTrockner, 'Der Trockner ist fertig'); }); function sayFinish(idGeraet, text) { setState(idSprache, text); }
Sobald das aktiviert st kommen die Logs. Ohne dass überhaupt ein Wert von idTrockner geändert wird.
bananapi 2015-11-03 22:56:02 info host.bananapi instance system.adapter.sayit.0 started with pid 5408 bananapi 2015-11-03 22:56:02 info host.bananapi instance system.adapter.sayit.0 started with pid 5408 hm-rega.0 2015-11-03 22:55:58 info hm-rega.0 State 46031 650 hm-rega.0 2015-11-03 22:55:58 info hm-rega.0 State 46030 1019 hm-rega.0 2015-11-03 22:55:57 info hm-rega.0 State 36952 7.87 hm-rega.0 2015-11-03 22:55:57 info hm-rega.0 State 36816 8.32 hm-rega.0 2015-11-03 22:55:57 info hm-rega.0 State 36815 7.97 hm-rega.0 2015-11-03 22:55:56 info hm-rega.0 State 34330 5.3 hm-rega.0 2015-11-03 22:55:56 info hm-rega.0 State 34124 101954 hm-rega.0 2015-11-03 22:55:56 info hm-rega.0 State 34122 9.82 hm-rega.0 2015-11-03 22:55:56 info hm-rega.0 State 32642 78 hm-rega.0 2015-11-03 22:55:55 info hm-rega.0 State 12338 10 hm-rega.0 2015-11-03 22:55:55 info hm-rega.0 State 11970 6.1 bananapi 2015-11-03 22:55:32 info host.bananapi Restart adapter system.adapter.sayit.0 because enabled bananapi 2015-11-03 22:55:32 error host.bananapi instance system.adapter.sayit.0 terminated with code 6 (uncaught exception) bananapi 2015-11-03 22:55:32 info host.bananapi Restart adapter system.adapter.sayit.0 because enabled bananapi 2015-11-03 22:55:32 error host.bananapi instance system.adapter.sayit.0 terminated with code 6 (uncaught exception) Error: 2015-11-03 22:55:31 error at TCP.close (net.js:485:12) Error: 2015-11-03 22:55:31 error at TLSSocket.emit (events.js:129:20) Error: 2015-11-03 22:55:31 error at TLSSocket.socketCloseListener (_http_client.js:247:23) Error: 2015-11-03 22:55:31 error at createHangUpError (_http_client.js:215:15) Error: 2015-11-03 22:55:31 error socket hang up uncaught 2015-11-03 22:55:31 error exception: socket hang up Error: 2015-11-03 22:55:31 error at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1010:19) Error: 2015-11-03 22:55:31 error at exports._errnoException (util.js:746:11) Error: 2015-11-03 22:55:31 error connect EHOSTUNREACH uncaught 2015-11-03 22:55:31 error exception: connect EHOSTUNREACH hm-rega-0 2015-11-03 22:55:28 info State 46031 650 hm-rega-0 2015-11-03 22:55:28 info State 46030 1019 sayit-0 2015-11-03 22:55:28 info saying: Der Trockner ist fertig hm-rega-0 2015-11-03 22:55:27 info State 36952 7.87 hm-rega-0 2015-11-03 22:55:27 info State 36816 8.32 hm-rega-0 2015-11-03 22:55:27 info State 36815 7.97 hm-rega-0 2015-11-03 22:55:26 info State 34330 5.3 hm-rega-0 2015-11-03 22:55:26 info State 34124 101954 hm-rega-0 2015-11-03 22:55:26 info State 34122 9.82 hm-rega-0 2015-11-03 22:55:26 info State 32642 78 hm-rega-0 2015-11-03 22:55:25 info State 12338 10 hm-rega-0 2015-11-03 22:55:25 info State 11970 6.1 sayit-0 2015-11-03 22:55:06 info Upload announce mp3 files sayit-0 2015-11-03 22:55:06 info starting. Version 0.3.11 in /opt/iobroker/node_modules/iobroker.sayit host-bananapi 2015-11-03 22:55:02 info instance system.adapter.sayit.0 started with pid 5400 hm-rega-0 2015-11-03 22:54:58 info State 46717 41.4 hm-rega-0 2015-11-03 22:54:58 info State 46031 647 hm-rega-0 2015-11-03 22:54:58 info State 46030 1018 hm-rega-0 2015-11-03 22:54:57 info State 36952 7.87 hm-rega-0 2015-11-03 22:54:57 info State 36816 8.32 hm-rega-0 2015-11-03 22:54:57 info State 36815 7.97 hm-rega-0 2015-11-03 22:54:56 info State 34330 5.3 hm-rega-0 2015-11-03 22:54:56 info State 34124 101954 hm-rega-0 2015-11-03 22:54:56 info State 34122 9.82 hm-rega-0 2015-11-03 22:54:56 info State 32642 78 hm-rega-0 2015-11-03 22:54:55 info State 12338 10 hm-rega-0 2015-11-03 22:54:55 info State 11970 6.1 host-bananapi 2015-11-03 22:54:32 info Restart adapter system.adapter.sayit.0 because enabled host-bananapi 2015-11-03 22:54:32 error instance system.adapter.sayit.0 terminated with code 6 (uncaught exception) Error: 2015-11-03 22:54:31 error at TCP.close (net.js:485:12) Error: 2015-11-03 22:54:31 error at TLSSocket.emit (events.js:129:20) Error: 2015-11-03 22:54:31 error at TLSSocket.socketCloseListener (_http_client.js:247:23) Error: 2015-11-03 22:54:31 error at createHangUpError (_http_client.js:215:15) Error: 2015-11-03 22:54:31 error socket hang up uncaught 2015-11-03 22:54:31 error exception: socket hang up Error: 2015-11-03 22:54:31 error at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1010:19) Error: 2015-11-03 22:54:31 error at exports._errnoException (util.js:746:11) Error: 2015-11-03 22:54:31 error connect EHOSTUNREACH uncaught 2015-11-03 22:54:31 error exception: connect EHOSTUNREACH hm-rega-0 2015-11-03 22:54:28 info State 46717 41.4 hm-rega-0 2015-11-03 22:54:28 info State 46031 647 hm-rega-0 2015-11-03 22:54:28 info State 46030 1018 sayit-0 2015-11-03 22:54:28 info saying: Der Trockner ist fertig hm-rega-0 2015-11-03 22:54:26 info State 36952 7.87 hm-rega-0 2015-11-03 22:54:26 info State 36816 8.32 hm-rega-0 2015-11-03 22:54:26 info State 36815 7.97 hm-rega-0 2015-11-03 22:54:26 info State 34330 5.3 hm-rega-0 2015-11-03 22:54:26 info State 34124 101954 hm-rega-0 2015-11-03 22:54:26 info State 34122 9.82 hm-rega-0 2015-11-03 22:54:25 info State 32642 78 hm-rega-0 2015-11-03 22:54:24 info State 12338 10 hm-rega-0 2015-11-03 22:54:24 info State 11970 6.1 sayit-0 2015-11-03 22:54:06 info Upload announce mp3 files sayit-0 2015-11-03 22:54:06 info starting. Version 0.3.11 in /opt/iobroker/node_modules/iobroker.sayit host-bananapi 2015-11-03 22:54:02 info instance system.adapter.sayit.0 started with pid 5392 hm-rega-0 2015-11-03 22:53:58 info State 46717 41.4 hm-rega-0 2015-11-03 22:53:58 info State 46031 647 hm-rega-0 2015-11-03 22:53:58 info State 46030 1018 hm-rega-0 2015-11-03 22:53:57 info State 36952 7.87 hm-rega-0 2015-11-03 22:53:57 info State 36816 8.32 hm-rega-0 2015-11-03 22:53:57 info State 36815 7.97 hm-rega-0 2015-11-03 22:53:56 info State 34330 5.3 hm-rega-0 2015-11-03 22:53:56 info State 34124 101954 hm-rega-0 2015-11-03 22:53:56 info State 34122 9.82 hm-rega-0 2015-11-03 22:53:56 info State 32642 78 hm-rega-0 2015-11-03 22:53:55 info State 12338 10 hm-rega-0 2015-11-03 22:53:55 info State 11970 6.1 host-bananapi 2015-11-03 22:53:32 info Restart adapter system.adapter.sayit.0 because enabled host-bananapi 2015-11-03 22:53:32 error instance system.adapter.sayit.0 terminated with code 6 (uncaught exception) Error: 2015-11-03 22:53:32 error at TCP.close (net.js:485:12) Error: 2015-11-03 22:53:32 error at TLSSocket.emit (events.js:129:20) Error: 2015-11-03 22:53:32 error at TLSSocket.socketCloseListener (_http_client.js:247:23) Error: 2015-11-03 22:53:32 error at createHangUpError (_http_client.js:215:15) Error: 2015-11-03 22:53:32 error socket hang up uncaught 2015-11-03 22:53:32 error exception: socket hang up Error: 2015-11-03 22:53:32 error at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1010:19) Error: 2015-11-03 22:53:32 error at exports._errnoException (util.js:746:11) Error: 2015-11-03 22:53:32 error connect EHOSTUNREACH uncaught 2015-11-03 22:53:32 error exception: connect EHOSTUNREACH hm-rega-0 2015-11-03 22:53:29 info State 46717 41.4 sayit-0 2015-11-03 22:53:28 info saying: Der Trockner ist fertig hm-rega-0 2015-11-03 22:53:29 info State 46031 647 hm-rega-0 2015-11-03 22:53:29 info State 46030 1018 hm-rega-0 2015-11-03 22:53:27 info State 36952 7.87 hm-rega-0 2015-11-03 22:53:27 info State 36816 8.32 hm-rega-0 2015-11-03 22:53:27 info State 36815 7.97 hm-rega-0 2015-11-03 22:53:27 info State 34330 5.3 hm-rega-0 2015-11-03 22:53:27 info State 34124 101954 hm-rega-0 2015-11-03 22:53:27 info State 34122 9.82 hm-rega-0 2015-11-03 22:53:26 info State 32642 78 hm-rega-0 2015-11-03 22:53:25 info State 12338 10 hm-rega-0 2015-11-03 22:53:25 info State 11970 6.1 javascript-0 2015-11-03 22:53:03 info script.js.Test2: registered 1 subscription and 0 schedules javascript-0 2015-11-03 22:53:03 info Start javascript script.js.Test2
Gruss Ralf
-
Wenn du die Variable sayit.0.tts.text händisch beschreibst (aus admin), kannst du was hören?
-
Ah!
Ich weiss warum das Dings loopt:
Weil ich nur geschrieben habe:
on ({id: idTrockner'}, function (data) { sayFinish(idTrockner, 'Der Trockner ist fertig'); });
Soll das so sein?
Wenn ich change: 'ne' dazu schreibe wird wieder getriggert, aber dann kommt auch wieder der Absturz des Adapters.
Wir haben also zwei Baustellen:
a) Wie triggert man richtig (also nur wenn die Variable auf 2 geht) val:2 alleine geht nicht und val:2 mit change geht auch nicht. Nur change alleine scheint zu funktionieren oder eben ganz one change und val. Dann loopt der Mist aber sogar ohne Änderung der Varable
Kannst Du vielleicht kurz erläutern wie die on Syntax eigentlch funktioneren soll? Also was bewirken change und val genau und in kombination?
b) Der Absturz des Adapters sobald er was sagen soll. Interessanterweise aber nur bei dieser Sysvariablen…
Gruss Ralf
-
Wenn du die Variable sayit.0.tts.text händisch beschreibst (aus admin), kannst du was hören? `
Nein. Wenn ich unter Zustände die Variable beschreibe passiert gar nichts.
Gruss Ralf
-
Probier mal mit:
on ({id: idTrockner, change: 'any'}, function (obj) { log(obj.newState.val); if (obj.newState.val == 2) { sayFinish(idTrockner, 'Der Trockner ist fertig'); } });
> Nein. Wenn ich unter Zustände die Variable beschreibe passiert gar nichts.
Dann ist dein sayit falsch eingestellt. -
Probier mal mit:
on ({id: idTrockner, change: 'any'}, function (obj) { log(obj.newState.val); if (obj.newState.val == 2) { sayFinish(idTrockner, 'Der Trockner ist fertig'); } }); ```` `
Da wird wieder nichts getriggert.
Mein Sayit ist so eingestellt (Viel gibt's ja nicht einzustellen):
Gruss Ralf
-
Hast du Raspi?
Schon das gemacht?
> To enable the text to speech on RaspberryPI or linux system call one time following command sudo apt-get -y install mpg321 to install mpg321.
Vielleicjt auch testen, dass es tatsächlich geht:
-
Hallo Bluefox
@Bluefox:Hast du Raspi? `
Banana-Pi
@Bluefox:Schon das gemacht? `
Ich habe nicht das Problem dass Sayit nicht spricht. Er spricht ja. Er triggert nur nicht richtig und beim Triggern dieser einen Sysvar geht er auf die Bretter. Wenn die die idWaschmaschine ändere, dann spricht er ohne Probleme.Und: Er spricht NICHT, wenn ich die sayit.0.tts.text Variabe direkt im Reiter Zustände ändere.
Gruss Ralf
-
Ich habe mal Dein Script nochmal angepasst und sowohl obj.newState.val als auch obj.oldState.val ausgegeben:
var idTrockner = 'hm-rega.0.44879'; //*STAT_W.Trockner_fertig*/ var idSprache = 'sayit.0.tts.text'; // Sprachausgabe Browser on ({id: idTrockner, change:'ne'}, function (obj) { log("getriggert! State = "+obj.newState.val); log("getriggert! State = "+obj.oldState.val); if (obj.newState.val == 2) { sayFinish(idTrockner, 'Der Trockner ist fertig'); } }); function sayFinish(idGeraet, text) { setState(idSprache, text); log('Saying again: '+text); }
Im Log steht
javascript.0 2015-11-04 00:54:30 info javascript.0 script.js.Test2: getriggert! State = fertig javascript.0 2015-11-04 00:54:30 info javascript.0 script.js.Test2: getriggert! State = 0
Da stimmt doch was nicht, oder?
Warum gibt obj.newState.val den Index der Werteliste aus, aber obj.oldState.val den Wert?
Das ist doch nicht konsistent!
Und auf was triggert die On-Syntax? Auf newState oder oldState?
Zum Verständnis: Ich setze die Variable manuell im IoBroker auf den Wert2; Irgendwas (nicht die CCU, hab ich grad nachgesehen) setzt sie dann aber recht schnell wieder auf 0 gesetzt so dass sich eben oldState = 2 und newState = 0 ergibt.
Auf jeden Fall kommt er nicht in die if-Bedingung, weil newState zu schnell wieder auf 0 geht.
Ändere ich die Bedingung auf if (obj.newState.val == 2) {, dann wird setState(idSprache, text) aufgerufen, aber dann geht der Adapter wieder auf die Bretter.
Gruss Ralf
-
Neue Erkenntnisse:
Ich hab jetzt in einem ersten Schritt nur die Probleme mit dem Trigger untersucht:
var idTrockner = 'hm-rega.0.44879'; //*STAT_W.Trockner_fertig*/ var idSprache = 'sayit.0.tts.text'; // Sprachausgabe Browser on ({id: idTrockner, change:'ne', val: 'fertig'}, function (obj) { log("getriggert! newState = "+obj.newState.val); log("getriggert! oldState = "+obj.oldState.val); if (obj.newState.val == 0) { sayFinish(idTrockner, 'Der Trockner ist fertig'); } }); function sayFinish(idGeraet, text) { // setState(idSprache, text); log('Saying again: '+text); }
Man muss scheinbar auf val: "fertig" prüfen. In diesem Fall wird die Funktion auch nur bei dem Wert "fertig" getriggert. So soll es sen.
Was mich jetzt wundert ist das Log: Nun steht hier nämlich richtg:
javascript-0 2015-11-04 01:29:28 info script.js.Test2: getriggert! oldState = laeuft javascript-0 2015-11-04 01:29:28 info script.js.Test2: getriggert! newState = fertig
Lasse ich val: 'fertig' weg, ist newState plötzlich nicht "aus" sondern 0:
javascript-0 2015-11-04 01:34:31 info script.js.Test2: getriggert! oldState = fertig javascript-0 2015-11-04 01:34:31 info script.js.Test2: getriggert! newState = 0
Warum wird einmal der Index verwendet und dann wieder der Wert der Enumeration? Das ist doch ein Bug oder?
Gruss Ralf
-
Neue Erkenntnisse:
Ich hab jetzt in einem ersten Schritt nur die Probleme mit dem Trigger untersucht:
var idTrockner = 'hm-rega.0.44879'; //*STAT_W.Trockner_fertig*/ var idSprache = 'sayit.0.tts.text'; // Sprachausgabe Browser on ({id: idTrockner, change:'ne', val: 'fertig'}, function (obj) { log("getriggert! newState = "+obj.newState.val); log("getriggert! oldState = "+obj.oldState.val); if (obj.newState.val == 0) { sayFinish(idTrockner, 'Der Trockner ist fertig'); } }); function sayFinish(idGeraet, text) { // setState(idSprache, text); log('Saying again: '+text); }
Man muss scheinbar auf val: "fertig" prüfen. In diesem Fall wird die Funktion auch nur bei dem Wert "fertig" getriggert. So soll es sen.
Was mich jetzt wundert ist das Log: Nun steht hier nämlich richtg:
javascript-0 2015-11-04 01:29:28 info script.js.Test2: getriggert! oldState = laeuft javascript-0 2015-11-04 01:29:28 info script.js.Test2: getriggert! newState = fertig
Lasse ich val: 'fertig' weg, ist newState plötzlich nicht "aus" sondern 0:
javascript-0 2015-11-04 01:34:31 info script.js.Test2: getriggert! oldState = fertig javascript-0 2015-11-04 01:34:31 info script.js.Test2: getriggert! newState = 0
Warum wird einmal der Index verwendet und dann wieder der Wert der Enumeration? Das ist doch ein Bug oder?
Gruss Ralf `
Das ist ein bug. Frage ist nur wo. -
Hi Bluefox
> Das ist ein bug. Frage ist nur wo.
Das würde ich Dir gerne sagen wenn ich könnte.Immerhin wissen wir jetzt wie man es machen muss, bzw. nicht machen darf.
Eine Zusammenfassung dieser Erkenntnisse wäre vielleicht was für's Wiki.
Jetzt aber das eigentliche Problem was mir mehr Sorge bereitet: Das ist der Absturz des Sayit Adapters.
Und jetzt wird es immer ominöser. Ich habe ein wenig rumgespielt:
Kannst Du Dir erklären, dass der Absturz vom Text kommt der ausgegeben werden soll?
Ich habe eben "Die Waschmaschine ist fertig" in beide ON's eingegeben und es hat beides mal ohne Absturz funktioniert.
Danach habe ich als zweiten Text "Die Waschmaschine ist nicht fertig" eingegeben und prompt hat es geknallt.
Andere Texte wie "Du bloedes Teil" oder "test2" und "test1" funktionieren auch nicht und bringen den Adapter zu Absturz.
Hää?????
Wer soll das kapieren?
Du müsstest das theoretisch reproduzieren können mit diesem Code. Der erste Text funktioniert; der zweite Text lässt den Adapter abrauchen.
var idTrockner = 'hm-rega.0.44879'; //*STAT_W.Trockner_fertig*/ var idSprache = 'sayit.0.tts.text'; // Sprachausgabe Browser on ({id: idTrockner, change:'ne', val: 'fertig'}, function (obj) { setState(idSprache, 'Die Waschmaschine ist fertig'); setState(idSprache, 'Der Trockner ist fertig'); });
Gruss Ralf
-
Hallo
Da bluefox nichts mehr zum Thema schreibt: Könnte bitte irgend jemand den Code oben ausprobieren (ev eine andere Variable verwenden)?
Mich würde interessieren ob das ein Bug ist, oder ob was an meiner Installation nicht stimmt.
Gruss Ralf
-
Hi Bluefox
> Das ist ein bug. Frage ist nur wo.
Das würde ich Dir gerne sagen wenn ich könnte.Immerhin wissen wir jetzt wie man es machen muss, bzw. nicht machen darf.
Eine Zusammenfassung dieser Erkenntnisse wäre vielleicht was für's Wiki.
Jetzt aber das eigentliche Problem was mir mehr Sorge bereitet: Das ist der Absturz des Sayit Adapters.
Und jetzt wird es immer ominöser. Ich habe ein wenig rumgespielt:
Kannst Du Dir erklären, dass der Absturz vom Text kommt der ausgegeben werden soll?
Ich habe eben "Die Waschmaschine ist fertig" in beide ON's eingegeben und es hat beides mal ohne Absturz funktioniert.
Danach habe ich als zweiten Text "Die Waschmaschine ist nicht fertig" eingegeben und prompt hat es geknallt.
Andere Texte wie "Du bloedes Teil" oder "test2" und "test1" funktionieren auch nicht und bringen den Adapter zu Absturz.
Hää?????
Wer soll das kapieren?
Du müsstest das theoretisch reproduzieren können mit diesem Code. Der erste Text funktioniert; der zweite Text lässt den Adapter abrauchen.
var idTrockner = 'hm-rega.0.44879'; //*STAT_W.Trockner_fertig*/ var idSprache = 'sayit.0.tts.text'; // Sprachausgabe Browser on ({id: idTrockner, change:'ne', val: 'fertig'}, function (obj) { setState(idSprache, 'Die Waschmaschine ist fertig'); setState(idSprache, 'Der Trockner ist fertig'); });
Gruss Ralf `
change und val sind überflüssig.Es triggert erst "change - not equal" (auf Änderung) und dann falls change nicht getriggert hat, dann wird noch geprüft ob es 'fertig' ist.
D.h. dein Fall muss einfach so sein "{id: idTrockner, val: 'fertig'}"
-
Ich habe jetzt dein Skript auf das reduziert:
setState('sayit.0.tts.text', 'Die Waschmaschine ist fertig'); setState('sayit.0.tts.text', 'Der Trockner ist fertig');
Bei mir auf Raspi2 stürzt nichts ab. Und bei dir?
-
Hallo Bluefox
@Bluefox:change und val sind überflüssig.
Es triggert erst "change - not equal" (auf Änderung) und dann falls change nicht getriggert hat, dann wird noch geprüft ob es 'fertig' ist.
D.h. dein Fall muss einfach so sein "{id: idTrockner, val: 'fertig'}" `
Hab ich das richtig verstanden?Diese Syntax bedeudet dann sinngemäss: "Triggere wenn sich der Wert geändert hat oder wenn sich der Wert auf 'fertig' geändert hat"?
Gruss Ralf
-
Hi Bluefox
@Bluefox:Ich habe jetzt dein Skript auf das reduziert:
setState('sayit.0.tts.text', 'Die Waschmaschine ist fertig'); setState('sayit.0.tts.text', 'Der Trockner ist fertig');
Bei mir auf Raspi2 stürzt nichts ab. Und bei dir? `
Das ist doch das Script was ich oben zum Testen gepostet habe. Nur ohne den Trigger drum rum.
Soll ich nur ein Script mit diesen zwei Zeilen schreiben?
Wie, oder wodurch wird das ausgeführt wenn es keinen "ON…" Code gibt??
Gruss Ralf
3476_log.txt -
Ah, ja.
Geht. Wenn man das Script speichert wird es scheinbar gleich augeführt.
Ergebnis: Der erste Satz wird gesagt; beim zweiten Satz krachts. Und jetzt?
hm-rpc.0 2015-11-13 00:31:26 error hm-rpc.0 Error: not connected host-bananapi 2015-11-13 00:31:26 info Restart adapter system.adapter.sayit.0 because enabled host-bananapi 2015-11-13 00:31:26 error instance system.adapter.sayit.0 terminated with code 6 (uncaught exception) Error: 2015-11-13 00:31:25 error at TCP.close (net.js:485:12) Error: 2015-11-13 00:31:25 error at TLSSocket.emit (events.js:129:20) Error: 2015-11-13 00:31:25 error at TLSSocket.socketCloseListener (_http_client.js:247:23) Error: 2015-11-13 00:31:25 error at createHangUpError (_http_client.js:215:15) Error: 2015-11-13 00:31:25 error socket hang up uncaught 2015-11-13 00:31:25 error exception: socket hang up Error: 2015-11-13 00:31:25 error at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1010:19) Error: 2015-11-13 00:31:25 error at exports._errnoException (util.js:746:11) Error: 2015-11-13 00:31:25 error connect EHOSTUNREACH uncaught 2015-11-13 00:31:25 error exception: connect EHOSTUNREACH sayit-0 2015-11-13 00:31:22 info saying: Der Trockner ist fertig hm-rega-0 2015-11-13 00:31:18 info State 48905 0 hm-rega-0 2015-11-13 00:31:18 info State 46718 21.5 hm-rega-0 2015-11-13 00:31:18 info State 46717 39.1 hm-rega-0 2015-11-13 00:31:18 info State 46031 0 hm-rega-0 2015-11-13 00:31:18 info State 46030 2 hm-rega-0 2015-11-13 00:31:18 info State 44879 2 hm-rega-0 2015-11-13 00:31:17 info State 42820 true sayit-0 2015-11-13 00:31:17 info saying: Die Waschmaschine ist fertig
Gruss Ralf
6359_logfilemultiroom.txt.zip.txt