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. Skripten / Logik
  4. Skript/Blockly verbessern

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
    2.0k

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

Skript/Blockly verbessern

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
17 Beiträge 4 Kommentatoren 783 Aufrufe 4 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.
  • Thomas BraunT Thomas Braun

    Mit eleganten Skripten tu ich mich immer noch schwer.
    Das nachstehende Blockly funktioniert zwar grundsätzlich, aber vielleicht kann mir noch jemand einen Tipp geben.
    Werden die Timeouts benötigt? Wenn ja warum?

    Und dann hätte ich eigentlich auch gerne die Lautstärke gespeichert und nach einem Telefonat wieder auf diesen alten Wert erhöht. Scheitert aber im Moment daran, dass der entsprechende State im alexa2-Adapter nicht synchronisiert bzw. aktualisiert wird.

    On call states sind drei: ring connect end

    3cae2536-55ca-4a2e-8dbe-01d065461513-image.png

    paul53P Offline
    paul53P Offline
    paul53
    schrieb am zuletzt editiert von paul53
    #2

    @thomas-braun sagte: gerne die Lautstärke gespeichert

    Das passiert an der falschen Stelle: Sie muss gespeichert werden, bevor sie verändert wird - nicht auch bei Gesprächsende.

    @thomas-braun sagte in Skript/Blockly verbessern:

    Werden die Timeouts benötigt? Wenn ja warum?

    Das obere Timeout verhindert eine Wiederholung bei mehrmaligem Klingeln und ist sicherlich sinnvoll. "timeout2" macht wohl keinen Sinn, zumal unten die falschen Timer-Variablen behandelt werden.

    Vorschlag:

    Blockly_temp.JPG

    @thomas-braun sagte in Skript/Blockly verbessern:

    On call states sind drei: ring connect end

    Bedeutet es, dass "ring" nur einmal kommt und dann stehen bleibt bis abgenommen wird? In dem Fall kann die Sperre "falls nicht Verzögerung timeout" entfallen.

    Die Logausgabe bei "connect" lautet: "Ausgehendes Telefongespräch startet...". Wie verhält es sich bei Annahme eines eingehenden Telefonats?

    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

    Thomas BraunT 1 Antwort Letzte Antwort
    0
    • paul53P paul53

      @thomas-braun sagte: gerne die Lautstärke gespeichert

      Das passiert an der falschen Stelle: Sie muss gespeichert werden, bevor sie verändert wird - nicht auch bei Gesprächsende.

      @thomas-braun sagte in Skript/Blockly verbessern:

      Werden die Timeouts benötigt? Wenn ja warum?

      Das obere Timeout verhindert eine Wiederholung bei mehrmaligem Klingeln und ist sicherlich sinnvoll. "timeout2" macht wohl keinen Sinn, zumal unten die falschen Timer-Variablen behandelt werden.

      Vorschlag:

      Blockly_temp.JPG

      @thomas-braun sagte in Skript/Blockly verbessern:

      On call states sind drei: ring connect end

      Bedeutet es, dass "ring" nur einmal kommt und dann stehen bleibt bis abgenommen wird? In dem Fall kann die Sperre "falls nicht Verzögerung timeout" entfallen.

      Die Logausgabe bei "connect" lautet: "Ausgehendes Telefongespräch startet...". Wie verhält es sich bei Annahme eines eingehenden Telefonats?

      Thomas BraunT Online
      Thomas BraunT Online
      Thomas Braun
      Most Active
      schrieb am zuletzt editiert von Thomas Braun
      #3

      @paul53 sagte in Skript/Blockly verbessern:

      Bedeutet es, dass "ring" nur einmal kommt und dann stehen bleibt bis abgenommen wird?

      Ja, das ist richtig. "ring" wird nur einmal gesetzt, wenn das Telefon beginnt zu klingeln, nicht bei jedem Klingelton. Bleibt stehen bis entweder abgenommen wird oder der Anrufer auflegt.

      Die Logausgabe bei "connect" lautet: "Ausgehendes Telefongespräch startet...". Wie verhält es sich bei Annahme eines eingehenden Telefonats?

      Dann ändert es sich von "ringing" auf "connect". Also kein Problem.

      Die Logausgaben hab ich wieder rausgekickt, hab gerne wenig im Log stehen.

      Linux-Werkzeugkasten:
      https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
      NodeJS Fixer Skript:
      https://forum.iobroker.net/topic/68035/iob-node-fix-skript
      iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

      paul53P 1 Antwort Letzte Antwort
      0
      • Thomas BraunT Thomas Braun

        @paul53 sagte in Skript/Blockly verbessern:

        Bedeutet es, dass "ring" nur einmal kommt und dann stehen bleibt bis abgenommen wird?

        Ja, das ist richtig. "ring" wird nur einmal gesetzt, wenn das Telefon beginnt zu klingeln, nicht bei jedem Klingelton. Bleibt stehen bis entweder abgenommen wird oder der Anrufer auflegt.

        Die Logausgabe bei "connect" lautet: "Ausgehendes Telefongespräch startet...". Wie verhält es sich bei Annahme eines eingehenden Telefonats?

        Dann ändert es sich von "ringing" auf "connect". Also kein Problem.

        Die Logausgaben hab ich wieder rausgekickt, hab gerne wenig im Log stehen.

        paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von
        #4

        @thomas-braun sagte: Bleibt stehen bis entweder abgenommen wird oder der Anrufer auflegt.

        Kommt "end", wenn der Anrufer auflegt?

        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

        Thomas BraunT 1 Antwort Letzte Antwort
        0
        • paul53P paul53

          @thomas-braun sagte: Bleibt stehen bis entweder abgenommen wird oder der Anrufer auflegt.

          Kommt "end", wenn der Anrufer auflegt?

          Thomas BraunT Online
          Thomas BraunT Online
          Thomas Braun
          Most Active
          schrieb am zuletzt editiert von Thomas Braun
          #5

          @paul53

          Kommt "end", wenn der Anrufer auflegt?

          Ja.
          [Edit:]
          Da fällt mir ein, dass die Lautstärke dann nicht wiederhergestellt wird....

          Schaut jetzt so aus:

          0d8ee413-09ea-4848-aac5-6cf6a25dba06-image.png

          Linux-Werkzeugkasten:
          https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
          NodeJS Fixer Skript:
          https://forum.iobroker.net/topic/68035/iob-node-fix-skript
          iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

          paul53P QuarkmaxQ 2 Antworten Letzte Antwort
          0
          • Thomas BraunT Thomas Braun

            @paul53

            Kommt "end", wenn der Anrufer auflegt?

            Ja.
            [Edit:]
            Da fällt mir ein, dass die Lautstärke dann nicht wiederhergestellt wird....

            Schaut jetzt so aus:

            0d8ee413-09ea-4848-aac5-6cf6a25dba06-image.png

            paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von paul53
            #6

            @thomas-braun sagte: Schaut jetzt so aus:

            Der Timeout muss bei Gesprächsannahme gestoppt werden, da es sonst während des Telefonats laut wird.

            Blockly_temp.JPG

            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

            Thomas BraunT 1 Antwort Letzte Antwort
            0
            • Thomas BraunT Thomas Braun

              @paul53

              Kommt "end", wenn der Anrufer auflegt?

              Ja.
              [Edit:]
              Da fällt mir ein, dass die Lautstärke dann nicht wiederhergestellt wird....

              Schaut jetzt so aus:

              0d8ee413-09ea-4848-aac5-6cf6a25dba06-image.png

              QuarkmaxQ Offline
              QuarkmaxQ Offline
              Quarkmax
              schrieb am zuletzt editiert von Quarkmax
              #7

              @thomas-braun
              und für die Anrufer, welche nicht im Telefonbuch stehen, habe ich so gelöst

              awtrix.png

              Ich trigger nur auf RingRing. Das Timeout braucht der Adapter, weil zwischen RingRing und Aktualisierung der Caller-DP 500ms vegehen.

              Thomas BraunT 1 Antwort Letzte Antwort
              0
              • paul53P paul53

                @thomas-braun sagte: Schaut jetzt so aus:

                Der Timeout muss bei Gesprächsannahme gestoppt werden, da es sonst während des Telefonats laut wird.

                Blockly_temp.JPG

                Thomas BraunT Online
                Thomas BraunT Online
                Thomas Braun
                Most Active
                schrieb am zuletzt editiert von
                #8

                @paul53 sagte in Skript/Blockly verbessern:

                Der Timeout muss bei Gesprächsannahme gestoppt werden, da es sonst während des Telefonats laut wird.

                Dann muss ich zum testen jetzt mal länger telefonieren. Ich ruf meine Mum an... :telephone_receiver:

                Linux-Werkzeugkasten:
                https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                NodeJS Fixer Skript:
                https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                1 Antwort Letzte Antwort
                0
                • QuarkmaxQ Quarkmax

                  @thomas-braun
                  und für die Anrufer, welche nicht im Telefonbuch stehen, habe ich so gelöst

                  awtrix.png

                  Ich trigger nur auf RingRing. Das Timeout braucht der Adapter, weil zwischen RingRing und Aktualisierung der Caller-DP 500ms vegehen.

                  Thomas BraunT Online
                  Thomas BraunT Online
                  Thomas Braun
                  Most Active
                  schrieb am zuletzt editiert von
                  #9

                  @quarkmax

                  Danke schön! Genau das hatte ich auch noch auf der ToDo-Liste.

                  Linux-Werkzeugkasten:
                  https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                  NodeJS Fixer Skript:
                  https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                  iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                  Thomas BraunT 1 Antwort Letzte Antwort
                  0
                  • Thomas BraunT Thomas Braun

                    @quarkmax

                    Danke schön! Genau das hatte ich auch noch auf der ToDo-Liste.

                    Thomas BraunT Online
                    Thomas BraunT Online
                    Thomas Braun
                    Most Active
                    schrieb am zuletzt editiert von
                    #10

                    So schaut es jetzt aus.
                    Bei "end" schreibe ich doch wieder den fixen Wert '40', die Speicherung des Wertes funktioniert nicht, weil im Datenpunkt von alexa2 etwas anderes als die tatsächliche Lautstärke stehen kann. Im Moment dudelt hier alles mit 40, die Alexa meint sie stünde auf '10'. Warum auch immer, wird wohl nicht korrekt synchronisiert.

                    3819b4bb-eb6a-4c77-afe7-47466cb4296e-image.png

                    Linux-Werkzeugkasten:
                    https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                    NodeJS Fixer Skript:
                    https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                    iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                    DJMarc75D 1 Antwort Letzte Antwort
                    0
                    • Thomas BraunT Thomas Braun

                      So schaut es jetzt aus.
                      Bei "end" schreibe ich doch wieder den fixen Wert '40', die Speicherung des Wertes funktioniert nicht, weil im Datenpunkt von alexa2 etwas anderes als die tatsächliche Lautstärke stehen kann. Im Moment dudelt hier alles mit 40, die Alexa meint sie stünde auf '10'. Warum auch immer, wird wohl nicht korrekt synchronisiert.

                      3819b4bb-eb6a-4c77-afe7-47466cb4296e-image.png

                      DJMarc75D Offline
                      DJMarc75D Offline
                      DJMarc75
                      schrieb am zuletzt editiert von
                      #11

                      @thomas-braun möchtest Du denn nur die Alexa welche bei eingehendem Anruf Musik abspielt leiser und danach wieder auf die vorherige Lautstärke setzen ?

                      Lehrling seit 1975 !!!
                      Beitrag geholfen ? dann gerne ein upvote rechts unten im Beitrag klicken ;)
                      https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge

                      Thomas BraunT 1 Antwort Letzte Antwort
                      0
                      • DJMarc75D DJMarc75

                        @thomas-braun möchtest Du denn nur die Alexa welche bei eingehendem Anruf Musik abspielt leiser und danach wieder auf die vorherige Lautstärke setzen ?

                        Thomas BraunT Online
                        Thomas BraunT Online
                        Thomas Braun
                        Most Active
                        schrieb am zuletzt editiert von
                        #12

                        @djmarc75

                        Im Grunde ja.
                        Bei ein- wie abgehenden Anrufen soll die 'Überall'-Gruppe der Echos leiser gestellt werden und beim Ende des Telefonats wieder auf die Lautstärke zurück gestellt werden.
                        Aber das scheitert daran, dass im DP der Alexas immer irgendwas anderes als die reale Lautstärke drin steht.

                        Linux-Werkzeugkasten:
                        https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                        NodeJS Fixer Skript:
                        https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                        iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                        DJMarc75D 1 Antwort Letzte Antwort
                        0
                        • Thomas BraunT Thomas Braun

                          @djmarc75

                          Im Grunde ja.
                          Bei ein- wie abgehenden Anrufen soll die 'Überall'-Gruppe der Echos leiser gestellt werden und beim Ende des Telefonats wieder auf die Lautstärke zurück gestellt werden.
                          Aber das scheitert daran, dass im DP der Alexas immer irgendwas anderes als die reale Lautstärke drin steht.

                          DJMarc75D Offline
                          DJMarc75D Offline
                          DJMarc75
                          schrieb am zuletzt editiert von
                          #13

                          @thomas-braun sagte in Skript/Blockly verbessern:

                          'Überall'-Gruppe

                          Ja, diese Gruppe kannste schon mal vergessen weil, wie Du schon erkannt hast, nicht die einzelnen Echos synchronisiert werden.

                          Ich bau Dir mal was zusammen... dauert bissle ;)

                          Lehrling seit 1975 !!!
                          Beitrag geholfen ? dann gerne ein upvote rechts unten im Beitrag klicken ;)
                          https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge

                          Thomas BraunT 1 Antwort Letzte Antwort
                          0
                          • DJMarc75D DJMarc75

                            @thomas-braun sagte in Skript/Blockly verbessern:

                            'Überall'-Gruppe

                            Ja, diese Gruppe kannste schon mal vergessen weil, wie Du schon erkannt hast, nicht die einzelnen Echos synchronisiert werden.

                            Ich bau Dir mal was zusammen... dauert bissle ;)

                            Thomas BraunT Online
                            Thomas BraunT Online
                            Thomas Braun
                            Most Active
                            schrieb am zuletzt editiert von
                            #14

                            @djmarc75 sagte in Skript/Blockly verbessern:

                            Ja, diese Gruppe kannste schon mal vergessen weil, wie Du schon erkannt hast, nicht die einzelnen Echos synchronisiert werden.

                            :-) Jetzt kommt einer meiner Lieblingssprüche:
                            Hat aber bis vor kurzem funktioniert!!1!1

                            Linux-Werkzeugkasten:
                            https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                            NodeJS Fixer Skript:
                            https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                            iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                            DJMarc75D 3 Antworten Letzte Antwort
                            0
                            • Thomas BraunT Thomas Braun

                              @djmarc75 sagte in Skript/Blockly verbessern:

                              Ja, diese Gruppe kannste schon mal vergessen weil, wie Du schon erkannt hast, nicht die einzelnen Echos synchronisiert werden.

                              :-) Jetzt kommt einer meiner Lieblingssprüche:
                              Hat aber bis vor kurzem funktioniert!!1!1

                              DJMarc75D Offline
                              DJMarc75D Offline
                              DJMarc75
                              schrieb am zuletzt editiert von
                              #15

                              @thomas-braun sagte in Skript/Blockly verbessern:

                              Hat aber bis vor kurzem funktioniert!!1!1

                              Amazon hat vielleicht "bis vor Kurzem" auch die unbezahlte Raucherpause eingeführt oder Zuckerwatte als feindlich eingestuft :clown_face:
                              Da ändert sich doch fast täglich was :dizzy_face:

                              Lehrling seit 1975 !!!
                              Beitrag geholfen ? dann gerne ein upvote rechts unten im Beitrag klicken ;)
                              https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge

                              1 Antwort Letzte Antwort
                              1
                              • Thomas BraunT Thomas Braun

                                @djmarc75 sagte in Skript/Blockly verbessern:

                                Ja, diese Gruppe kannste schon mal vergessen weil, wie Du schon erkannt hast, nicht die einzelnen Echos synchronisiert werden.

                                :-) Jetzt kommt einer meiner Lieblingssprüche:
                                Hat aber bis vor kurzem funktioniert!!1!1

                                DJMarc75D Offline
                                DJMarc75D Offline
                                DJMarc75
                                schrieb am zuletzt editiert von DJMarc75
                                #16

                                @thomas-braun hab das mit der Lautstärke jetzt mal so zusammengebaut:

                                Screenshot 2023-08-20 083718.png

                                Trigger ist der Wert ring.

                                In der Schleife werden alle Echos auf deren "currentState" abgefragt.

                                Wird ein true gefunden dann liest die Funktion den zugehörigen VolumeDP aus und der aktuelle Wert wird in die Variable startvolume geschrieben.

                                Bei end wird dann der DP volume aus der Variable volume mit dem Wert startvolume gesetzt.

                                Funktioniert aber erstmal nur wenn auf EINEM Echo was läuft.
                                Falls mehrere gleichzeitig aktiv sind muss ich mir noch was ausdenken.

                                Hier das Blockly

                                <xml xmlns="https://developers.google.com/blockly/xml">
                                 <variables>
                                   <variable id="m_fU+GKEG~B4S))D@G%D">myID</variable>
                                   <variable id="7DB5dK0*1*QrjhrIj`D@">currentState</variable>
                                   <variable id="=bB!0$flaPHx5xr,b}O2">volume</variable>
                                   <variable id="PLIj`{XSzaq%S^b|u|9C">startvolume</variable>
                                 </variables>
                                 <block type="on_ext" id="k=luF#idQtOl_@M6flnn" x="-362" y="-137">
                                   <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                                   <field name="CONDITION">ne</field>
                                   <field name="ACK_CONDITION"></field>
                                   <value name="OID0">
                                     <shadow type="field_oid" id=",1InwyuX,mX(pM%f=7[4">
                                       <field name="oid">tr-064.0.callmonitor.toPauseState</field>
                                     </shadow>
                                   </value>
                                   <statement name="STATEMENT">
                                     <block type="controls_if" id="a#peb##pl^rskkX5sF2j">
                                       <mutation elseif="1"></mutation>
                                       <value name="IF0">
                                         <block type="logic_compare" id="@7Ma*;l(-AQ~3MR_#~9M">
                                           <field name="OP">EQ</field>
                                           <value name="A">
                                             <block type="on_source" id="7ueOMjbvGVq53bVnKg=1">
                                               <field name="ATTR">state.val</field>
                                             </block>
                                           </value>
                                           <value name="B">
                                             <block type="text" id="^,nSshcue^ED{Gcl#/OT">
                                               <field name="TEXT">ring</field>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                       <statement name="DO0">
                                         <block type="controls_forEach" id="+CD$_+})VP$2T2{VISfj">
                                           <field name="VAR" id="7DB5dK0*1*QrjhrIj`D@">currentState</field>
                                           <value name="LIST">
                                             <block type="selector" id="VHHYFf3xuK..M[?2zJH)">
                                               <field name="TEXT">alexa2.0.Echo-Devices.*.Player.currentState</field>
                                             </block>
                                           </value>
                                           <statement name="DO">
                                             <block type="controls_if" id="MXVR%kD*413661ao`Ct#">
                                               <value name="IF0">
                                                 <block type="get_value_var" id="E,6hCU*eJrq:TKIhFB|w">
                                                   <field name="ATTR">val</field>
                                                   <value name="OID">
                                                     <shadow type="text">
                                                       <field name="TEXT"></field>
                                                     </shadow>
                                                     <block type="variables_get" id="|]ro_}|L^?(5c`v;PqxM">
                                                       <field name="VAR" id="7DB5dK0*1*QrjhrIj`D@">currentState</field>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </value>
                                               <statement name="DO0">
                                                 <block type="variables_set" id="/bxLeW=!=(zIAU[[DWFD">
                                                   <field name="VAR" id="=bB!0$flaPHx5xr,b}O2">volume</field>
                                                   <value name="VALUE">
                                                     <block type="procedures_callcustomreturn" id="eA|4{hk^}TL_Rgk[rG`!">
                                                       <mutation name="volume">
                                                         <arg name="myID"></arg>
                                                       </mutation>
                                                       <value name="ARG0">
                                                         <block type="variables_get" id=")VZv-OfyN3-xZ)`oY5N1">
                                                           <field name="VAR" id="7DB5dK0*1*QrjhrIj`D@">currentState</field>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </value>
                                                   <next>
                                                     <block type="variables_set" id="ofWMjx5t9[ql4^doe2EI">
                                                       <field name="VAR" id="PLIj`{XSzaq%S^b|u|9C">startvolume</field>
                                                       <value name="VALUE">
                                                         <block type="get_value_var" id="D:]y!pZ=29yPC+}Ijo;{">
                                                           <field name="ATTR">val</field>
                                                           <value name="OID">
                                                             <shadow type="text">
                                                               <field name="TEXT"></field>
                                                             </shadow>
                                                             <block type="variables_get" id="i$Z*+dPA=,=Yd:)2LC[+">
                                                               <field name="VAR" id="=bB!0$flaPHx5xr,b}O2">volume</field>
                                                             </block>
                                                           </value>
                                                         </block>
                                                       </value>
                                                       <next>
                                                         <block type="control_ex" id="4l(|#j[4L$$sWHR9SUUi" inline="true">
                                                           <field name="TYPE">false</field>
                                                           <field name="CLEAR_RUNNING">FALSE</field>
                                                           <value name="OID">
                                                             <shadow type="field_oid" id="L5Y?{gdAy`+Eu2aDz;4u">
                                                               <field name="oid">Object ID</field>
                                                             </shadow>
                                                             <block type="variables_get" id="J]hw[!oisa+Fl}{[(MPj">
                                                               <field name="VAR" id="=bB!0$flaPHx5xr,b}O2">volume</field>
                                                             </block>
                                                           </value>
                                                           <value name="VALUE">
                                                             <shadow type="logic_boolean" id="D|S86z5K*TaX%j2f]f$,">
                                                               <field name="BOOL">TRUE</field>
                                                             </shadow>
                                                             <block type="math_number" id="fScOfmZjI@aS.2QM#K[M">
                                                               <field name="NUM">25</field>
                                                             </block>
                                                           </value>
                                                           <value name="DELAY_MS">
                                                             <shadow type="math_number" id="(#aa7Yf(M?qam54_0Ivw">
                                                               <field name="NUM">0</field>
                                                             </shadow>
                                                           </value>
                                                         </block>
                                                       </next>
                                                     </block>
                                                   </next>
                                                 </block>
                                               </statement>
                                             </block>
                                           </statement>
                                         </block>
                                       </statement>
                                       <value name="IF1">
                                         <block type="logic_compare" id="]L`sDNzxRC.wt4(.KO`}">
                                           <field name="OP">EQ</field>
                                           <value name="A">
                                             <block type="on_source" id="P5PsImAfTa2%f~)n]Q];">
                                               <field name="ATTR">state.val</field>
                                             </block>
                                           </value>
                                           <value name="B">
                                             <block type="text" id="l{(97uGXiO0Qp%S^/tv2">
                                               <field name="TEXT">end</field>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                       <statement name="DO1">
                                         <block type="control_ex" id="^AfPZeVlkPYr#]y|v.Xm" inline="true">
                                           <field name="TYPE">false</field>
                                           <field name="CLEAR_RUNNING">FALSE</field>
                                           <value name="OID">
                                             <shadow type="field_oid">
                                               <field name="oid">Object ID</field>
                                             </shadow>
                                             <block type="variables_get" id="Ot-QwT#{oXIzu]v85N@B">
                                               <field name="VAR" id="=bB!0$flaPHx5xr,b}O2">volume</field>
                                             </block>
                                           </value>
                                           <value name="VALUE">
                                             <shadow type="logic_boolean" id="eoOP.k-!J,C9~ywgQE?m">
                                               <field name="BOOL">TRUE</field>
                                             </shadow>
                                             <block type="variables_get" id="l}/G6dx+3#[.HEP*LoY5">
                                               <field name="VAR" id="PLIj`{XSzaq%S^b|u|9C">startvolume</field>
                                             </block>
                                           </value>
                                           <value name="DELAY_MS">
                                             <shadow type="math_number" id=";1c.]PWG/{P]+b}M:YBd">
                                               <field name="NUM">0</field>
                                             </shadow>
                                           </value>
                                         </block>
                                       </statement>
                                     </block>
                                   </statement>
                                 </block>
                                 <block type="procedures_defcustomreturn" id="E:a`vGcq3aTw!M/ieI-." x="163" y="-112">
                                   <mutation statements="false">
                                     <arg name="myID" varid="m_fU+GKEG~B4S))D@G%D"></arg>
                                   </mutation>
                                   <field name="NAME">volume</field>
                                   <field name="SCRIPT">cmV0dXJuIG15SUQucmVwbGFjZSgiY3VycmVudFN0YXRlIiwidm9sdW1lIik7IA==</field>
                                   <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                                 </block>
                                </xml>
                                

                                Lehrling seit 1975 !!!
                                Beitrag geholfen ? dann gerne ein upvote rechts unten im Beitrag klicken ;)
                                https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge

                                1 Antwort Letzte Antwort
                                0
                                • Thomas BraunT Thomas Braun

                                  @djmarc75 sagte in Skript/Blockly verbessern:

                                  Ja, diese Gruppe kannste schon mal vergessen weil, wie Du schon erkannt hast, nicht die einzelnen Echos synchronisiert werden.

                                  :-) Jetzt kommt einer meiner Lieblingssprüche:
                                  Hat aber bis vor kurzem funktioniert!!1!1

                                  DJMarc75D Offline
                                  DJMarc75D Offline
                                  DJMarc75
                                  schrieb am zuletzt editiert von DJMarc75
                                  #17

                                  @thomas-braun

                                  sodele... Laustärke Skript v2.0 ;)

                                  Screenshot 2023-08-20 124037.png

                                  sorry wg der Auflösung... dehalb hier der Code:

                                  <xml xmlns="https://developers.google.com/blockly/xml">
                                   <variables>
                                     <variable id="m_fU+GKEG~B4S))D@G%D">myID</variable>
                                     <variable id="]*kEFZ(e5z@72cb9Kp)@">alexas</variable>
                                     <variable id="7DB5dK0*1*QrjhrIj`D@">currentState</variable>
                                     <variable id="f_q.[.fq?kf)rg~LImu*">Liste</variable>
                                     <variable id="=bB!0$flaPHx5xr,b}O2">volume</variable>
                                     <variable id="s1]}lXeH,G-qQsYDYd_D">echoDP</variable>
                                     <variable id="PLIj`{XSzaq%S^b|u|9C">startvolume</variable>
                                     <variable id=")fOlUEb))?kcB`=qR~S3">volumeDP</variable>
                                   </variables>
                                   <block type="on_ext" id="k=luF#idQtOl_@M6flnn" x="-362" y="-137">
                                     <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                                     <field name="CONDITION">ne</field>
                                     <field name="ACK_CONDITION"></field>
                                     <value name="OID0">
                                       <shadow type="field_oid" id=",1InwyuX,mX(pM%f=7[4">
                                         <field name="oid">tr-064.0.callmonitor.toPauseState</field>
                                       </shadow>
                                     </value>
                                     <statement name="STATEMENT">
                                       <block type="controls_if" id="a#peb##pl^rskkX5sF2j">
                                         <mutation elseif="1"></mutation>
                                         <value name="IF0">
                                           <block type="logic_compare" id="^(KTRn:2s;0bVLV9c9pM">
                                             <field name="OP">EQ</field>
                                             <value name="A">
                                               <block type="on_source" id="7ueOMjbvGVq53bVnKg=1">
                                                 <field name="ATTR">state.val</field>
                                               </block>
                                             </value>
                                             <value name="B">
                                               <block type="text" id="lOXch{[^VuN9O!M#*Lp7">
                                                 <field name="TEXT">ring</field>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                         <statement name="DO0">
                                           <block type="variables_set" id="u8ls7N|2kdrhw=LM}dYe">
                                             <field name="VAR" id="]*kEFZ(e5z@72cb9Kp)@">alexas</field>
                                             <value name="VALUE">
                                               <block type="lists_create_with" id="Cml@$nj-]O8g=_3G-3Bm">
                                                 <mutation items="0"></mutation>
                                               </block>
                                             </value>
                                             <next>
                                               <block type="controls_forEach" id="+CD$_+})VP$2T2{VISfj">
                                                 <field name="VAR" id="7DB5dK0*1*QrjhrIj`D@">currentState</field>
                                                 <value name="LIST">
                                                   <block type="selector" id="VHHYFf3xuK..M[?2zJH)">
                                                     <field name="TEXT">alexa2.0.Echo-Devices.*.Player.currentState</field>
                                                   </block>
                                                 </value>
                                                 <statement name="DO">
                                                   <block type="controls_if" id="MXVR%kD*413661ao`Ct#">
                                                     <value name="IF0">
                                                       <block type="get_value_var" id="E,6hCU*eJrq:TKIhFB|w">
                                                         <field name="ATTR">val</field>
                                                         <value name="OID">
                                                           <shadow type="text">
                                                             <field name="TEXT"></field>
                                                           </shadow>
                                                           <block type="variables_get" id="|]ro_}|L^?(5c`v;PqxM">
                                                             <field name="VAR" id="7DB5dK0*1*QrjhrIj`D@">currentState</field>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </value>
                                                     <statement name="DO0">
                                                       <block type="variables_set" id="/bxLeW=!=(zIAU[[DWFD">
                                                         <field name="VAR" id="=bB!0$flaPHx5xr,b}O2">volume</field>
                                                         <value name="VALUE">
                                                           <block type="procedures_callcustomreturn" id="eA|4{hk^}TL_Rgk[rG`!">
                                                             <mutation name="volume">
                                                               <arg name="myID"></arg>
                                                             </mutation>
                                                             <value name="ARG0">
                                                               <block type="variables_get" id=")VZv-OfyN3-xZ)`oY5N1">
                                                                 <field name="VAR" id="7DB5dK0*1*QrjhrIj`D@">currentState</field>
                                                               </block>
                                                             </value>
                                                           </block>
                                                         </value>
                                                         <next>
                                                           <block type="variables_set" id="ofWMjx5t9[ql4^doe2EI">
                                                             <field name="VAR" id="PLIj`{XSzaq%S^b|u|9C">startvolume</field>
                                                             <value name="VALUE">
                                                               <block type="get_value_var" id="D:]y!pZ=29yPC+}Ijo;{">
                                                                 <field name="ATTR">val</field>
                                                                 <value name="OID">
                                                                   <shadow type="text">
                                                                     <field name="TEXT"></field>
                                                                   </shadow>
                                                                   <block type="variables_get" id="i$Z*+dPA=,=Yd:)2LC[+">
                                                                     <field name="VAR" id="=bB!0$flaPHx5xr,b}O2">volume</field>
                                                                   </block>
                                                                 </value>
                                                               </block>
                                                             </value>
                                                             <next>
                                                               <block type="lists_setIndex" id="hAg1{doON,wAa#HfXJaO">
                                                                 <mutation at="false"></mutation>
                                                                 <field name="MODE">INSERT</field>
                                                                 <field name="WHERE">FIRST</field>
                                                                 <value name="LIST">
                                                                   <block type="variables_get" id="VUH}v$`#wE*rFa?W+]EC">
                                                                     <field name="VAR" id="]*kEFZ(e5z@72cb9Kp)@">alexas</field>
                                                                   </block>
                                                                 </value>
                                                                 <value name="TO">
                                                                   <block type="text_join" id="t1P@D?Lp8J8|]vg/j0Ot">
                                                                     <mutation items="5"></mutation>
                                                                     <value name="ADD0">
                                                                       <block type="text" id=":Y^Z*#FUchfwz@|*rkeR">
                                                                         <field name="TEXT">{"alexa":"</field>
                                                                       </block>
                                                                     </value>
                                                                     <value name="ADD1">
                                                                       <block type="variables_get" id="Yu-./7s[y=Y,PEg#:n~A">
                                                                         <field name="VAR" id="=bB!0$flaPHx5xr,b}O2">volume</field>
                                                                       </block>
                                                                     </value>
                                                                     <value name="ADD2">
                                                                       <block type="text" id="RSJh~5$HV+aXl4;TlKt,">
                                                                         <field name="TEXT">","volume":"</field>
                                                                       </block>
                                                                     </value>
                                                                     <value name="ADD3">
                                                                       <block type="variables_get" id="Qh!c}$^AuO#2t/uDq9Z/">
                                                                         <field name="VAR" id="PLIj`{XSzaq%S^b|u|9C">startvolume</field>
                                                                       </block>
                                                                     </value>
                                                                     <value name="ADD4">
                                                                       <block type="text" id="qGg=(P1`#=G}qqXB:]UT">
                                                                         <field name="TEXT">"}</field>
                                                                       </block>
                                                                     </value>
                                                                   </block>
                                                                 </value>
                                                                 <next>
                                                                   <block type="control_ex" id="4l(|#j[4L$$sWHR9SUUi" inline="true">
                                                                     <field name="TYPE">false</field>
                                                                     <field name="CLEAR_RUNNING">FALSE</field>
                                                                     <value name="OID">
                                                                       <shadow type="field_oid" id="L5Y?{gdAy`+Eu2aDz;4u">
                                                                         <field name="oid">Object ID</field>
                                                                       </shadow>
                                                                       <block type="variables_get" id="J]hw[!oisa+Fl}{[(MPj">
                                                                         <field name="VAR" id="=bB!0$flaPHx5xr,b}O2">volume</field>
                                                                       </block>
                                                                     </value>
                                                                     <value name="VALUE">
                                                                       <shadow type="logic_boolean" id="D|S86z5K*TaX%j2f]f$,">
                                                                         <field name="BOOL">TRUE</field>
                                                                       </shadow>
                                                                       <block type="math_number" id="fScOfmZjI@aS.2QM#K[M">
                                                                         <field name="NUM">10</field>
                                                                       </block>
                                                                     </value>
                                                                     <value name="DELAY_MS">
                                                                       <shadow type="math_number" id="(#aa7Yf(M?qam54_0Ivw">
                                                                         <field name="NUM">0</field>
                                                                       </shadow>
                                                                     </value>
                                                                   </block>
                                                                 </next>
                                                               </block>
                                                             </next>
                                                           </block>
                                                         </next>
                                                       </block>
                                                     </statement>
                                                   </block>
                                                 </statement>
                                                 <next>
                                                   <block type="update" id="Uc=Y=]%-Noin21s=DFrd">
                                                     <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                     <field name="OID">0_userdata.0.Test.ringringJson</field>
                                                     <field name="WITH_DELAY">FALSE</field>
                                                     <value name="VALUE">
                                                       <block type="text_join" id="SyAI)iprVj+}B4n698)`">
                                                         <mutation items="3"></mutation>
                                                         <value name="ADD0">
                                                           <block type="text" id="~(9$Z/6zBodzmyj*`Jt[">
                                                             <field name="TEXT">[</field>
                                                           </block>
                                                         </value>
                                                         <value name="ADD1">
                                                           <block type="variables_get" id="}s*oA=Rm0Xzo9.PvfU+~">
                                                             <field name="VAR" id="]*kEFZ(e5z@72cb9Kp)@">alexas</field>
                                                           </block>
                                                         </value>
                                                         <value name="ADD2">
                                                           <block type="text" id="-sdZGU8Qx:R1qo~(i!~J">
                                                             <field name="TEXT">]</field>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </next>
                                               </block>
                                             </next>
                                           </block>
                                         </statement>
                                         <value name="IF1">
                                           <block type="logic_compare" id="~5KEhQiW#m9Xj{EcR]60">
                                             <field name="OP">EQ</field>
                                             <value name="A">
                                               <block type="on_source" id="LWP5%Z}QkxU%/KDa,NFd">
                                                 <field name="ATTR">state.val</field>
                                               </block>
                                             </value>
                                             <value name="B">
                                               <block type="text" id="EV+}XQ^T/cFm3-,pb5VS">
                                                 <field name="TEXT">end</field>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                         <statement name="DO1">
                                           <block type="variables_set" id="#H?SRSa1j8M.kLK#uwS*">
                                             <field name="VAR" id="]*kEFZ(e5z@72cb9Kp)@">alexas</field>
                                             <value name="VALUE">
                                               <block type="convert_json2object" id="zJUKSj`5tyR}x-#avWKu">
                                                 <value name="VALUE">
                                                   <block type="get_value" id="]7WRm.^LJKU58%Gcu#Hn">
                                                     <field name="ATTR">val</field>
                                                     <field name="OID">0_userdata.0.Test.ringringJson</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                             <next>
                                               <block type="controls_repeat_ext" id="]/seVO9]~;q=ETwSZKMe">
                                                 <value name="TIMES">
                                                   <shadow type="math_number" id="sVGhj0m?S$,Q97([`:Ku">
                                                     <field name="NUM">10</field>
                                                   </shadow>
                                                   <block type="lists_length" id="?|hUt8t[0wT_%sB_XK:a">
                                                     <value name="VALUE">
                                                       <block type="variables_get" id="w)1ES|p@3UUdS]fvFn1{">
                                                         <field name="VAR" id="]*kEFZ(e5z@72cb9Kp)@">alexas</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                                 <statement name="DO">
                                                   <block type="variables_set" id="Iz%nRBgAuBKbyY%`mlli">
                                                     <field name="VAR" id="f_q.[.fq?kf)rg~LImu*">Liste</field>
                                                     <value name="VALUE">
                                                       <block type="lists_getIndex" id="`%:y%ov]q8uM[(e,%^yU">
                                                         <mutation statement="false" at="false"></mutation>
                                                         <field name="MODE">GET_REMOVE</field>
                                                         <field name="WHERE">FIRST</field>
                                                         <value name="VALUE">
                                                           <block type="variables_get" id="F.uQ:u/{Q(1urH*rrxl]">
                                                             <field name="VAR" id="]*kEFZ(e5z@72cb9Kp)@">alexas</field>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </value>
                                                     <next>
                                                       <block type="variables_set" id="xQ)Zo%?X?y;Eai=V7$VN">
                                                         <field name="VAR" id="s1]}lXeH,G-qQsYDYd_D">echoDP</field>
                                                         <value name="VALUE">
                                                           <block type="get_attr" id="BrFLvvH4K6;|](~Ae!L,">
                                                             <value name="PATH">
                                                               <shadow type="text" id="b+^lWI%YGS/$4y[Vl8T!">
                                                                 <field name="TEXT">alexa</field>
                                                               </shadow>
                                                             </value>
                                                             <value name="OBJECT">
                                                               <block type="variables_get" id="@P=IDeURD)(lm76~`hcx">
                                                                 <field name="VAR" id="f_q.[.fq?kf)rg~LImu*">Liste</field>
                                                               </block>
                                                             </value>
                                                           </block>
                                                         </value>
                                                         <next>
                                                           <block type="variables_set" id="(l*pWmdD3NW_pYCRtLza">
                                                             <field name="VAR" id=")fOlUEb))?kcB`=qR~S3">volumeDP</field>
                                                             <value name="VALUE">
                                                               <block type="get_attr" id="R!zU=W1w-`o|[prr=o4#">
                                                                 <value name="PATH">
                                                                   <shadow type="text" id="e[K(Pi`GbSG$XOe5xP0U">
                                                                     <field name="TEXT">volume</field>
                                                                   </shadow>
                                                                 </value>
                                                                 <value name="OBJECT">
                                                                   <block type="variables_get" id="|5%*K]lEk@bZuWN[^MK=">
                                                                     <field name="VAR" id="f_q.[.fq?kf)rg~LImu*">Liste</field>
                                                                   </block>
                                                                 </value>
                                                               </block>
                                                             </value>
                                                             <next>
                                                               <block type="control_ex" id="^AfPZeVlkPYr#]y|v.Xm" inline="true">
                                                                 <field name="TYPE">false</field>
                                                                 <field name="CLEAR_RUNNING">FALSE</field>
                                                                 <value name="OID">
                                                                   <shadow type="field_oid">
                                                                     <field name="oid">Object ID</field>
                                                                   </shadow>
                                                                   <block type="variables_get" id="Ot-QwT#{oXIzu]v85N@B">
                                                                     <field name="VAR" id="s1]}lXeH,G-qQsYDYd_D">echoDP</field>
                                                                   </block>
                                                                 </value>
                                                                 <value name="VALUE">
                                                                   <shadow type="logic_boolean" id="eoOP.k-!J,C9~ywgQE?m">
                                                                     <field name="BOOL">TRUE</field>
                                                                   </shadow>
                                                                   <block type="convert_tonumber" id="tigd%YVNad1$v`TglWCR">
                                                                     <value name="VALUE">
                                                                       <block type="variables_get" id="l}/G6dx+3#[.HEP*LoY5">
                                                                         <field name="VAR" id=")fOlUEb))?kcB`=qR~S3">volumeDP</field>
                                                                       </block>
                                                                     </value>
                                                                   </block>
                                                                 </value>
                                                                 <value name="DELAY_MS">
                                                                   <shadow type="math_number" id=";1c.]PWG/{P]+b}M:YBd">
                                                                     <field name="NUM">0</field>
                                                                   </shadow>
                                                                 </value>
                                                               </block>
                                                             </next>
                                                           </block>
                                                         </next>
                                                       </block>
                                                     </next>
                                                   </block>
                                                 </statement>
                                               </block>
                                             </next>
                                           </block>
                                         </statement>
                                       </block>
                                     </statement>
                                   </block>
                                   <block type="procedures_defcustomreturn" id="E:a`vGcq3aTw!M/ieI-." x="163" y="-112">
                                     <mutation statements="false">
                                       <arg name="myID" varid="m_fU+GKEG~B4S))D@G%D"></arg>
                                     </mutation>
                                     <field name="NAME">volume</field>
                                     <field name="SCRIPT">cmV0dXJuIG15SUQucmVwbGFjZSgiY3VycmVudFN0YXRlIiwidm9sdW1lIik7IA==</field>
                                     <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                                   </block>
                                  </xml>
                                  

                                  der DP ringringJson muss als JSON angelegt werden.

                                  Arbeite aber noch an einer eleganteren Methode vom Skript :)

                                  Lehrling seit 1975 !!!
                                  Beitrag geholfen ? dann gerne ein upvote rechts unten im Beitrag klicken ;)
                                  https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge

                                  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

                                  715

                                  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