NEWS

[gelöst] Mit Skript einen Home24 Mediaplayer ansteuern


  • @Jeeper.at:

    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

  • Developer

    @Nordlicht:

    @Jeeper.at:

    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);
    
    

  • @blauholsten:

    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".

    @Bluefox:

    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

  • Developer

    @Nordlicht:

    In welcher Instanz? Wenn Du richtig guckst siehst Du, dass ich von Sayit weg möchte weil es nicht ganz so toll funktioniert.

    @Bluefox:

    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.

    @bluefox,

    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.???


  • @blauholsten:

    @Nordlicht:

    In welcher Instanz? Wenn Du richtig guckst siehst Du, dass ich von Sayit weg möchte weil es nicht ganz so toll funktioniert.

    @Bluefox:

    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.

    @bluefox,

    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);});
    
    
  • Developer

    @Bluefox:

    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:


  • @blauholsten:

    @Bluefox:

    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){});

  • Developer

    @Bluefox:

    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


  • @blauholsten:

    @Bluefox:

    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.

Suggested Topics

1.7k
Online

38.4k
Users

43.8k
Topics

613.1k
Posts