Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Sayit in Betrieb nehmen

    NEWS

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    Sayit in Betrieb nehmen

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

      Nimm für den Anfang ein Blockly.

      Du erzeugst unter dem Skripte Reiter ein neues Script. Als Typ nimm Blockly.

      Nun kannst du sehr simpel Anweisungen zusammenclicken.

      Im Beispiel spricht meine Anlage wenn eine Systemvariable auf meiner CCU den Wert "2" angenommen hat.

      Lg

      Günther
      1180_iobroker_1.jpg

      1 Reply Last reply Reply Quote 0
      • C
        csamaggi last edited by

        Ah ok das ist doch mal was habe das mal für mich eingestellt mit meinem Innogy SH aber keine Ausgabe siehe log.

        ioBroker-Pi	2017-01-29 16:20:00.721	info	host.ioBroker-Pi instance system.adapter.tvspielfilm.0 started with pid 20461
        javascript.0	2017-01-29 16:19:06.766	info	script.js.SayIt.Bürofenster: registered 1 subscription and 0 schedules
        javascript.0	2017-01-29 16:19:06.764	warn	State "sayit.0.tts.text" not found
        javascript.0	2017-01-29 16:19:06.755	info	Start javascript script.js.SayIt.Bürofenster
        javascript.0	2017-01-29 16:19:06.096	info	Stop script script.js.SayIt.Bürofenster
        sayit.0	2017-01-29 16:18:57.801	info	All files uploaded
        sayit.0	2017-01-29 16:18:57.657	info	Upload announce mp3 files
        sayit.0	2017-01-29 16:18:57.640	info	starting. Version 1.4.0 in /opt/iobroker/node_modules/iobroker.sayit, node: v4.5.0
        

        MFG Maggi

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

          Bitte das komplette Script posten.

          Im Log steht, das er den Datenpunkt nicht findet.

          Lg

          Günther

          1 Reply Last reply Reply Quote 0
          • S
            Sprite01 last edited by

            Hänge mich gleich mal rein.

            Ich versuche es gerade über Javascript, nicht Blockly.

            Steckdose schalten mit Sprachrückmeldung klappt schon mal.

            var idSayIt     = "sayit.0.tts.text";               // Hier die entsprechende SayIt Text ID
            var idButton    = "hm-rpc.0.LEQ1234874.1.STATE"; //Objekt
            var lastSay     = null;
            
            // Nach Schalten wird folgender Text gesprochen
            subscribe({id: idButton, val: true}, function (obj) {
                     if (!lastSay || ((new Date()).getTime() - lastSay) > 3000) {
                              lastSay = (new Date()).getTime();
                              setState (idSayIt, "de;60;Licht Hinterzimmer Ein");
                     }
            
                    });
            

            Ich nutze im Moment 2 Scripte - für EIN und AUS getrennt.

            Kann man das auch in einem zusammen fassen ?

            Was muss ich im Script ändern um eine mp3 auszugeben ?

            Mit ccu.io habe ich es damals gehabt, hier im Forum habe ich noch kein Beispiel gefunden (man glaubt es kaum).

            1 Reply Last reply Reply Quote 0
            • H
              Hicki last edited by

              Hallo,

              ich bin neu hier, und habe mit Sayit noch nicht viel Erfahrung. Wo gebe ich das Script überhaupt ein?

              Wie kann ich denn überhaupt testen, ob ich Sayit richtig installiert habe?

              Gruß Hicki

              1 Reply Last reply Reply Quote 0
              • H
                Hicki last edited by

                Bitte um Hilfe.

                Gruß Hicki

                1 Reply Last reply Reply Quote 0
                • S
                  Sprite01 last edited by

                  Die Scripte gibst du im Reiter oben bei "Scripte" ein, vorausgesetzt du hast den Adapter JavaScript Script Engine installiert.

                  Meine laufen alle unter dem Ordner "common", ob das richtig ist weiß ich nicht.

                  Sprachansagen kommen aber durch.

                  Auf der Linken Seite siehst du ein Plus-Zeichen, damit kannst du Scripte hinzufügen.

                  Auf der rechten Seite musst du noch Enginetyp: JavaScript ggf. einstellen.

                  Siehe auch Beschreibung zum Adapter: http://www.iobroker.net/docu/?page_id=156&lang=de

                  (Bei mir geht die Vorankündigung gong.mp3 nicht, kriege ich aber noch hin .. 🙂 )

                  1 Reply Last reply Reply Quote 0
                  • H
                    Hicki last edited by

                    Vielen Dank Dirk, werde mich gleich mal dransetzen.

                    Gruß Andreas

                    1 Reply Last reply Reply Quote 0
                    • C
                      csamaggi last edited by

                      Hallo ihr lieben ich versuche mich noch immer an SayIT aber ich komme nicht weiter.

                      Ich habe ein Script erstellt zum testen aber ich bekomme keine Ausgabe über meine Sonos das Testscript mit "HALLO WELT" geht.

                      Hier mal der Code in Blockly und Java

                      var Open;

                      var Open;
                      
                      on({id: "innogy-smarthome.0.Vorratsraum.Innentür.IsOpen"/*IsOpen*/, change: "ne"}, function (obj) {
                        var value = obj.state.val;
                        var oldValue = obj.oldState.val;
                        if (getState("innogy-smarthome.0.Vorratsraum.Innentür.IsOpen").val == Open) {
                          setState("sayit.0.tts.text", "de;30;" + 'Vorratsraum offen!');
                        }
                      });
                      

                      Hier der LOG.

                      javascript.0	2017-02-06 19:15:38.664	info	script.js.SayIt.Vorratsraum: registered 1 subscription and 0 schedules
                      javascript.0	2017-02-06 19:15:38.654	info	Start javascript script.js.SayIt.Vorratsraum
                      javascript.0	2017-02-06 19:15:37.344	info	Stop script script.js.SayIt.Vorratsraum
                      

                      Hoffe ihr habt einen Tip.
                      1901_sayit_ausgabe.png

                      1 Reply Last reply Reply Quote 0
                      • B
                        Bradock last edited by

                        Sagt mal, habt ihr bei längeren Texten auch kein Funktion?

                        Habe bisher nichts über eine Zeichenbegrenzung (bewusst) wahrgenommen.

                        1 Reply Last reply Reply Quote 0
                        • Homoran
                          Homoran Global Moderator Administrators last edited by

                          IMHO gibt es bei google eine 70 Zeichen Begrenzung.

                          Gruß

                          Rainer

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

                            @csamaggi:

                              if (getState("innogy-smarthome.0.Vorratsraum.Innentür.IsOpen").val == Open) {
                            ```` `  
                            

                            Ich kenne das innogy-System nicht, aber der Datenpunkt "IsOpen" hat doch bestimmt die Werte true oder false und nicht "Open". Falls er doch den Wert "Open" hat, wäre das aber ein String und müssste in Anführungszeichen gesetzt werden.

                            Mein Vorschlag:

                            on({id: "innogy-smarthome.0.Vorratsraum.Innentür.IsOpen"/*IsOpen*/,
                            	change: "ne",
                            	val: true  //spart die if-Abfrage nach true
                            	}, function (obj) {
                            	var value = obj.state.val;
                            	var oldValue = obj.oldState.val;  // eigentlich nicht nötig, da der Vorgänger-Wert für IsOpen nicht weiter verwendet wird
                            	log("IsOpen = " + obj);
                            	setState("sayit.0.tts.text", "de;30;" + 'Vorratsraum offen!');
                            });
                            
                            1 Reply Last reply Reply Quote 0
                            • C
                              csamaggi last edited by

                              Danke an justr mit dem Code geht es. Nur da ich leider nicht so bewandert bin in JS würde ich dass gerne im Blockly machen.

                              Nur klappt es dort nicht wenn ich das so anlege auch mit der Anweisung "true".

                              Hoffe ihr habt da einen Tipp.

                              Update: Habe hier den Fehler gefunden es lag an dem Wert nach dem "=" ich hatte da nicht Logikwert benutzt.

                              Da das nu geht bin ich gerade dabei ein Skript zu schreiben, dass mir zu einer bestimmten Uhrzeit sagt wenn meine Terrassentür offen ist , dass sie offen ist.

                              Nur klappt das irgendwie nicht, vieleicht habe ich auch hier wieder einen Denkfehler würde mich freuen wenn ihr mir da wieder helfen könntet .

                              Hier der Screen vom Blockly. Nicht wundern hier ist es jetzt nicht die Tür sondern meine Lampe aber das Gerät sollte dabei ja egal sein.

                              MFG Maggi
                              1901_sayit_ausgabe_t_r_offen.png

                              1 Reply Last reply Reply Quote 0
                              • H
                                Hicki last edited by

                                Hallo,

                                ich habe ein ähnliches Problem hier. Wenn da mal bitte einer drüber schauen kann?

                                http://forum.iobroker.net/viewtopic.php?f=21&t=5143

                                Gruß Andreas

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

                                  Hallo,

                                  Das Problem ist leicht gelöst. Frage nicht auf eine Uhrzeit ab, sondern zwischen der Uhrzeit und eine Minute später.

                                  Grund ist, das im Hintergrund auch Sekunden mitlaufen und die natürlich nicht genau getroffen werden.

                                  Lg

                                  Günther

                                  1 Reply Last reply Reply Quote 0
                                  • H
                                    Hicki last edited by

                                    @Jeeper.at:

                                    Hallo,

                                    Das Problem ist leicht gelöst. Frage nicht auf eine Uhrzeit ab, sondern zwischen der Uhrzeit und eine Minute später.

                                    Grund ist, das im Hintergrund auch Sekunden mitlaufen und die natürlich nicht genau getroffen werden.

                                    Lg

                                    Günther `

                                    Danke für die schnelle Antwort. Ich habe die Zeit entfernt, aber das Problem bleibt.

                                    für Runter:

                                    var idSayIt     = "sayit.0.tts.text";               // Hier die entsprechende SayIt Text ID
                                    var idButton    = "hm-rpc.0.NEQ1562218.1.LEVEL"; //Objekt
                                    var lastSay     = null;
                                    
                                    // Nach Schalten wird folgender Text gesprochen
                                    subscribe({id: idButton, val: 0}, function (obj) {
                                             if (!lastSay || ((new Date()) - lastSay) > 3000) {
                                                      lastSay = (new Date());
                                                      setState (idSayIt, "de;60;Badezimmer - Rollo runter");
                                             }
                                    
                                            });
                                    
                                    

                                    für Hoch:

                                    var idSayIt     = "sayit.0.tts.text";               // Hier die entsprechende SayIt Text ID
                                    var idButton    = "hm-rpc.0.NEQ1562218.1.LEVEL"; //Objekt
                                    var lastSay     = null;
                                    
                                    // Nach Schalten wird folgender Text gesprochen
                                    subscribe({id: idButton, val: 100}, function (obj) {
                                             if (!lastSay || ((new Date()) - lastSay) > 3000) {
                                                      lastSay = (new Date());
                                                      setState (idSayIt, "de;60;Badezimmer - Rollo rauf");
                                             }
                                    
                                            });
                                    
                                    

                                    Gruß ANdreas

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

                                      @csamaggi:

                                      Da das nu geht bin ich gerade dabei ein Skript zu schreiben, dass mir zu einer bestimmten Uhrzeit sagt wenn meine Terrassentür offen ist , dass sie offen ist. `
                                      Statt den äußeren beiden Klammern brauchst du einen schedule (Zeitplan). Den findest du auch im Bereich Trigger. Darin dann einfach die if-Abfrage nach der Terrassentür.

                                      1 Reply Last reply Reply Quote 0
                                      • C
                                        csamaggi last edited by

                                        Danke Justr das war es nun geht es.

                                        Dann bin ich schon am nächsten drann, ich würde gerne folgendes realisieren.

                                        Wenn ich hause und mein Handy vor der Haustür sich mit meinem WLAN verbindet und ich dann im Anschluss die Haustür öffne soll mir per Sayit und Sonos ein "Willkommen zu hause" und dann soll auf der Sonos mein Radio starten. Das ganze muss aber mit etwas Verzögerung starten, also bis mein Handy sich verbunden hat und ich die Haustür und Zwischentür öffne.

                                        Ich habe folgendes an Geräten Innogy Tür Sensor an der Haustür und eben Sonos.

                                        Dann als Adapter folgendes, innogy, Sonos, Sayit und den Ping Adapter der läuft auch ohne Probleme.

                                        MFG Maggi

                                        1 Reply Last reply Reply Quote 0
                                        • P
                                          Patrick_Koch last edited by

                                          Hallo, ich habe leider auch ein Problem mit Say It, ich möchte auch etwas bei Sonos ausgeben.

                                          > Ich habe den SayIt Adapter Installiert und versuche das in Blockly zu erreichen, leider wird mir der Block Aussprechen garnicht angezeigt. Habe ich da was Falsch gemacht?

                                          Das Problem hat sich über nacht von alleine gelöst.

                                          Ich habe das jetzt so wie hin bekommen und SayIt spricht auch mit mir. Zum testen Ich habe über Blockly ein Programm erstellt was bei Änderung von der HM-Sys-Var-Schlafzustand von Wahr=Wach auf Falsch=Schlafend mir gute Nacht sagen soll. Leider wird mir bei jeder Änderung also auch auf Wach gute nacht gesagt.

                                          So sieht das Programm im Blockly aus.

                                          5313_bildschirmfoto_2018-01-23_um_10.38.49.png

                                          zur Sicherheit noch mal den das Script

                                          on({id: 'hm-rega.1.8626', change: "ne"}, function (obj) {
                                            var value = obj.state.val;
                                            var oldValue = obj.oldState.val;
                                            if (false) {
                                            }
                                            setState("sayit.0.tts.text", "20;" + 'Gute Nacht');
                                          });
                                          
                                          //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm9uX2V4dCUyMiUyMGlkJTNEJTIyJTdDenY1LjVKYiUzRGQwJTNEUUNZJTVFJTVFYipZJTIyJTIweCUzRCUyMjE4OCUyMiUyMHklM0QlMjIzOCUyMiUzRSUzQ211dGF0aW9uJTIwaXRlbXMlM0QlMjIxJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDT05ESVRJT04lMjIlM0VuZSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQUNLX0NPTkRJVElPTiUyMiUzRSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyT0lEMCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJmaWVsZF9vaWQlMjIlMjBpZCUzRCUyMlowZHVBJTJGajYlN0QlMkYlN0NRJTVFWUJERm4oSSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMm9pZCUyMiUzRWhtLXJlZ2EuMS44NjI2JTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJTVEFURU1FTlQlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sc19pZiUyMiUyMGlkJTNEJTIydCUyNUsqYWdHSXRPJTVFLXlDOHd5YyUzRCU3QyUyMiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMklGMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2Jvb2xlYW4lMjIlMjBpZCUzRCUyMik2Tkx1Zk5Kb1AqJTJCWCUzRkZ4IVVPbSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkJPT0wlMjIlM0VGQUxTRSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJzYXlpdCUyMiUyMGlkJTNEJTIyJTI1UHVoaTBfdmVXVzhWJTJCVWVGM240JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIySU5TVEFOQ0UlMjIlM0UuMCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTEFOR1VBR0UlMjIlM0UlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkxPRyUyMiUzRSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVk9MVU1FJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMlJPWjdIOFg1LVNXOEZHU2hhJTVFRDUlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UyMCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMk1FU1NBR0UlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyREV0JTNGWnglNURPMW9IJTdCcWItJTdDVXRVZyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0VHdXRlJTIwTmFjaHQlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnhtbCUzRQ==
                                          

                                          Ich sage sicherheitshalber auch noch mal das ich seit sage und schreibe 2 tagen den IOBroker installiert habe und ich mich da jetzt erstmal rein fuchsen muss.

                                          Ich hoffe das ich das auch dem Forum entsprechend eingefügt habe.

                                          1 Reply Last reply Reply Quote 0
                                          • E
                                            el-lutschi last edited by

                                            Hallo zusammen,

                                            ich spiele gerade auch mit sayit auf meinem Raspi 3 mit iobroker mpg321 und einer USB Soundkarte rum.

                                            Eigentlich klappt das auch super. Problem ist nur, die Lautstärke-Einstellung ist ohne Funktion. Egal ob ich es direkt im Datenpunkt oder im Skript definiere, die ANsage kommt in voller Lautstärke.

                                            Hatte das Problem schonmal jemand?

                                            Gruß

                                            Chris

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            567
                                            Online

                                            32.1k
                                            Users

                                            80.7k
                                            Topics

                                            1.3m
                                            Posts

                                            17
                                            45
                                            13732
                                            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