Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. TTS: Homematic => Alexa Echo

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    TTS: Homematic => Alexa Echo

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

      Angesagt werden soll z.B. bei Zustandsänderung einer Variable, dass Waschmaschine fertig.

      Derzeit habe ich es über Home24 als tts auf ein altes Androidphone mit folgendem Programm gelöst:

      Waschmaschine.JPG

      Das Skript dazu sieht so aus:

      string url1="'http://192.168.178.153:50000/track=Intro.mp3'";
      string url2="'http://192.168.178.153:50000/tts=" # "Die Waschmaschine hat ihre Arbeit beendet'";
      dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O /dev/null " # url1# ";wget -q -O /dev/null " # url2);
      

      Geht sowas mit IoBroker und tts auf Echolautsprecher?

      dslraser 1 Reply Last reply Reply Quote 0
      • dslraser
        dslraser Forum Testing Most Active @him96 last edited by

        @him96
        ja, Deine Systemvariable sollte ja in den ioBroker Objekten angezeigt werden, dann kannst Du die gleich nutzen.
        Vorausgesetzt Du hast das im rega aktiviert.

        Screenshot_20191127-203539_Chrome.jpg

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

          Systemvariablen sind aktiviert.

          Kannst du mir kurz aufzeigen, wie ich es mache, dass die Objektänderung den speak-Befehl ausgibt? Leider bin ich da völlig unbedarft...

          dslraser 2 Replies Last reply Reply Quote 0
          • dslraser
            dslraser Forum Testing Most Active @him96 last edited by

            @him96
            mache ich morgen gern, heute ist mein Rechner schon aus.

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

              Herzlichen Dank!

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

                Ich habe mittlerweile ein wenig mit blockly rumgespielt, bekomme aber kein lauffähiges Script hin.

                Wie würde folgendes Homematic-Script mit blockly aussehen (beispielhaft):

                Waschmaschine.JPG

                Die Variable Waschmaschine ist in IoBroker hm-rega.0.44881

                dslraser BBTown 2 Replies Last reply Reply Quote 0
                • dslraser
                  dslraser Forum Testing Most Active @him96 last edited by

                  @him96
                  Oh, Mist, ich habe Dich vergessen...

                  1 Reply Last reply Reply Quote 0
                  • BBTown
                    BBTown @him96 last edited by

                    @him96 du solltest hier mal nachlesen

                    1 Reply Last reply Reply Quote 0
                    • dslraser
                      dslraser Forum Testing Most Active @him96 last edited by dslraser

                      @him96 sagte in TTS: Hommetic => Alexa Echo:

                      dass die Objektänderung den speak-Befehl ausgibt?

                      Als erstes solltest Du Dir überlegen ob Du die Scripte/Blocklys und die Programme auf der CCU vermischen willst ?
                      Wenn Du die Sachen in ioBroker probierst, dann solltest Du das Programm auf der CCU vorübergehend deaktivieren, damit es nicht irgendwie doppelt ausgeführt wird. (außer wenn Du Die Systemvariable nutzen willst, das natürlich nicht)

                      Für ioBroker nimmst Du einen Trigger, z.B. Deine Systemvariable. (ich habe Deine Systemvariable nicht, deshalb hier bei mir eine andere Systemvariable als Beispiel)

                      Bildschirmfoto 2019-11-29 um 16.36.41.png

                      oder, wenn Du nicht die Systemvariablen aus der CCU nutzen wills, dann einen anderen Trigger aus den Objekten den Du nutzen willst, hier z.B. eine Steckdose

                      Bildschirmfoto 2019-11-29 um 16.36.46.png

                      Da packst Du Deine Bedingung rein und was wann passieren soll, z.B.

                      Bildschirmfoto 2019-11-29 um 16.42.49.png Bildschirmfoto 2019-11-29 um 16.43.24.png

                      oder das gleiche, nur mit anderen Bausteinen

                      Bildschirmfoto 2019-11-29 um 16.45.00.png Bildschirmfoto 2019-11-29 um 16.45.11.png

                      dann das mache (was gemacht werden soll)

                      Bildschirmfoto 2019-11-29 um 16.48.43.png

                      Dann noch das Blockly starten und "probieren"

                      Hier noch das Beispiel als Export.

                      <block xmlns="http://www.w3.org/1999/xhtml" type="on" id="W?/Cc:_V$l37xb#kXy}-" x="13" y="63">
                       <field name="OID">hm-rega.0.950</field>
                       <field name="CONDITION">ne</field>
                       <field name="ACK_CONDITION"></field>
                       <statement name="STATEMENT">
                         <block type="controls_if" id="o;g(6,4l$0%a]D@ZwU4B">
                           <value name="IF0">
                             <block type="logic_compare" id="%5ZAq/Axm#45#J0vjy8B">
                               <field name="OP">EQ</field>
                               <value name="A">
                                 <block type="get_value" id="K*t_i0oz9}jpVaMch1xY">
                                   <field name="ATTR">val</field>
                                   <field name="OID">hm-rega.0.950</field>
                                 </block>
                               </value>
                               <value name="B">
                                 <block type="logic_boolean" id="A@h|LS$LCn*H4DFn%BIs">
                                   <field name="BOOL">TRUE</field>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <statement name="DO0">
                             <block type="control_ex" id="0ukrUSLCP!@`/5}So]6|">
                               <field name="TYPE">false</field>
                               <field name="CLEAR_RUNNING">FALSE</field>
                               <value name="OID">
                                 <shadow type="field_oid" id="ul(ouGNu*KKPdU{1/PE$">
                                   <field name="oid">alexa2.0.Echo-Devices.Gxxx.Commands.speak</field>
                                 </shadow>
                               </value>
                               <value name="VALUE">
                                 <shadow type="logic_boolean" id="|_:5k2p=!*#2%0q3#1}*">
                                   <field name="BOOL">TRUE</field>
                                 </shadow>
                                 <block type="text" id=";fqWe554|HN_1?Dv(SrE">
                                   <field name="TEXT">60; Das ist ein Test.</field>
                                 </block>
                               </value>
                               <value name="DELAY_MS">
                                 <shadow type="math_number" id=")b)y-Z`m]{kiIf9S,?#c">
                                   <field name="NUM">0</field>
                                 </shadow>
                               </value>
                             </block>
                           </statement>
                         </block>
                       </statement>
                      </block>
                      

                      1 Reply Last reply Reply Quote 1
                      • H
                        him96 last edited by

                        Danke erstmal … läuft fürs erste. Mal sehen wie sich die Lautstärkenänderung macht.

                        Unbenannt.JPG

                        Ich habe das Polling der hm-rega auf 1s gestellt damit die Ausgabe sofort kommt. Ist der kurze Intervall problematisch?

                        Ich versuche mich jetzt mal noch an den andern Ansage-Skripten...

                        dslraser 1 Reply Last reply Reply Quote 0
                        • dslraser
                          dslraser Forum Testing Most Active @him96 last edited by dslraser

                          @him96 sagte in TTS: Homematic => Alexa Echo:

                          Ich habe das Polling der hm-rega auf 1s gestellt damit die Ausgabe sofort kommt. Ist der kurze Intervall problematisch?

                          das weiß ich nicht, könnte aber sein das es nicht so gut ist... Ich meine auch das die CCU das pusht. Das Polling ist nur dafür, wenn Du auf Deiner CCU ein Programm oder Variable änderst/erstellst, dann werden die abgeholt, ich denke dafür ist das Polling. Die Werte werden aber gepusht.

                          Dein Blockly ist so auch nicht optimal, da Du zwei Mal den gleichen Trigger verwendest, kann das auch zusammengefast werden.

                          Vorschlag:

                          Bildschirmfoto 2019-11-29 um 18.03.29.png

                          <xml xmlns="http://www.w3.org/1999/xhtml">
                           <block type="on" id="`}o`BlQri_l6v6s_Z,Z[" x="13" y="13">
                             <field name="OID">hm-rpc.0.xxx.3.STATE</field>
                             <field name="CONDITION">ne</field>
                             <field name="ACK_CONDITION"></field>
                             <statement name="STATEMENT">
                               <block type="controls_if" id="KBY_C*}/6U677We9}47c">
                                 <mutation elseif="1"></mutation>
                                 <value name="IF0">
                                   <block type="logic_operation" id="yqGV6Q:c1Y=3BLLhvHj]" inline="false">
                                     <field name="OP">AND</field>
                                     <value name="A">
                                       <block type="logic_compare" id=")_:DK=s%?]IO4SBvX7Yq">
                                         <field name="OP">EQ</field>
                                         <value name="A">
                                           <block type="get_value" id="I!385/B5[BJln!*r(}LN">
                                             <field name="ATTR">val</field>
                                             <field name="OID">hm-rpc.0.xxx.STATE</field>
                                           </block>
                                         </value>
                                         <value name="B">
                                           <block type="logic_boolean" id="JVNr;-n@2Q4C`:DiaT1)">
                                             <field name="BOOL">FALSE</field>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                     <value name="B">
                                       <block type="time_compare_ex" id="r3!.Fh@%;HQ5lnbIj1h`">
                                         <mutation end_time="true" actual_time="true"></mutation>
                                         <field name="USE_ACTUAL_TIME">TRUE</field>
                                         <field name="OPTION">between</field>
                                         <value name="START_TIME">
                                           <shadow type="text" id="JO9vbwC5wY~JBRjVyK.g">
                                             <field name="TEXT">09:00</field>
                                           </shadow>
                                         </value>
                                         <value name="END_TIME">
                                           <shadow type="text" id="8Az4Htwr+p^]_9lfx`*X">
                                             <field name="TEXT">21:00</field>
                                           </shadow>
                                         </value>
                                       </block>
                                     </value>
                                   </block>
                                 </value>
                                 <statement name="DO0">
                                   <block type="control_ex" id="tuXrNaHcuC8)R/@#/y8H">
                                     <field name="TYPE">false</field>
                                     <field name="CLEAR_RUNNING">FALSE</field>
                                     <value name="OID">
                                       <shadow type="field_oid" id="mREKuhM)ON/je!9v%dk6">
                                         <field name="oid">alexa2.0.Echo-Devices.Gxxx.Commands.speak</field>
                                       </shadow>
                                     </value>
                                     <value name="VALUE">
                                       <shadow type="logic_boolean" id="|_:5k2p=!*#2%0q3#1}*">
                                         <field name="BOOL">TRUE</field>
                                       </shadow>
                                       <block type="text" id="2iEms$]nM6wWvxF:q3qV">
                                         <field name="TEXT">100; Das ist ein Test.</field>
                                       </block>
                                     </value>
                                     <value name="DELAY_MS">
                                       <shadow type="math_number" id="Sl5k8O]7zd3U7?6TAO:P">
                                         <field name="NUM">0</field>
                                       </shadow>
                                     </value>
                                   </block>
                                 </statement>
                                 <value name="IF1">
                                   <block type="logic_operation" id="_9~=2M5{8]fn9n$yJczo" inline="false">
                                     <field name="OP">AND</field>
                                     <value name="A">
                                       <block type="logic_compare" id="n*[1;|eL$^Psjz$A8ngW">
                                         <field name="OP">EQ</field>
                                         <value name="A">
                                           <block type="get_value" id="t:@]gB*](b{A*y%,x;RA">
                                             <field name="ATTR">val</field>
                                             <field name="OID">hm-rpc.0.xxx.3.STATE</field>
                                           </block>
                                         </value>
                                         <value name="B">
                                           <block type="logic_boolean" id="Tq8BD9#K1D+?!D,KiIas">
                                             <field name="BOOL">FALSE</field>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                     <value name="B">
                                       <block type="time_compare_ex" id="KEn;|G=5l!2{({bwlbe1">
                                         <mutation end_time="true" actual_time="true"></mutation>
                                         <field name="USE_ACTUAL_TIME">TRUE</field>
                                         <field name="OPTION">not between</field>
                                         <value name="START_TIME">
                                           <shadow type="text" id="0;C{?O$O8hTKx($M_Hx:">
                                             <field name="TEXT">09:00</field>
                                           </shadow>
                                         </value>
                                         <value name="END_TIME">
                                           <shadow type="text" id="wBNhTGlN),MP6I=DHp|K">
                                             <field name="TEXT">21:00</field>
                                           </shadow>
                                         </value>
                                       </block>
                                     </value>
                                   </block>
                                 </value>
                                 <statement name="DO1">
                                   <block type="control_ex" id="#.e3Ao``xm8cNqh(4f;j">
                                     <field name="TYPE">false</field>
                                     <field name="CLEAR_RUNNING">FALSE</field>
                                     <value name="OID">
                                       <shadow type="field_oid" id="CANV3SV7$E1z9TdIop8t">
                                         <field name="oid">alexa2.0.Echo-Devices.Gxxx.Commands.speak</field>
                                       </shadow>
                                     </value>
                                     <value name="VALUE">
                                       <shadow type="logic_boolean" id="|_:5k2p=!*#2%0q3#1}*">
                                         <field name="BOOL">TRUE</field>
                                       </shadow>
                                       <block type="text" id="Earor$yJ3nh.XV~`uNyC">
                                         <field name="TEXT">50; Das ist ein Test.</field>
                                       </block>
                                     </value>
                                     <value name="DELAY_MS">
                                       <shadow type="math_number" id="ph5cFt~j3TM7~)g]hPo*">
                                         <field name="NUM">0</field>
                                       </shadow>
                                     </value>
                                   </block>
                                 </statement>
                               </block>
                             </statement>
                           </block>
                          </xml>
                          

                          D 1 Reply Last reply Reply Quote 1
                          • H
                            him96 last edited by

                            Neues Skript neue Problem 😞

                            Das Script in HM:

                            Unbenannt.JPG

                            Blockly:

                            Unbenannt.JPG

                            Wie prüfe ich ZUSÄTZlICH noch die Systemvariablen "GutenMorgenAnsage erfolgt" und "Bett-Teilbelegung" ab?

                            Wie kann ich nach der Ansage verzögert die Systemvariablen "GutenMorgenAnsage erfolgt" ändern?

                            dslraser 2 Replies Last reply Reply Quote 0
                            • dslraser
                              dslraser Forum Testing Most Active @him96 last edited by dslraser

                              @him96

                              Als Trigger Baustein kannst Du auch den anderen Baustein nehmen und über das Zahnrad so viele einfügen wie Du willst. Einfach den Baustein Objekt ID nach rechts rein ziehen.

                              Bildschirmfoto 2019-11-29 um 18.11.17.png

                              Beim Falls gibt es das auch

                              Bildschirmfoto 2019-11-29 um 18.11.40.png

                              1 Reply Last reply Reply Quote 0
                              • dslraser
                                dslraser Forum Testing Most Active @him96 last edited by

                                @him96 sagte in TTS: Homematic => Alexa Echo:

                                Wie kann ich nach der Ansage verzögert die Systemvariablen "GutenMorgenAnsage erfolgt" ändern?

                                unter der erfolgten Ansage im mache Bereich (also direkt unter dem schreibe Baustein) Deine Variable verzögert steuern

                                Bildschirmfoto 2019-11-29 um 18.21.16.png

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

                                  Läuft das Scripts so / ist es sinnvoll aufgebaut:

                                  Unbenannt.JPG

                                  Ich würde gerne nach dem TTS-Text noch

                                  alexa2.0.Echo-Devices.G090XXXXXXXXXXXXXX.Commands.weather

                                  einfügen. ObjektID wäre dann "weather". Was kommt bei "Wert" und wie bestimme ich da die Lautstärke?

                                  dslraser 1 Reply Last reply Reply Quote 0
                                  • dslraser
                                    dslraser Forum Testing Most Active @him96 last edited by dslraser

                                    @him96 sagte in TTS: Homematic => Alexa Echo:

                                    Läuft das Scripts so / ist es sinnvoll aufgebaut:

                                    nein und nein

                                    Trigger in Trigger geht nicht.

                                    Was soll denn wann passieren ? Bitte beschreibe was Du erreichen möchtest. Dein Blockly verstehe ich nicht.

                                    Und bitte schau Dir mal diese Videos an, die sind gut gemacht.

                                    https://forum.iobroker.net/post/322552

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

                                      Ich möchte, dass "Bewegungsmelder EG.MOTION" bei "ist wahr" auslöst

                                      aber "mache" nur erfolgt, wenn gleichzeitig

                                      Objekt "Bett-Teilbelegung" und "Objekt GutenMorgenAnsage" auf "unwahr" stehen

                                      => diese sollen also nur als Bedingung geprüft werden und nicht selbst auslösen

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

                                        Ich glaube so langsam komme ich rein...

                                        Habe es jetzt so umgesetzt:

                                        Unbenannt.JPG

                                        Nur die Wetterausgabe funktioniert so noch nicht.

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

                                          Hat jemand einen Tipp wie ich die Wetteransage nach der TTS-Ansage mit Lautstärke 40 ausgeben kann?

                                          Im Moment kommt zwar der Text mit LS40, das Wetter aber viele lauter.

                                          Edit: Mir scheint die Ausgabelautstärke des Wetters erfolgt in der Lautstärke, die am Echo-Dot mit den tasten eingestellt wurde.

                                          1 Reply Last reply Reply Quote 0
                                          • D
                                            davimas @dslraser last edited by

                                            @dslraser
                                            Danke für deine ganzen Erklärungen hier im Forum. Echt Mega!

                                            Hatte das mit dem Trigger in diesem Beispiel ungefähr 2 Monate auch "doppelt" für jeweils einen true und false Zustand, aber das mit "geändert" und das Ganze zusammengefasst > ist Klasse.

                                            Wenn man sich neu in diese ioBroker Software einarbeitet wird man mit Funktionen überflutet 😲

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            522
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

                                            blockly communication javascript
                                            4
                                            22
                                            1495
                                            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