Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Ersatz für sayit-Adapter zur Sprachausgabe auf Sonos

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.3k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.4k

Ersatz für sayit-Adapter zur Sprachausgabe auf Sonos

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
40 Beiträge 9 Kommentatoren 4.7k Aufrufe 7 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • David G.D Online
    David G.D Online
    David G.
    schrieb am zuletzt editiert von David G.
    #6

    Das hier muss ich jetzt auch mal testen.
    Hab im Moment auch Stress mit SayIt.

    Hab nur zuletzt vor Gefühl Jahren einmal mit Node Red gearbeitet....

    Wo legt er die mp3 denn ab?
    Finde es nicht wirklich raus......

    Teste grad die Grundlagen.

    Nachher soll es folgendes können:

    • DP mit Text überwachen
    • mp3 erstellen
    • mp3 im Netzwerk bereitstellen
    • einen Befehl per curl aufrufen in dem der Pfad zur mp3 vorkommt und ein Wert auf einem DP

    Bekommt man den Flow so hin @mickym ?

    Aktuell in Node Red:
    Screenshot_20240622_210733_Chrome.jpg Screenshot_20240622_210707_Chrome.jpg

    Zu ersetzendes Blockly (an die mp3 kommt man so dran):
    Screenshot_20240622_211400_Chrome.jpg

    Zeigt eure Lovelace-Visualisierung klick
    (Auch ideal um sich Anregungen zu holen)

    Meine Tabellen für eure Visualisierung klick

    1 Antwort Letzte Antwort
    0
    • wendy2702W Offline
      wendy2702W Offline
      wendy2702
      schrieb am zuletzt editiert von
      #7

      Hi,

      Bin über diesen Thread gestolpert da auch Sayit bei mir nicht mehr funktioniert.

      Könntet ihr mir dennoch den Gefallen tun entweder ein entsprechendes Issue auf GitHub zu öffnen oder z.b. hier

      https://github.com/ioBroker/ioBroker.sayit/issues/320

      Oder hier https://github.com/ioBroker/ioBroker.sayit/issues/269

      Oder hier https://github.com/ioBroker/ioBroker.sayit/issues/278

      Zu kommentieren.

      Bitte keine Fragen per PN, die gehören ins Forum!

      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

      S K 2 Antworten Letzte Antwort
      0
      • wendy2702W wendy2702

        Hi,

        Bin über diesen Thread gestolpert da auch Sayit bei mir nicht mehr funktioniert.

        Könntet ihr mir dennoch den Gefallen tun entweder ein entsprechendes Issue auf GitHub zu öffnen oder z.b. hier

        https://github.com/ioBroker/ioBroker.sayit/issues/320

        Oder hier https://github.com/ioBroker/ioBroker.sayit/issues/269

        Oder hier https://github.com/ioBroker/ioBroker.sayit/issues/278

        Zu kommentieren.

        S Abwesend
        S Abwesend
        Shadowhunter23
        schrieb am zuletzt editiert von
        #8

        @wendy2702
        Hast du mal probiert über die Control Objekte der vis ein mp3 abzuspielen welches zuvor lokal gespeichert wurde? Dann hättest du eine Alternative bis der Sayit Adapter wieder geht.

        Proxmox 9 HA-Cluster mit 3x HP prodesk 400 G6 i5
        Bei einem downvote bitte melden, es könnte sein, dass dieser ungewollt ist!

        wendy2702W 1 Antwort Letzte Antwort
        0
        • S Shadowhunter23

          @wendy2702
          Hast du mal probiert über die Control Objekte der vis ein mp3 abzuspielen welches zuvor lokal gespeichert wurde? Dann hättest du eine Alternative bis der Sayit Adapter wieder geht.

          wendy2702W Offline
          wendy2702W Offline
          wendy2702
          schrieb am zuletzt editiert von
          #9

          @shadowhunter23 da müsstest du mir gerade mal auf die Sprünge helfen wie genau du das meinst.

          Bitte keine Fragen per PN, die gehören ins Forum!

          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

          S 1 Antwort Letzte Antwort
          0
          • wendy2702W wendy2702

            @shadowhunter23 da müsstest du mir gerade mal auf die Sprünge helfen wie genau du das meinst.

            S Abwesend
            S Abwesend
            Shadowhunter23
            schrieb am zuletzt editiert von
            #10

            @wendy2702
            Ich habe es gerade probiert aber es kam kein Sound. Grundsätzlich sollte es so aber funktionieren:

            Screenshot_2024-06-23-10-16-09-473_com.android.chrome-edit.jpg

            Screenshot_2024-06-23-10-17-38-053_com.android.chrome-edit.jpg

            Proxmox 9 HA-Cluster mit 3x HP prodesk 400 G6 i5
            Bei einem downvote bitte melden, es könnte sein, dass dieser ungewollt ist!

            1 Antwort Letzte Antwort
            0
            • David G.D Online
              David G.D Online
              David G.
              schrieb am zuletzt editiert von David G.
              #11

              @mickym

              Beklommt.man das so umgesetzt?

              • DP mit Text überwachen
              • mp3 erstellen
              • mp3 im Netzwerk bereitstellen
              • einen Befehl per curl aufrufen in dem der Pfad zur mp3 vorkommt und ein Wert auf einem DP

              (Ich weiß, hab ich weiter oben schonmal gefragt mit einem Beispielbild.
              Aber eigentlich Antwortest du immer fast sofort, da gehe ich mal ganz dreist von aus, dass du es übersehen hast 🤣)

              Zeigt eure Lovelace-Visualisierung klick
              (Auch ideal um sich Anregungen zu holen)

              Meine Tabellen für eure Visualisierung klick

              mickymM 1 Antwort Letzte Antwort
              0
              • David G.D David G.

                @mickym

                Beklommt.man das so umgesetzt?

                • DP mit Text überwachen
                • mp3 erstellen
                • mp3 im Netzwerk bereitstellen
                • einen Befehl per curl aufrufen in dem der Pfad zur mp3 vorkommt und ein Wert auf einem DP

                (Ich weiß, hab ich weiter oben schonmal gefragt mit einem Beispielbild.
                Aber eigentlich Antwortest du immer fast sofort, da gehe ich mal ganz dreist von aus, dass du es übersehen hast 🤣)

                mickymM Online
                mickymM Online
                mickym
                Most Active
                schrieb am zuletzt editiert von mickym
                #12

                @david-g Nun - ich hab mir mal die Node runtergeladen, ich habe allerdings kein Sonos.

                So und den Rest habe ich ausprobiert. Das was in Deinem Blockly machst ist kein Problem im Prinzip.

                bei dem mp3 im Netzwerk bereitstellen, weiss ich nicht - der Pfad ist in der Regel nur auf auf das lokale Datensystem beschränkt. Den Curl Befehl mit dem Pfad zur mp3 ist kein Problem - aber der ist halt relativ fix.

                Das Einzige, wenn man keine Lautsprecher dran hat, ist wohl dass man mit dieser Warnmeldung leben muss.
                1bfc689a-e7c7-44e9-b04e-e40d75c19cd2-image.png

                Aber ansonsten ist das kein Problem.

                Du triggerst einfach mit Deinem Datenpunkt den Text den Du ausgeben willst, dann bekommst Du den Pfad zu dem mp3 und kannst dann noch die Lautstärke abholen und den Befehlstext erstellen.

                Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                David G.D 1 Antwort Letzte Antwort
                0
                • mickymM mickym

                  @david-g Nun - ich hab mir mal die Node runtergeladen, ich habe allerdings kein Sonos.

                  So und den Rest habe ich ausprobiert. Das was in Deinem Blockly machst ist kein Problem im Prinzip.

                  bei dem mp3 im Netzwerk bereitstellen, weiss ich nicht - der Pfad ist in der Regel nur auf auf das lokale Datensystem beschränkt. Den Curl Befehl mit dem Pfad zur mp3 ist kein Problem - aber der ist halt relativ fix.

                  Das Einzige, wenn man keine Lautsprecher dran hat, ist wohl dass man mit dieser Warnmeldung leben muss.
                  1bfc689a-e7c7-44e9-b04e-e40d75c19cd2-image.png

                  Aber ansonsten ist das kein Problem.

                  Du triggerst einfach mit Deinem Datenpunkt den Text den Du ausgeben willst, dann bekommst Du den Pfad zu dem mp3 und kannst dann noch die Lautstärke abholen und den Befehlstext erstellen.

                  David G.D Online
                  David G.D Online
                  David G.
                  schrieb am zuletzt editiert von
                  #13

                  @mickym

                  Auch wenn ich bei Blockly den Leuten immer sage "Testet erstmal selber.... ", könntest du mir den Aufbau mal zeigen (ggf eine Export ^^)?

                  Ich schaffe es einfach nicht......

                  Bereitgestellt bekomme ich die mp3s bestimmt über den proxy Adapter.

                  Zeigt eure Lovelace-Visualisierung klick
                  (Auch ideal um sich Anregungen zu holen)

                  Meine Tabellen für eure Visualisierung klick

                  mickymM 1 Antwort Letzte Antwort
                  0
                  • David G.D David G.

                    @mickym

                    Auch wenn ich bei Blockly den Leuten immer sage "Testet erstmal selber.... ", könntest du mir den Aufbau mal zeigen (ggf eine Export ^^)?

                    Ich schaffe es einfach nicht......

                    Bereitgestellt bekomme ich die mp3s bestimmt über den proxy Adapter.

                    mickymM Online
                    mickymM Online
                    mickym
                    Most Active
                    schrieb am zuletzt editiert von mickym
                    #14

                    @david-g Nochmal - die Node erzeugt Dir mp3 da musst Du nichts machen. Ich dachte die mp3s sollen aus dem Text erzeugt werden? -

                    bf85f0e8-02fc-4e08-b118-44a03821bf00-image.png

                    Bei dem Service habe ich halt mal das ohne Authentifizierung genommen und ein iobroker homeverzeichnis als cache root genommen.

                    Dort legt Dir die Node dann die mp3 files ab - die Struktur ist vorgegeben.

                    Bei der Node selbst gibst dann noch die Stimme an - für Deutsch ist nur eine Stimme vorhanden:

                    382c5405-945a-459e-a0d3-f6f0ab6f762c-image.png

                    Mit Inject Nodes kannst Du testen - so wie ich das unten gemacht habe. Ansonsten gibst Du dann einfach die iobroker-In Node ein mit dem Datenpunkt der dann gesprochen werden soll.

                    Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                    David G.D 1 Antwort Letzte Antwort
                    0
                    • mickymM mickym

                      @david-g Nochmal - die Node erzeugt Dir mp3 da musst Du nichts machen. Ich dachte die mp3s sollen aus dem Text erzeugt werden? -

                      bf85f0e8-02fc-4e08-b118-44a03821bf00-image.png

                      Bei dem Service habe ich halt mal das ohne Authentifizierung genommen und ein iobroker homeverzeichnis als cache root genommen.

                      Dort legt Dir die Node dann die mp3 files ab - die Struktur ist vorgegeben.

                      Bei der Node selbst gibst dann noch die Stimme an - für Deutsch ist nur eine Stimme vorhanden:

                      382c5405-945a-459e-a0d3-f6f0ab6f762c-image.png

                      Mit Inject Nodes kannst Du testen - so wie ich das unten gemacht habe. Ansonsten gibst Du dann einfach die iobroker-In Node ein mit dem Datenpunkt der dann gesprochen werden soll.

                      David G.D Online
                      David G.D Online
                      David G.
                      schrieb am zuletzt editiert von David G.
                      #15

                      @mickym

                      Ich müsste den Dateinamen der mp3 bekommen. Das schaffe ich nicht.

                      Und dann für den curl dem curl Befehl zusammenbauen.

                      curl -d \ "<play_info><app_key>xxxxxxx</app_key><url>http://192.168.99.33:8083/xxxx.0/Dateiname.mp3</url><service>service text</service><reason>reason text</reason><message>message text</message><volume>Wert_aus_DP</volume></play_info>" http://192.168.99.24:8090/speaker

                      Quasi so, nur dass da vermutlich noch einiges zwischen muss....
                      Screenshot_20240623_140358_Chrome.jpg

                      Zeigt eure Lovelace-Visualisierung klick
                      (Auch ideal um sich Anregungen zu holen)

                      Meine Tabellen für eure Visualisierung klick

                      mickymM 2 Antworten Letzte Antwort
                      0
                      • David G.D David G.

                        @mickym

                        Ich müsste den Dateinamen der mp3 bekommen. Das schaffe ich nicht.

                        Und dann für den curl dem curl Befehl zusammenbauen.

                        curl -d \ "<play_info><app_key>xxxxxxx</app_key><url>http://192.168.99.33:8083/xxxx.0/Dateiname.mp3</url><service>service text</service><reason>reason text</reason><message>message text</message><volume>Wert_aus_DP</volume></play_info>" http://192.168.99.24:8090/speaker

                        Quasi so, nur dass da vermutlich noch einiges zwischen muss....
                        Screenshot_20240623_140358_Chrome.jpg

                        mickymM Online
                        mickymM Online
                        mickym
                        Most Active
                        schrieb am zuletzt editiert von
                        #16

                        @david-g sagte in Ersatz für sayit-Adapter zur Sprachausgabe auf Sonos:

                        curl -d \ "<play_info><app_key>xxxxxxx</app_key><url>http://192.168.99.33:8083/xxxx.0/Dateiname.mp3</url><service>service text</service><reason>reason text</reason><message>message text</message><volume>Wert_aus_DP</volume></play_info>" http://192.168.99.24:8090/speaker

                        Der Pfad zu dem Dateinamen ist lokal und wird in einem Array ausgegeben.

                        55929e69-fcdb-4ff8-b104-fcd48f0b2a42-image.png

                        Sobald die Node fertig ist, gibt sie Dir doch den Pfad zur mp3

                        Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                        1 Antwort Letzte Antwort
                        0
                        • David G.D David G.

                          @mickym

                          Ich müsste den Dateinamen der mp3 bekommen. Das schaffe ich nicht.

                          Und dann für den curl dem curl Befehl zusammenbauen.

                          curl -d \ "<play_info><app_key>xxxxxxx</app_key><url>http://192.168.99.33:8083/xxxx.0/Dateiname.mp3</url><service>service text</service><reason>reason text</reason><message>message text</message><volume>Wert_aus_DP</volume></play_info>" http://192.168.99.24:8090/speaker

                          Quasi so, nur dass da vermutlich noch einiges zwischen muss....
                          Screenshot_20240623_140358_Chrome.jpg

                          mickymM Online
                          mickymM Online
                          mickym
                          Most Active
                          schrieb am zuletzt editiert von mickym
                          #17

                          @david-g sagte in Ersatz für sayit-Adapter zur Sprachausgabe auf Sonos:

                          http://192.168.99.33:8083/xxxx.0/Dateiname.mp3<

                          Ja das ist alles kein Problem, aber ich sehe das als Problem: http://192.168.99.33:8083/xxxx.0/Dateiname.mp3

                          Kannst Du den da auch einfach einen lokalen Pfad mitgeben? Also einen lokalen Pfad wie ich Dir unten gezeigt habe?

                          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                          David G.D 1 Antwort Letzte Antwort
                          0
                          • mickymM mickym

                            @david-g sagte in Ersatz für sayit-Adapter zur Sprachausgabe auf Sonos:

                            http://192.168.99.33:8083/xxxx.0/Dateiname.mp3<

                            Ja das ist alles kein Problem, aber ich sehe das als Problem: http://192.168.99.33:8083/xxxx.0/Dateiname.mp3

                            Kannst Du den da auch einfach einen lokalen Pfad mitgeben? Also einen lokalen Pfad wie ich Dir unten gezeigt habe?

                            David G.D Online
                            David G.D Online
                            David G.
                            schrieb am zuletzt editiert von David G.
                            #18

                            @mickym

                            Ja, das müsste mit dem Proxy Adapter gehen.
                            Teste das jetzt/gleich mal.

                            EDIT
                            Ist eingerichtet.
                            Komme jetzt über http://192.168.99.33:8083/proxy.0/nodetts/ auf alle generierten mp3s.

                            Dann muss man den Pfad entfernen und nur den Dateinamen nehmen.

                            Screenshot_20240623_142453_Chrome.jpg

                            Zeigt eure Lovelace-Visualisierung klick
                            (Auch ideal um sich Anregungen zu holen)

                            Meine Tabellen für eure Visualisierung klick

                            mickymM 2 Antworten Letzte Antwort
                            0
                            • David G.D David G.

                              @mickym

                              Ja, das müsste mit dem Proxy Adapter gehen.
                              Teste das jetzt/gleich mal.

                              EDIT
                              Ist eingerichtet.
                              Komme jetzt über http://192.168.99.33:8083/proxy.0/nodetts/ auf alle generierten mp3s.

                              Dann muss man den Pfad entfernen und nur den Dateinamen nehmen.

                              Screenshot_20240623_142453_Chrome.jpg

                              mickymM Online
                              mickymM Online
                              mickym
                              Most Active
                              schrieb am zuletzt editiert von
                              #19

                              @david-g sagte in Ersatz für sayit-Adapter zur Sprachausgabe auf Sonos:

                              @mickym

                              Ja, das müsste mit dem Proxy Adapter gehen.
                              Teste das jetzt/gleich mal.

                              So ich habe dann mal den Flow fertiggemacht - ggf. musst Du halt die Pfade noch anpassen - musst halt sagen, wenn Du da noch Hilfe brauchst.

                              Momentan sieht Dein Befehl halt so aus mit dem lokalen Pfad:

                              curl -d \ "<play_info><app_key>xxxxxxx</app_key><url>/home/iobroker/tts/sonospollyttsstorage/ttsfiles/f47f65d4ae122e0003d1f51977b47d71.mp3</url><service>service text</service><reason>reason text</reason><message>message text</message><volume>50</volume></play_info>" http://192.168.99.24:8090/speaker
                              

                              Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                              1 Antwort Letzte Antwort
                              0
                              • David G.D David G.

                                @mickym

                                Ja, das müsste mit dem Proxy Adapter gehen.
                                Teste das jetzt/gleich mal.

                                EDIT
                                Ist eingerichtet.
                                Komme jetzt über http://192.168.99.33:8083/proxy.0/nodetts/ auf alle generierten mp3s.

                                Dann muss man den Pfad entfernen und nur den Dateinamen nehmen.

                                Screenshot_20240623_142453_Chrome.jpg

                                mickymM Online
                                mickymM Online
                                mickym
                                Most Active
                                schrieb am zuletzt editiert von
                                #20

                                @david-g sagte in Ersatz für sayit-Adapter zur Sprachausgabe auf Sonos:

                                Dann muss man den Pfad entfernen und nur den Dateinamen nehmen.

                                Ah Ok - dann passe ich das noch kurz an

                                Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                David G.D 1 Antwort Letzte Antwort
                                0
                                • mickymM mickym

                                  @david-g sagte in Ersatz für sayit-Adapter zur Sprachausgabe auf Sonos:

                                  Dann muss man den Pfad entfernen und nur den Dateinamen nehmen.

                                  Ah Ok - dann passe ich das noch kurz an

                                  David G.D Online
                                  David G.D Online
                                  David G.
                                  schrieb am zuletzt editiert von David G.
                                  #21

                                  @mickym

                                  Vielen Dank.
                                  Cool wäre noch, wenn die Lautstärke noch aus einem anderen DP kommt.

                                  Ps
                                  Ich liebe den Proxy Adapter.
                                  Habe ich schon oft genutzt.
                                  Glaube der ist viel zu unbekannt ^^.

                                  Zeigt eure Lovelace-Visualisierung klick
                                  (Auch ideal um sich Anregungen zu holen)

                                  Meine Tabellen für eure Visualisierung klick

                                  mickymM 1 Antwort Letzte Antwort
                                  0
                                  • David G.D David G.

                                    @mickym

                                    Vielen Dank.
                                    Cool wäre noch, wenn die Lautstärke noch aus einem anderen DP kommt.

                                    Ps
                                    Ich liebe den Proxy Adapter.
                                    Habe ich schon oft genutzt.
                                    Glaube der ist viel zu unbekannt ^^.

                                    mickymM Online
                                    mickymM Online
                                    mickym
                                    Most Active
                                    schrieb am zuletzt editiert von mickym
                                    #22

                                    @david-g sagte in Ersatz für sayit-Adapter zur Sprachausgabe auf Sonos:

                                    @mickym

                                    Vielen Dank.
                                    Cool wäre noch, wenn die Lautstärke noch aus einem anderen DP kommt.

                                    Hab ich schon berücksichtigt

                                    c551dd8c-2706-4c89-b51b-59dac81f57a4-image.png

                                    Einen Datenpunkt für den Text, den anderen für Volume

                                    Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                    David G.D 1 Antwort Letzte Antwort
                                    0
                                    • mickymM mickym

                                      @david-g sagte in Ersatz für sayit-Adapter zur Sprachausgabe auf Sonos:

                                      @mickym

                                      Vielen Dank.
                                      Cool wäre noch, wenn die Lautstärke noch aus einem anderen DP kommt.

                                      Hab ich schon berücksichtigt

                                      c551dd8c-2706-4c89-b51b-59dac81f57a4-image.png

                                      Einen Datenpunkt für den Text, den anderen für Volume

                                      David G.D Online
                                      David G.D Online
                                      David G.
                                      schrieb am zuletzt editiert von
                                      #23

                                      @mickym

                                      Vielen lieben Dank
                                      Teste sobald der Export da ist.

                                      Falls die Schwiegereltern nicht wieder zu früh kommen 🤣

                                      Zeigt eure Lovelace-Visualisierung klick
                                      (Auch ideal um sich Anregungen zu holen)

                                      Meine Tabellen für eure Visualisierung klick

                                      mickymM 1 Antwort Letzte Antwort
                                      0
                                      • David G.D David G.

                                        @mickym

                                        Vielen lieben Dank
                                        Teste sobald der Export da ist.

                                        Falls die Schwiegereltern nicht wieder zu früh kommen 🤣

                                        mickymM Online
                                        mickymM Online
                                        mickym
                                        Most Active
                                        schrieb am zuletzt editiert von mickym
                                        #24

                                        @david-g Ich hab den curl Befehl selbst in die exec Node verfrachtet - kann man aber auch in der Template Node belassen.

                                        Deshalb siehst Du ihn in der Debugausgabe nicht.

                                        552dfe43-f49a-4453-a794-b03ffbc1fc17-image.png

                                        Also der Befehl würde dann vollständig so heißen:

                                        curl -d \ <play_info><app_key>xxxxxxx</app_key><url>http://192.168.99.33:8083/proxy.0/nodetts/f47f65d4ae122e0003d1f51977b47d71.mp3</url><service>service text</service><reason>reason text</reason><message>message text</message><volume>50</volume></play_info>" http://192.168.99.24:8090/speaker
                                        

                                        Hier der Flow:
                                        2846193d-7cd0-4ccc-82be-6ac2c027f5a3-image.png

                                        und hier der Export:

                                        [
                                           {
                                               "id": "ea4ec0a982311ad6",
                                               "type": "ttsultimate",
                                               "z": "fec1825aaae0effe",
                                               "name": "TTS-Ultimate",
                                               "voice": "de-DE",
                                               "ssml": false,
                                               "sonosipaddress": "",
                                               "sonosvolume": "20",
                                               "sonoshailing": "0",
                                               "config": "35ab450e7c673246",
                                               "property": "payload",
                                               "propertyType": {},
                                               "rules": [],
                                               "playertype": "noplayer",
                                               "speakingrate": "1",
                                               "speakingpitch": "0",
                                               "unmuteIfMuted": true,
                                               "elevenlabsStability": "0.5",
                                               "elevenlabsSimilarity_boost": "0.5",
                                               "x": 390,
                                               "y": 200,
                                               "wires": [
                                                   [
                                                       "2806f509e602fe63",
                                                       "5e8ec1239a8adc51"
                                                   ],
                                                   []
                                               ]
                                           },
                                           {
                                               "id": "2806f509e602fe63",
                                               "type": "debug",
                                               "z": "fec1825aaae0effe",
                                               "name": "tts output",
                                               "active": true,
                                               "tosidebar": true,
                                               "console": false,
                                               "tostatus": false,
                                               "complete": "true",
                                               "targetType": "full",
                                               "statusVal": "",
                                               "statusType": "auto",
                                               "x": 680,
                                               "y": 100,
                                               "wires": []
                                           },
                                           {
                                               "id": "491be7923b8a7632",
                                               "type": "debug",
                                               "z": "fec1825aaae0effe",
                                               "name": "Befehl",
                                               "active": true,
                                               "tosidebar": true,
                                               "console": false,
                                               "tostatus": false,
                                               "complete": "payload",
                                               "targetType": "msg",
                                               "statusVal": "",
                                               "statusType": "auto",
                                               "x": 1370,
                                               "y": 100,
                                               "wires": []
                                           },
                                           {
                                               "id": "f33f16b8963a9bac",
                                               "type": "template",
                                               "z": "fec1825aaae0effe",
                                               "name": "",
                                               "field": "payload",
                                               "fieldType": "msg",
                                               "format": "handlebars",
                                               "syntax": "mustache",
                                               "template": "\"<play_info><app_key>xxxxxxx</app_key><url>http://192.168.99.33:8083/proxy.0/nodetts/{{payload}}</url><service>service text</service><reason>reason text</reason><message>message text</message><volume>{{volume}}</volume></play_info>\" http://192.168.99.24:8090/speaker",
                                               "output": "str",
                                               "x": 1200,
                                               "y": 180,
                                               "wires": [
                                                   [
                                                       "491be7923b8a7632",
                                                       "7aaa60cfd020f3ca"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "28729562ca781877",
                                               "type": "ioBroker in",
                                               "z": "fec1825aaae0effe",
                                               "name": "",
                                               "attrname": "payload",
                                               "topic": "0_userdata.0.tts",
                                               "payloadType": "value",
                                               "onlyack": "",
                                               "func": "all",
                                               "gap": "",
                                               "fireOnStart": "false",
                                               "outFormat": "MQTT",
                                               "x": 180,
                                               "y": 200,
                                               "wires": [
                                                   [
                                                       "ea4ec0a982311ad6"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "9828506682942416",
                                               "type": "ioBroker get",
                                               "z": "fec1825aaae0effe",
                                               "name": "",
                                               "topic": "0_userdata.0.vol",
                                               "attrname": "volume",
                                               "payloadType": "value",
                                               "errOnInvalidState": "nothing",
                                               "x": 760,
                                               "y": 180,
                                               "wires": [
                                                   [
                                                       "38820d3ffb950c33"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "5e8ec1239a8adc51",
                                               "type": "switch",
                                               "z": "fec1825aaae0effe",
                                               "name": "fertig ?",
                                               "property": "payload",
                                               "propertyType": "msg",
                                               "rules": [
                                                   {
                                                       "t": "true"
                                                   }
                                               ],
                                               "checkall": "true",
                                               "repair": false,
                                               "outputs": 1,
                                               "x": 590,
                                               "y": 180,
                                               "wires": [
                                                   [
                                                       "9828506682942416"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "7aaa60cfd020f3ca",
                                               "type": "exec",
                                               "z": "fec1825aaae0effe",
                                               "command": "curl -d \\ ",
                                               "addpay": "payload",
                                               "append": "",
                                               "useSpawn": "false",
                                               "timer": "5",
                                               "winHide": false,
                                               "oldrc": false,
                                               "name": "",
                                               "x": 1380,
                                               "y": 180,
                                               "wires": [
                                                   [
                                                       "9a11f7b2222a6304"
                                                   ],
                                                   [
                                                       "b24feb9e68406c99"
                                                   ],
                                                   []
                                               ]
                                           },
                                           {
                                               "id": "9a11f7b2222a6304",
                                               "type": "debug",
                                               "z": "fec1825aaae0effe",
                                               "name": "stdout",
                                               "active": true,
                                               "tosidebar": true,
                                               "console": false,
                                               "tostatus": false,
                                               "complete": "payload",
                                               "targetType": "msg",
                                               "statusVal": "",
                                               "statusType": "auto",
                                               "x": 1530,
                                               "y": 140,
                                               "wires": []
                                           },
                                           {
                                               "id": "38820d3ffb950c33",
                                               "type": "change",
                                               "z": "fec1825aaae0effe",
                                               "name": "payload nur Dateiname",
                                               "rules": [
                                                   {
                                                       "t": "set",
                                                       "p": "payload",
                                                       "pt": "msg",
                                                       "to": "filesArray.0.file",
                                                       "tot": "msg"
                                                   },
                                                   {
                                                       "t": "change",
                                                       "p": "payload",
                                                       "pt": "msg",
                                                       "from": ".*/ttsfiles/(.*)$",
                                                       "fromt": "re",
                                                       "to": "$1",
                                                       "tot": "str"
                                                   }
                                               ],
                                               "action": "",
                                               "property": "",
                                               "from": "",
                                               "to": "",
                                               "reg": false,
                                               "x": 990,
                                               "y": 180,
                                               "wires": [
                                                   [
                                                       "f33f16b8963a9bac"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "b24feb9e68406c99",
                                               "type": "debug",
                                               "z": "fec1825aaae0effe",
                                               "name": "stderr",
                                               "active": true,
                                               "tosidebar": true,
                                               "console": false,
                                               "tostatus": false,
                                               "complete": "payload",
                                               "targetType": "msg",
                                               "statusVal": "",
                                               "statusType": "auto",
                                               "x": 1530,
                                               "y": 180,
                                               "wires": []
                                           },
                                           {
                                               "id": "35ab450e7c673246",
                                               "type": "ttsultimate-config",
                                               "name": "TTS Service",
                                               "noderedipaddress": "192.168.178.69",
                                               "noderedport": "1980",
                                               "purgediratrestart": "leave",
                                               "ttsservice": "googletranslate",
                                               "TTSRootFolderPath": "/home/iobroker/tts"
                                           }
                                        ]
                                        

                                        Die Debug Nodes kannst ja dann alle wieder entfernen bzw. deaktivieren.

                                        Wie gesagt, Du kannst die Ablage der mp3 s auch woanders hinlegen, Du musst das halt im Root tts Verzeichnis festlegen und der User iobroker muss halt Schreib- und Leserechte auf den Ordner haben.
                                        5df37843-b875-4060-adb1-060e3d11f77e-image.png

                                        Wenn Du diese Jingle also das Hailing noch davor haben willst - dann kann das nacheinander abgespielt werden, dann musst Du Deinen Proxy auf das Verzeichnis vorher definieren.

                                        4fa606bc-5c1e-405c-b387-ef01704bdebd-image.png

                                        Wenn das direkte Sonos Lautsprecher sind, kannst Du das aber doch auch direkt ausgeben, dann brauchst Du nicht mit curl arbeiten. Das ist doch viel eleganter?

                                        Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                        David G.D 1 Antwort Letzte Antwort
                                        0
                                        • mickymM mickym

                                          @david-g Ich hab den curl Befehl selbst in die exec Node verfrachtet - kann man aber auch in der Template Node belassen.

                                          Deshalb siehst Du ihn in der Debugausgabe nicht.

                                          552dfe43-f49a-4453-a794-b03ffbc1fc17-image.png

                                          Also der Befehl würde dann vollständig so heißen:

                                          curl -d \ <play_info><app_key>xxxxxxx</app_key><url>http://192.168.99.33:8083/proxy.0/nodetts/f47f65d4ae122e0003d1f51977b47d71.mp3</url><service>service text</service><reason>reason text</reason><message>message text</message><volume>50</volume></play_info>" http://192.168.99.24:8090/speaker
                                          

                                          Hier der Flow:
                                          2846193d-7cd0-4ccc-82be-6ac2c027f5a3-image.png

                                          und hier der Export:

                                          [
                                             {
                                                 "id": "ea4ec0a982311ad6",
                                                 "type": "ttsultimate",
                                                 "z": "fec1825aaae0effe",
                                                 "name": "TTS-Ultimate",
                                                 "voice": "de-DE",
                                                 "ssml": false,
                                                 "sonosipaddress": "",
                                                 "sonosvolume": "20",
                                                 "sonoshailing": "0",
                                                 "config": "35ab450e7c673246",
                                                 "property": "payload",
                                                 "propertyType": {},
                                                 "rules": [],
                                                 "playertype": "noplayer",
                                                 "speakingrate": "1",
                                                 "speakingpitch": "0",
                                                 "unmuteIfMuted": true,
                                                 "elevenlabsStability": "0.5",
                                                 "elevenlabsSimilarity_boost": "0.5",
                                                 "x": 390,
                                                 "y": 200,
                                                 "wires": [
                                                     [
                                                         "2806f509e602fe63",
                                                         "5e8ec1239a8adc51"
                                                     ],
                                                     []
                                                 ]
                                             },
                                             {
                                                 "id": "2806f509e602fe63",
                                                 "type": "debug",
                                                 "z": "fec1825aaae0effe",
                                                 "name": "tts output",
                                                 "active": true,
                                                 "tosidebar": true,
                                                 "console": false,
                                                 "tostatus": false,
                                                 "complete": "true",
                                                 "targetType": "full",
                                                 "statusVal": "",
                                                 "statusType": "auto",
                                                 "x": 680,
                                                 "y": 100,
                                                 "wires": []
                                             },
                                             {
                                                 "id": "491be7923b8a7632",
                                                 "type": "debug",
                                                 "z": "fec1825aaae0effe",
                                                 "name": "Befehl",
                                                 "active": true,
                                                 "tosidebar": true,
                                                 "console": false,
                                                 "tostatus": false,
                                                 "complete": "payload",
                                                 "targetType": "msg",
                                                 "statusVal": "",
                                                 "statusType": "auto",
                                                 "x": 1370,
                                                 "y": 100,
                                                 "wires": []
                                             },
                                             {
                                                 "id": "f33f16b8963a9bac",
                                                 "type": "template",
                                                 "z": "fec1825aaae0effe",
                                                 "name": "",
                                                 "field": "payload",
                                                 "fieldType": "msg",
                                                 "format": "handlebars",
                                                 "syntax": "mustache",
                                                 "template": "\"<play_info><app_key>xxxxxxx</app_key><url>http://192.168.99.33:8083/proxy.0/nodetts/{{payload}}</url><service>service text</service><reason>reason text</reason><message>message text</message><volume>{{volume}}</volume></play_info>\" http://192.168.99.24:8090/speaker",
                                                 "output": "str",
                                                 "x": 1200,
                                                 "y": 180,
                                                 "wires": [
                                                     [
                                                         "491be7923b8a7632",
                                                         "7aaa60cfd020f3ca"
                                                     ]
                                                 ]
                                             },
                                             {
                                                 "id": "28729562ca781877",
                                                 "type": "ioBroker in",
                                                 "z": "fec1825aaae0effe",
                                                 "name": "",
                                                 "attrname": "payload",
                                                 "topic": "0_userdata.0.tts",
                                                 "payloadType": "value",
                                                 "onlyack": "",
                                                 "func": "all",
                                                 "gap": "",
                                                 "fireOnStart": "false",
                                                 "outFormat": "MQTT",
                                                 "x": 180,
                                                 "y": 200,
                                                 "wires": [
                                                     [
                                                         "ea4ec0a982311ad6"
                                                     ]
                                                 ]
                                             },
                                             {
                                                 "id": "9828506682942416",
                                                 "type": "ioBroker get",
                                                 "z": "fec1825aaae0effe",
                                                 "name": "",
                                                 "topic": "0_userdata.0.vol",
                                                 "attrname": "volume",
                                                 "payloadType": "value",
                                                 "errOnInvalidState": "nothing",
                                                 "x": 760,
                                                 "y": 180,
                                                 "wires": [
                                                     [
                                                         "38820d3ffb950c33"
                                                     ]
                                                 ]
                                             },
                                             {
                                                 "id": "5e8ec1239a8adc51",
                                                 "type": "switch",
                                                 "z": "fec1825aaae0effe",
                                                 "name": "fertig ?",
                                                 "property": "payload",
                                                 "propertyType": "msg",
                                                 "rules": [
                                                     {
                                                         "t": "true"
                                                     }
                                                 ],
                                                 "checkall": "true",
                                                 "repair": false,
                                                 "outputs": 1,
                                                 "x": 590,
                                                 "y": 180,
                                                 "wires": [
                                                     [
                                                         "9828506682942416"
                                                     ]
                                                 ]
                                             },
                                             {
                                                 "id": "7aaa60cfd020f3ca",
                                                 "type": "exec",
                                                 "z": "fec1825aaae0effe",
                                                 "command": "curl -d \\ ",
                                                 "addpay": "payload",
                                                 "append": "",
                                                 "useSpawn": "false",
                                                 "timer": "5",
                                                 "winHide": false,
                                                 "oldrc": false,
                                                 "name": "",
                                                 "x": 1380,
                                                 "y": 180,
                                                 "wires": [
                                                     [
                                                         "9a11f7b2222a6304"
                                                     ],
                                                     [
                                                         "b24feb9e68406c99"
                                                     ],
                                                     []
                                                 ]
                                             },
                                             {
                                                 "id": "9a11f7b2222a6304",
                                                 "type": "debug",
                                                 "z": "fec1825aaae0effe",
                                                 "name": "stdout",
                                                 "active": true,
                                                 "tosidebar": true,
                                                 "console": false,
                                                 "tostatus": false,
                                                 "complete": "payload",
                                                 "targetType": "msg",
                                                 "statusVal": "",
                                                 "statusType": "auto",
                                                 "x": 1530,
                                                 "y": 140,
                                                 "wires": []
                                             },
                                             {
                                                 "id": "38820d3ffb950c33",
                                                 "type": "change",
                                                 "z": "fec1825aaae0effe",
                                                 "name": "payload nur Dateiname",
                                                 "rules": [
                                                     {
                                                         "t": "set",
                                                         "p": "payload",
                                                         "pt": "msg",
                                                         "to": "filesArray.0.file",
                                                         "tot": "msg"
                                                     },
                                                     {
                                                         "t": "change",
                                                         "p": "payload",
                                                         "pt": "msg",
                                                         "from": ".*/ttsfiles/(.*)$",
                                                         "fromt": "re",
                                                         "to": "$1",
                                                         "tot": "str"
                                                     }
                                                 ],
                                                 "action": "",
                                                 "property": "",
                                                 "from": "",
                                                 "to": "",
                                                 "reg": false,
                                                 "x": 990,
                                                 "y": 180,
                                                 "wires": [
                                                     [
                                                         "f33f16b8963a9bac"
                                                     ]
                                                 ]
                                             },
                                             {
                                                 "id": "b24feb9e68406c99",
                                                 "type": "debug",
                                                 "z": "fec1825aaae0effe",
                                                 "name": "stderr",
                                                 "active": true,
                                                 "tosidebar": true,
                                                 "console": false,
                                                 "tostatus": false,
                                                 "complete": "payload",
                                                 "targetType": "msg",
                                                 "statusVal": "",
                                                 "statusType": "auto",
                                                 "x": 1530,
                                                 "y": 180,
                                                 "wires": []
                                             },
                                             {
                                                 "id": "35ab450e7c673246",
                                                 "type": "ttsultimate-config",
                                                 "name": "TTS Service",
                                                 "noderedipaddress": "192.168.178.69",
                                                 "noderedport": "1980",
                                                 "purgediratrestart": "leave",
                                                 "ttsservice": "googletranslate",
                                                 "TTSRootFolderPath": "/home/iobroker/tts"
                                             }
                                          ]
                                          

                                          Die Debug Nodes kannst ja dann alle wieder entfernen bzw. deaktivieren.

                                          Wie gesagt, Du kannst die Ablage der mp3 s auch woanders hinlegen, Du musst das halt im Root tts Verzeichnis festlegen und der User iobroker muss halt Schreib- und Leserechte auf den Ordner haben.
                                          5df37843-b875-4060-adb1-060e3d11f77e-image.png

                                          Wenn Du diese Jingle also das Hailing noch davor haben willst - dann kann das nacheinander abgespielt werden, dann musst Du Deinen Proxy auf das Verzeichnis vorher definieren.

                                          4fa606bc-5c1e-405c-b387-ef01704bdebd-image.png

                                          Wenn das direkte Sonos Lautsprecher sind, kannst Du das aber doch auch direkt ausgeben, dann brauchst Du nicht mit curl arbeiten. Das ist doch viel eleganter?

                                          David G.D Online
                                          David G.D Online
                                          David G.
                                          schrieb am zuletzt editiert von
                                          #25

                                          @mickym

                                          Passt auf Anhieb (bis ich dran gedacht habe den API-Key wieder einzutragen).

                                          Danke.
                                          Wenn ich vor und nach den Text der gesprochen werden soll mache ich das mit einer template Node an zweiter Stelle?

                                          Zeigt eure Lovelace-Visualisierung klick
                                          (Auch ideal um sich Anregungen zu holen)

                                          Meine Tabellen für eure Visualisierung klick

                                          mickymM 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

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

                                          738

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe