NEWS
[gelöst] Mit Skript einen Home24 Mediaplayer ansteuern
-
Hallo alle zusammen,
könnte mir bitte jemand auf die Sprünge helfen wie ein Skript aussehen muss, wenn ich damit die Spachausgabe nicht via Sayit und Raspi sondern auf ein "ausgedientes"Smartphone mit dem Home24 Mediaplayer schicken möchte?
Bisher sieht das ja ungefähr so aus
on({id: "hm-rpc.0.NEQ1156492.1.STATE"/*Briefkasten 1.STATE*/, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (true) { setState("sayit.1.tts.text", 'Im Briefkasten liegen neue Nachrichten.'); } });
Besten Dank schon mal und schönes Wochenende.
Thomas
-
Reicht es nicht in den Instanzeneinstellungen von Sayit Home 24 einzutragen?
Lg
Günther
-
Reicht es nicht in den Instanzeneinstellungen von Sayit Home 24 einzutragen?
Lg
Günther `
Was ich hier im Forum gelesen habe sind auf dem Weg nur mp3 möglich. Für Textansagen dann doch eher weniger geeignet. Und von Sayit möchte ich zumindest testweise mal weg, weil das nicht klappt. Abgehackte Wörter usw…..
Gruß
Thomas
-
Reicht es nicht in den Instanzeneinstellungen von Sayit Home 24 einzutragen?
Lg
Günther `
Was ich hier im Forum gelesen habe sind auf dem Weg nur mp3 möglich. Für Textansagen dann doch eher weniger geeignet. Und von Sayit möchte ich zumindest testweise mal weg, weil das nicht klappt. Abgehackte Wörter usw…..
Gruß
Thomas `
Sorry,
Aber alle deiner vier Sätze sind….. Bescheiden.
Du musst in der Instanz einstellen dass du den home24 Player benutzt.
-
var request = require ('request'); var text = "Hallo Haus"; request('http://192.168.1.1:50000/tts=' + text);
-
Sorry,
Aber alle deiner vier Sätze sind….. Bescheiden.
Du musst in der Instanz einstellen dass du den home24 Player benutzt. `
In welcher Instanz? Wenn Du richtig guckst siehst Du, dass ich von Sayit weg möchte weil es nicht ganz so toll funktioniert. In soweit ist hier nichts "bescheiden".
var request = require ('request'); var text = "Hallo Haus"; request('http://192.168.1.1:50000/tts=' + text); ```` `
Vielen Dank Bluefox, das bringt mich ein gutes Stück weiter.
Gruß
Thomas
-
In welcher Instanz? Wenn Du richtig guckst siehst Du, dass ich von Sayit weg möchte weil es nicht ganz so toll funktioniert.
var request = require ('request'); var text = "Hallo Haus"; request('http://192.168.1.1:50000/tts=' + text); ```` `
Vielen Dank Bluefox, das bringt mich ein gutes Stück weiter.
Gruß
Thomas `
Hi,
Schon mal gelesen? https://github.com/ioBroker/ioBroker.sayit
ich könnte mi vorstellen, das der Sayit Adapter nichts anderes tut als was Bluefox gepostet hat.
macht es nicht sinn den Request nicht in wie folgt zu erweitern?
var text = "Hallo Haus"; request('http://192.168.1.1:50000/tts=' + text, function (error, response, body) { if(error) { log(error, 'error'); } });
Sonst startet unter Umständen jedesmal die JS Instanz neu, wenn der Teilnehmer nicht erreichbar ist.???
-
In welcher Instanz? Wenn Du richtig guckst siehst Du, dass ich von Sayit weg möchte weil es nicht ganz so toll funktioniert.
var request = require ('request'); var text = "Hallo Haus"; request('http://192.168.1.1:50000/tts=' + text); ```` `
Dann so:
Vielen Dank Bluefox, das bringt mich ein gutes Stück weiter.
Gruß
Thomas `
Hi,
Schon mal gelesen? https://github.com/ioBroker/ioBroker.sayit
ich könnte mi vorstellen, das der Sayit Adapter nichts anderes tut als was Bluefox gepostet hat.
macht es nicht sinn den Request nicht in wie folgt zu erweitern?
var text = "Hallo Haus"; request('http://192.168.1.1:50000/tts=' + text, function (error, response, body) { if(error) { log(error, 'error'); } });
Sonst startet unter Umständen jedesmal die JS Instanz neu, wenn der Teilnehmer nicht erreichbar ist.??? `
Dann so:var request = require ('request'); var text = "Hallo Haus"; request('http://192.168.1.1:50000/tts=' + text).on ('error', function (e) { console.error (e);});
-
Dann so:
var request = require ('request'); var text = "Hallo Haus"; request('http://192.168.1.1:50000/tts=' + text).on ('error', function (e) { console.error (e);});
Wäre toll wenn du das kurz erklären könntest…. :oops:
-
Dann so:
var request = require ('request'); var text = "Hallo Haus"; request('http://192.168.1.1:50000/tts=' + text).on ('error', function (e) { console.error (e);});
Wäre toll wenn du das kurz erklären könntest…. :oops:
Javascript Adapter stürzt ab, wenn ein unhandled Error vorkommt. Mit .on ('error', sagen wir, dass da der Fehler abgearbeitet wird und request kein throw new Error machen muss.Und genau throw new Error stützt den Adapter ab.
Hier
request('http://192.168.1.1:50000/tts=' + text, function (error, response, body) { if(error) { log(error, 'error'); } });
kommen nur Fehler die nach dem Empfangen erscheinen.
Um bombenfest alles absichern braucht man so was:
try { request('http://192.168.1.1:50000/tts=' + text, function (error, response, body) { if(error) { log(error, 'error'); } }) .on('error', function (error) { log(error, 'error'); }); } catch (error) { log(error, 'error'); }
Ohne Witz
Vielleicht mache ich eine Funktion daraus. so was wie getURL(URL, function (error, body){});
-
Um bombenfest alles absichern braucht man so was:
try { request('http://192.168.1.1:50000/tts=' + text, function (error, response, body) { if(error) { log(error, 'error'); } }) .on('error', function (error) { log(error, 'error'); }); } catch (error) { log(error, 'error'); }
Ohne Witz
Vielleicht mache ich eine Funktion daraus. so was wie getURL(URL, function (error, body){}); `
Danke für deine Erklärung!!!
Aber bist du dir sicher, das das mit try..catch geht? Wenn ich mit meinen Laienhaften Wissen richtig verstanden habe, ist solch ein request ASYNCRON. Oder? Ist mit asynchronen functionen ein try…catch möglich?
Bitte um Verständnis, aber ich würde gern etwas mehr über das "programmieren" lernen! Danke
-
Um bombenfest alles absichern braucht man so was:
try { request('http://192.168.1.1:50000/tts=' + text, function (error, response, body) { if(error) { log(error, 'error'); } }) .on('error', function (error) { log(error, 'error'); }); } catch (error) { log(error, 'error'); }
Ohne Witz
Vielleicht mache ich eine Funktion daraus. so was wie getURL(URL, function (error, body){}); `
Danke für deine Erklärung!!!
Aber bist du dir sicher, das das mit try..catch geht? Wenn ich mit meinen Laienhaften Wissen richtig verstanden habe, ist solch ein request ASYNCRON. Oder? Ist mit asynchronen functionen ein try…catch möglich?
Bitte um Verständnis, aber ich würde gern etwas mehr über das "programmieren" lernen! Danke `
Prinzipiell asynchrone Fehler kann man mit try/catch nicht abfangen, aber man kann damit z.b. Tippfehler abfangen. Z.B.:try { reqqqqqest('http://192.168.1.1:50000/tts=' + text, function (error, response, body) { if(error) { log(error, 'error'); } }) .on('error', function (error) { log(error, 'error'); }); } catch (error) { log(error, 'error'); }
Wird trotzdem laufen.