Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst] Mit Skript einen Home24 Mediaplayer ansteuern

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [gelöst] Mit Skript einen Home24 Mediaplayer ansteuern

    This topic has been deleted. Only users with topic management privileges can see it.
    • N
      Nordlicht last edited by

      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

      1 Reply Last reply Reply Quote 0
      • Jeeper.at
        Jeeper.at last edited by

        Reicht es nicht in den Instanzeneinstellungen von Sayit Home 24 einzutragen?

        Lg

        Günther

        1 Reply Last reply Reply Quote 0
        • N
          Nordlicht last edited by

          @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

          1 Reply Last reply Reply Quote 0
          • blauholsten
            blauholsten Developer last edited by

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

            1 Reply Last reply Reply Quote 0
            • Bluefox
              Bluefox last edited by

              var request = require ('request');
              
              var text = "Hallo Haus";
              request('http://192.168.1.1:50000/tts=' + text);
              
              
              1 Reply Last reply Reply Quote 0
              • N
                Nordlicht last edited by

                @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

                1 Reply Last reply Reply Quote 0
                • blauholsten
                  blauholsten Developer last edited by

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

                  1 Reply Last reply Reply Quote 0
                  • Bluefox
                    Bluefox last edited by

                    @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);});
                    
                    
                    1 Reply Last reply Reply Quote 0
                    • blauholsten
                      blauholsten Developer last edited by

                      @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:

                      1 Reply Last reply Reply Quote 0
                      • Bluefox
                        Bluefox last edited by

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

                        1 Reply Last reply Reply Quote 0
                        • blauholsten
                          blauholsten Developer last edited by

                          @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

                          1 Reply Last reply Reply Quote 0
                          • Bluefox
                            Bluefox last edited by

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

                            1 Reply Last reply Reply Quote 0
                            • First post
                              Last post

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            1.1k
                            Online

                            31.7k
                            Users

                            79.7k
                            Topics

                            1.3m
                            Posts

                            4
                            12
                            2121
                            Loading More Posts
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes
                            Reply
                            • Reply as topic
                            Log in to reply
                            Community
                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                            The ioBroker Community 2014-2023
                            logo