NEWS
Hilfe bei request -> http Umstellung Sonos Sprachausgabe
-
Blockly in JS ohne "erstelle Text aus"
// Infoansage Morgens httpGet('http://192.168.1.251:5005/K%C3%BCche/say/Guten Morgen, Heute istSonntag der 04.08.2024 es ist 16 Uhr 39, Die Außentemperatur beträgt 22,5°C /de-de', { timeout: 20000, responseType: 'text' }, async (err, response) => { console.info(err); });
Blockly in JS mit "erstelle Text aus"
// Infoansage Morgens httpGet((['http://192.168.1.251:5005/K%C3%BCche/say/','Guten Morgen Heute ist','Sonntag',' der ','04.08.2024',' es ist ','16',' Uhr ','39',' Die Außentemperatur beträgt ','22,5','°C','/de-de'].join('')), { timeout: 20000, responseType: 'text' }, async (err, response) => { console.info(err); });
-
@xbit sagte: Blockly in JS mit "erstelle Text aus"
Da kommt der gleiche Text raus (ohne die zwei Kommata).
EDIT: Erstelle mal die URL mit Textzusammensetzung in eine Variable und übergebe die Variable an httpGet().@haus-automatisierung
Kann es sein, dass httpGet() die zusätzliche runde Klammer stört? -
danke @paul53 habe ich auch schon gemacht.
es geht dann ein mal danach wieder nicht starte ich das Script ein paar mal neu geht es wieder 1 mal... jedoch kommt die Sprachausgabe immer 2 mal hintereinander.
Log:
javascript.0 19:06:42.995 info Stopping script script.js.common.0_userdata_0_.Testbereich.Sprechausgabe_Sonos_Test javascript.0 19:06:43.041 info Start JavaScript script.js.common.0_userdata_0_.Testbereich.Sprechausgabe_Sonos_Test (Blockly) javascript.0 19:06:43.044 info script.js.common.0_userdata_0_.Testbereich.Sprechausgabe_Sonos_Test: http://192.168.1.251:5005/K%C3%BCche/say/Guten Morgen, Heute ist Sonntag der 04.08.2024 es ist 19 Uhr 6 ,Die Außentemperatur beträgt 21,5 °C/de-de javascript.0 19:06:43.045 info script.js.common.0_userdata_0_.Testbereich.Sprechausgabe_Sonos_Test: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions javascript.0 19:07:09.859 info Stopping script script.js.common.0_userdata_0_.Testbereich.Sprechausgabe_Sonos_Test javascript.0 19:07:09.906 info Start JavaScript script.js.common.0_userdata_0_.Testbereich.Sprechausgabe_Sonos_Test (Blockly) javascript.0 19:07:09.914 info script.js.common.0_userdata_0_.Testbereich.Sprechausgabe_Sonos_Test: http://192.168.1.251:5005/K%C3%BCche/say/Guten Morgen, Heute ist Sonntag der 04.08.2024 es ist 19 Uhr 7 ,Die Außentemperatur beträgt 21,5 °C/de-de javascript.0 19:07:09.916 info script.js.common.0_userdata_0_.Testbereich.Sprechausgabe_Sonos_Test: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions javascript.0 19:07:11.063 error script.js.common.0_userdata_0_.Testbereich.Sprechausgabe_Sonos_Test: httpGet(url=http://192.168.1.251:5005/K%C3%BCche/say/Guten Morgen, Heute ist Sonntag der 04.08.2024 es ist 19 Uhr 7 ,Die Außentemperatur beträgt 21,5 °C/de-de, error=socket hang up) javascript.0 19:07:15.799 info Stopping script script.js.common.0_userdata_0_.Testbereich.Sprechausgabe_Sonos_Test javascript.0 19:07:15.848 info Start JavaScript script.js.common.0_userdata_0_.Testbereich.Sprechausgabe_Sonos_Test (Blockly) javascript.0 19:07:15.851 info script.js.common.0_userdata_0_.Testbereich.Sprechausgabe_Sonos_Test: http://192.168.1.251:5005/K%C3%BCche/say/Guten Morgen, Heute ist Sonntag der 04.08.2024 es ist 19 Uhr 7 ,Die Außentemperatur beträgt 21,5 °C/de-de javascript.0 19:07:15.852 info script.js.common.0_userdata_0_.Testbereich.Sprechausgabe_Sonos_Test: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions javascript.0 19:07:15.853 error script.js.common.0_userdata_0_.Testbereich.Sprechausgabe_Sonos_Test: httpGet(url=http://192.168.1.251:5005/K%C3%BCche/say/Guten Morgen, Heute ist Sonntag der 04.08.2024 es ist 19 Uhr 7 ,Die Außentemperatur beträgt 21,5 °C/de-de, error=connect ECONNREFUSED 192.168.1.251:5005) javascript.0 19:07:20.967 info Stopping script script.js.common.0_userdata_0_.Testbereich.Sprechausgabe_Sonos_Test javascript.0 19:07:21.014 info Start JavaScript script.js.common.0_userdata_0_.Testbereich.Sprechausgabe_Sonos_Test (Blockly) javascript.0 19:07:21.022 info script.js.common.0_userdata_0_.Testbereich.Sprechausgabe_Sonos_Test: http://192.168.1.251:5005/K%C3%BCche/say/Guten Morgen, Heute ist Sonntag der 04.08.2024 es ist 19 Uhr 7 ,Die Außentemperatur beträgt 21,5 °C/de-de javascript.0 19:07:21.024 info script.js.common.0_userdata_0_.Testbereich.Sprechausgabe_Sonos_Test: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions javascript.0 19:07:21.025 error script.js.common.0_userdata_0_.Testbereich.Sprechausgabe_Sonos_Test: httpGet(url=http://192.168.1.251:5005/K%C3%BCche/say/Guten Morgen, Heute ist Sonntag der 04.08.2024 es ist 19 Uhr 7 ,Die Außentemperatur beträgt 21,5 °C/de-de, error=connect ECONNREFUSED 192.168.1.251:5005) javascript.0 19:07:26.840 info Stopping script script.js.common.0_userdata_0_.Testbereich.Sprechausgabe_Sonos_Test javascript.0 19:07:26.936 info Start JavaScript script.js.common.0_userdata_0_.Testbereich.Sprechausgabe_Sonos_Test (Blockly) javascript.0 19:07:26.939 info script.js.common.0_userdata_0_.Testbereich.Sprechausgabe_Sonos_Test: http://192.168.1.251:5005/K%C3%BCche/say/Guten Morgen, Heute ist Sonntag der 04.08.2024 es ist 19 Uhr 7 ,Die Außentemperatur beträgt 21,5 °C/de-de javascript.0 19:07:26.940 info script.js.common.0_userdata_0_.Testbereich.Sprechausgabe_Sonos_Test: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions javascript.0 19:08:07.100 info Stopping script script.js.common.0_userdata_0_.Testbereich.Sprechausgabe_Sonos_Test javascript.0 19:08:07.238 info Start JavaScript script.js.common.0_userdata_0_.Testbereich.Sprechausgabe_Sonos_Test (Blockly) javascript.0 19:08:07.248 info script.js.common.0_userdata_0_.Testbereich.Sprechausgabe_Sonos_Test: http://192.168.1.251:5005/K%C3%BCche/say/Guten Morgen, Heute ist Sonntag der 04.08.2024 es ist 19 Uhr 8 ,Die Außentemperatur beträgt 21,5 °C/de-de javascript.0 19:08:07.249 info script.js.common.0_userdata_0_.Testbereich.Sprechausgabe_Sonos_Test: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions javascript.0 19:08:08.574 error script.js.common.0_userdata_0_.Testbereich.Sprechausgabe_Sonos_Test: httpGet(url=http://192.168.1.251:5005/K%C3%BCche/say/Guten Morgen, Heute ist Sonntag der 04.08.2024 es ist 19 Uhr 8 ,Die Außentemperatur beträgt 21,5 °C/de-de, error=socket hang up) javascript.0 19:08:18.406 info Stopping script script.js.common.0_userdata_0_.Testbereich.Sprechausgabe_Sonos_Test javascript.0 19:08:18.496 info Start JavaScript script.js.common.0_userdata_0_.Testbereich.Sprechausgabe_Sonos_Test (Blockly) javascript.0 19:08:18.499 info script.js.common.0_userdata_0_.Testbereich.Sprechausgabe_Sonos_Test: http://192.168.1.251:5005/K%C3%BCche/say/Guten Morgen, Heute ist Sonntag der 04.08.2024 es ist 19 Uhr 8 ,Die Außentemperatur beträgt 21,5 °C/de-de javascript.0 19:08:18.500 info script.js.common.0_userdata_0_.Testbereich.Sprechausgabe_Sonos_Test: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions javascript.0 19:08:18.502 error script.js.common.0_userdata_0_.Testbereich.Sprechausgabe_Sonos_Test: httpGet(url=http://192.168.1.251:5005/K%C3%BCche/say/Guten Morgen, Heute ist Sonntag der 04.08.2024 es ist 19 Uhr 8 ,Die Außentemperatur beträgt 21,5 °C/de-de, error=connect ECONNREFUSED 192.168.1.251:5005) javascript.0 19:08:20.327 info Stopping script script.js.common.0_userdata_0_.Testbereich.Sprechausgabe_Sonos_Test javascript.0 19:08:20.482 info Start JavaScript script.js.common.0_userdata_0_.Testbereich.Sprechausgabe_Sonos_Test (Blockly) javascript.0 19:08:20.485 info script.js.common.0_userdata_0_.Testbereich.Sprechausgabe_Sonos_Test: http://192.168.1.251:5005/K%C3%BCche/say/Guten Morgen, Heute ist Sonntag der 04.08.2024 es ist 19 Uhr 8 ,Die Außentemperatur beträgt 21,5 °C/de-de javascript.0 19:08:20.486 info script.js.common.0_userdata_0_.Testbereich.Sprechausgabe_Sonos_Test: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
da wo der error fehlt geht es (halt 2x hintereinander)
-
Da ich immer noch an einer Lösung suche...
Kann es sein, dass der Timeout nicht lang genug wartet?
Ich habe 200ms und auch 500ms eingestellt bekomme aber nach 1ms die Meldung das die 500ms überschritten sind.Habe für diesen Text das Blockly wie folgt aufgebaut:
Log:
javascript.0 20:06:57.237 error script.js.common.0_userdata_0_.Testbereich.Sprechausgabe_Sonos_Test: httpGet(url=http://192.168.1.251:5005/K%C3%BCche/say/Guten Morgen, Heute ist /de-de, error=timeout of 200ms exceeded) javascript.0 20:06:57.237 info script.js.common.0_userdata_0_.Testbereich.Sprechausgabe_Sonos_Test: Status Code: null javascript.0 20:06:57.237 info script.js.common.0_userdata_0_.Testbereich.Sprechausgabe_Sonos_Test: Antwortzeit: undefined javascript.0 20:06:57.237 info script.js.common.0_userdata_0_.Testbereich.Sprechausgabe_Sonos_Test: response headers: [object Object] javascript.0 20:06:57.237 info script.js.common.0_userdata_0_.Testbereich.Sprechausgabe_Sonos_Test: Fehlermeldung: timeout of 200ms exceeded javascript.0 20:07:11.688 info Stopping script script.js.common.0_userdata_0_.Testbereich.Sprechausgabe_Sonos_Test javascript.0 20:07:11.791 info Start JavaScript script.js.common.0_userdata_0_.Testbereich.Sprechausgabe_Sonos_Test (Blockly) javascript.0 20:07:11.801 info script.js.common.0_userdata_0_.Testbereich.Sprechausgabe_Sonos_Test: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions javascript.0 20:07:12.301 error script.js.common.0_userdata_0_.Testbereich.Sprechausgabe_Sonos_Test: httpGet(url=http://192.168.1.251:5005/K%C3%BCche/say/Guten Morgen, Heute ist /de-de, error=timeout of 500ms exceeded) javascript.0 20:07:12.302 info script.js.common.0_userdata_0_.Testbereich.Sprechausgabe_Sonos_Test: Status Code: null javascript.0 20:07:12.302 info script.js.common.0_userdata_0_.Testbereich.Sprechausgabe_Sonos_Test: Antwortzeit: undefined javascript.0 20:07:12.302 info script.js.common.0_userdata_0_.Testbereich.Sprechausgabe_Sonos_Test: response headers: [object Object] javascript.0 20:07:12.302 info script.js.common.0_userdata_0_.Testbereich.Sprechausgabe_Sonos_Test: Fehlermeldung: timeout of 500ms exceeded
Irgendwie ist immer eine andere Meldung....
-
@xbit Kannst Du mal die Leerzeichen mit %20 ersetzen?
http://192.168.1.251:5005/K%C3%BCche/say/Guten%20Morgen%2C%20Heute%20ist%20/de-de
Klappt es dann?
-
geht leider auch nicht.
Ich muss aber dazu sagten das trotz der Fehlermeldung mit der Zeitüberschreitung der Text abgespielt wird.
aber wenn der Text länger wird klappt es nicht mehr.
Ich habe auch schon alle Sonderzeichen raus gemacht auch ohne Erfolg. -
@xbit Hab es gerade mal getestet und bekomme keinen Fehler. Timeout 5 Sek.
-
ich mit 5 sec auch nicht aber wenn das Script um 20:06:57.237 Startet und die Fehlermeldung 20:06:57.237 kommt das 200ms überschritten sind kann doch was nicht stimmen oder?
aber wenn du auch Sonos hast und die http-api kannst du da nicht mal das Blockly bei dir testen?
-
@xbit Da liegen doch exakt 500ms zwischen:
javascript.0 20:07:11.801 info script.js.common.0_userdata_0_.Testbereich.Sprechausgabe_Sonos_Test: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions javascript.0 20:07:12.301 error script.js.common.0_userdata_0_.Testbereich.Sprechausgabe_Sonos_Test: httpGet(url=http://192.168.1.251:5005/K%C3%BCche/say/Guten Morgen, Heute ist /de-de, error=timeout of 500ms exceeded)
-
ja hast du recht bin bei dem testen schon ganz durch...
Falls es möglich ist, da du ja augenscheinlich auch die Sonos http api hast könntest du ja mal den Code aus Post 1 testen ob er geht muss ja nur die IP und der Raumname geändert werden und eventuell die Außentemperatur ausschalten.
Ansonsten müsste ich dann einen anderen Weg suchen um wieder die verschiedenen Ansagen zu erhalten.
EDIT Sorry hier der Code oben ist ja der alte...
-
@xbit
Den Fehler "error=socket hang up" habe ich auch manchmal. Und zwar dann, wenn ich mehrere Befehle hintereinander abfeuere, z.b. wenn ich dir Lautstärke schrittweise verändere.
Das hat meines Wissens aber nicht mi blockly zu tun oder mit dem httpget Block, sonder an sonos selbst. Ich habe diese Probleme erst seitdem ich damals die neues Software, die nur Probleme macht, installiert habe. Mit der alten Software hatte ich mit meinen blocklys nie Probleme gehabt. -
Vielen Dank für deine Info, denke mittlerweile auch es liegt nicht am Blockly, auch wenn ich diesen Fehler mit dem request Block nicht hatte (habe aber auch nie schrittweise die Lautstärke geändert).
Meinst du mit der neuen Software die node-sonos-http-api also die den Server bereitstellt oder den Sonos S2 Controller? -
@xbit
Die sonos App auf die Version 80.x. Ging auch ein Firmware Update der sonos Boxen einher. So ganz genau kann ich es aber nicht mehr sagen. Aber mit dieser neuen Version gingen bei mir alle Probleme los.