Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Ausgabe von SayIt umbauen und in anderen Objekt State schreiben

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Ausgabe von SayIt umbauen und in anderen Objekt State schreiben

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

      Hallo,

      vielleicht kann mir hier jemand helfen.

      Ich benötige ein Skript das mir die SayIt Ausgabe aus dem State (de;100;Die Waschmaschine ist fertig.) in ein anderen Objekt State wie folgt abspeichert.

      "Die Waschmaschine ist fertig."

      Also der State des Objekts darf nicht de;100; enthalten und der Text der Ansage müsste in " " gesetzt werden.

      Hat jemand eine Idee wie sowas gehen könnte?

      Viele Grüße,

      Nanouk

      1 Reply Last reply Reply Quote 0
      • Dutchman
        Dutchman Developer Most Active Administrators last edited by

        @Nanouk:

        Hallo,

        vielleicht kann mir hier jemand helfen.

        Ich benötige ein Skript das mir die SayIt Ausgabe aus dem State (de;100;Die Waschmaschine ist fertig.) in ein anderen Objekt State wie folgt abspeichert.

        "Die Waschmaschine ist fertig."

        Also der State des Objekts darf nicht de;100; enthalten und der Text der Ansage müsste in " " gesetzt werden.

        Hat jemand eine Idee wie sowas gehen könnte?

        Viele Grüße,

        Nanouk `

        Poste mal dein script "Die Waschmachine ist fertig", es wird denke ich einfacher da eine set-object hinzu zu fuegen als de sayit string aus zu lesen ?

        ~Dutch

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

          Hi Dutch,

          Waschmaschine war nur ein Beispiel.

          Mir geht es generell um die sayit Ausgaben.

          Ich hab es nicht geschafft meine Bose Soundtouch Lautsprecher über iobroker mit SayIt zum laufen zubekommen.

          Bin jetzt einen Umweg über Fhem gegangen.

          Da habe ich eine TTS Ausgabe auf den Soundtouch Geräten.

          Wenn ich jetzt im iobroker in den Objekten unter Fhem (Adapter) die Bose Lautsprecher wähle und bei Datenpunkt Speak meinen Text in " " reinschreibe, bekomme ich eine Ausgabe über Fhem.

          Jetzt müsste ich nur alles was in Objekte->SayIt->tts->text auftaucht, kopieren und in Objekte->fhem->bose->speak in Gänsefüßchen eintragen lassen.

          Gruss

          Nanouk

          1 Reply Last reply Reply Quote 0
          • Dutchman
            Dutchman Developer Most Active Administrators last edited by

            @Nanouk:

            =

            Jetzt müsste ich nur alles was in Objekte->SayIt->tts->text auftaucht, kopieren und in Objekte->fhem->bose->speak in Gänsefüßchen eintragen lassen. `

            Hi Nanouk,

            Ich verstehe diesen umweg nicht ganz da due sayit ja eigentlich liegen laesst, waere es dan nicht einfacher deine script so an zu passen das der tekst direct in ojecte fhem->bose->speak eingetragen wird ?

            ~Dutch

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

              Ja, sicher,

              aber dann müsste ich jedes einzelne Skript anpassen und davon hab ich wohl noch zu wenig Ahnung.

              Dachte es wäre einfacher die Sayit Ausgabe umzuleiten.

              Ich wüsste nicht wo ich bei jedem einzelnen Skript ansetzen müsste.

              Zum Beispiel bei Anrufer Ansage. Da müsste ich wohl nur die

              var idSayIt     = 'sayit.0.tts.text';
              

              ändern.

              Aber was mache ich mit den verschiedenen blockly Skripts mit den Bausteinen sendto-> sayit.

              Die müsste ich dann in JS wandeln und ebenfalls wie oben abändern?

              Müsste ich wirklich nur den Pfad ändern?

              var idSayIt     = 'fhem.bose_XXXX.speak';
              ````?
              1 Reply Last reply Reply Quote 0
              • Dutchman
                Dutchman Developer Most Active Administrators last edited by

                @Nanouk:

                Ja, sicher,

                aber dann müsste ich jedes einzelne Skript anpassen und davon hab ich wohl noch zu wenig Ahnung.

                Dachte es wäre einfacher die Sayit Ausgabe umzuleiten.

                Ich wüsste nicht wo ich bei jedem einzelnen Skript ansetzen müsste.

                Zum Beispiel bei Anrufer Ansage. Da müsste ich wohl nur die

                var idSayIt     = 'sayit.0.tts.text';
                

                ändern.

                Aber was mache ich mit den verschiedenen blockly Skripts mit den Bausteinen sendto-> sayit.

                Die müsste ich dann in JS wandeln und ebenfalls wie oben abändern?

                Müsste ich wirklich nur den Pfad ändern?

                var idSayIt     = 'fhem.bose_XXXX.speak';
                ````? `  
                

                komt drauf an wieviele scripte du hast 🙂

                zu deinem erste beispiel correct, da sollte dan statt sayit die fhem ose rein.

                Bei den blockly scripten einfach de sayit baustein rausnemen und ersetzen mit einen kontrollieren object mit …. (object = dein fhem object und wert was du jetzt an sayit gibst)

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

                  Okay, klingt logisch und nicht zu kompliziert.

                  Folgendes Problem hab ich aber noch:

                  var idAnrufer   = "fritzbox.0.calls.ringActualNumber";  // actual last ringing number
                  var idRing      = "fritzbox.0.calls.ring";
                  var idSayIt     = "fhem.0.BOSE_04A316E6E3FD.speak"/*BOSE_04A316E6E3FD speak*/;
                  var ansageDelay = 8000;                                 // Zeit in ms zwischen den Ansagen
                  var timer       = null;
                  
                  function ausgabeAnrufer(){
                      //setState("sayit.0.tts.text", "Anruf von. " + getState(Anrufer).val);
                      setState (idSayIt,'Anruf von.  ' + rufnummer2name(getState(idAnrufer).val)); 
                  }
                  

                  Die Ausgabe wird in die entsprechende Objekt ID geschrieben. Allerdings muss sie in " " stehen. "Anruf von..123456"

                  Wenn ich die " zusätzlich ins Skript schreibe, funktioniert es aber nicht.

                  Wie kann ich das lösen?

                  1 Reply Last reply Reply Quote 0
                  • Dutchman
                    Dutchman Developer Most Active Administrators last edited by

                    dan mueeste die haken hinzugefuegt werden in etwa so ?

                    alter code 		: setState (idSayIt,'Anruf von.  ' + rufnummer2name(getState(idAnrufer).val));
                    neuer code	: setState (idSayIt,' " ' + 'Anruf von.  ' + ' " ' + rufnummer2name(getState(idAnrufer).val) + ' " ');
                    
                    
                    1 Reply Last reply Reply Quote 0
                    • N
                      Nanouk last edited by

                      Okay,

                      folgender Code hat funktioniert:

                      setState (idSayIt,' " ' + 'Anruf von.  '  + rufnummer2name(getState(idAnrufer).val) + ' " ');
                      

                      Vielen Dank,

                      Du hast mir jetzt sehr geholfen.

                      Gruss,

                      Nanouk

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

                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      806
                      Online

                      31.7k
                      Users

                      79.8k
                      Topics

                      1.3m
                      Posts

                      2
                      9
                      1137
                      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