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

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Alexa Lautstärkesteuerung via Blockly sehr unzuverlässig

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.2k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

Alexa Lautstärkesteuerung via Blockly sehr unzuverlässig

Geplant Angeheftet Gesperrt Verschoben Blockly
blockly
31 Beiträge 7 Kommentatoren 2.6k Aufrufe 6 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.
  • N n3ucr0n

    @bananajoe

    Danke für die Ausführung.
    Scheint also tatsächlich das Problem zu sein.
    Ich werde heute mal dazu kommen die Verzögerung einzubauen um den Adapter zu entlasten, ich berichte ob es was gebracht hat!

    Danke an alle für die Ideen!

    A Offline
    A Offline
    Ahnungsbefreit
    schrieb am zuletzt editiert von
    #20

    @n3ucr0n Ich würde statt der vielen Datenpunkte mit Listen arbeiten: 1 Liste mit den zu steuernden Alexa-DPs, je eine mit der Lautstärke für laut/leise/nachts. Dann kannst Du in einer Schleife über die Liste iterieren und die Verzögerung gleich mit hoch zählen. Das wäre deutlich kompakter und einfacher zu ändern...

    Wenn meine Antwort hilfreich war, dürft Ihr das gerne durch einen "Upvote" (der kleine "^" unten rechts) zum Ausdruck bringen.

    N 1 Antwort Letzte Antwort
    0
    • N n3ucr0n

      @padrino

      Das hier ist einer der DP:

      {
        "_id": "0_userdata.0.Lautstärke.Esszimmer_Laut",
        "type": "state",
        "common": {
          "name": "Esszimmer Laut",
          "role": "",
          "type": "number",
          "min": 0,
          "max": 100,
          "read": true,
          "write": true
        },
        "native": {},
        "from": "system.adapter.admin.0",
        "user": "system.user.admin",
        "ts": 1604914774298,
        "acl": {
          "object": 1636,
          "owner": "system.user.admin",
          "ownerGroup": "system.group.administrator",
          "state": 1636
        }
      }
      

      Beschrieben habe ich die Datenpunkte händisch. Aktuell werden die auch nicht gesteuert bzw. verändert sondern sind starr.

      dslraserD Offline
      dslraserD Offline
      dslraser
      Forum Testing Most Active
      schrieb am zuletzt editiert von
      #21

      @n3ucr0n sagte in Alexa Lautstärkesteuerung via Blockly sehr unzuverlässig:

      @padrino

      Das hier ist einer der DP:

      {
        "_id": "0_userdata.0.Lautstärke.Esszimmer_Laut",
        "type": "state",
        "common": {
          "name": "Esszimmer Laut",
          "role": "",
          "type": "number",
          "min": 0,
          "max": 100,
          "read": true,
          "write": true
        },
        "native": {},
        "from": "system.adapter.admin.0",
        "user": "system.user.admin",
        "ts": 1604914774298,
        "acl": {
          "object": 1636,
          "owner": "system.user.admin",
          "ownerGroup": "system.group.administrator",
          "state": 1636
        }
      }
      

      Beschrieben habe ich die Datenpunkte händisch. Aktuell werden die auch nicht gesteuert bzw. verändert sondern sind starr.

      mach mal eine passende role rein.
      z.B.
      "role": "level.volume",

      1 Antwort Letzte Antwort
      1
      • A Ahnungsbefreit

        @n3ucr0n Ich würde statt der vielen Datenpunkte mit Listen arbeiten: 1 Liste mit den zu steuernden Alexa-DPs, je eine mit der Lautstärke für laut/leise/nachts. Dann kannst Du in einer Schleife über die Liste iterieren und die Verzögerung gleich mit hoch zählen. Das wäre deutlich kompakter und einfacher zu ändern...

        N Offline
        N Offline
        n3ucr0n
        schrieb am zuletzt editiert von
        #22

        @ahnungsbefreit
        Hast Du ein (einfaches) Beispiel für mich, an dem ich mir den Gedanken mal näher führen kann?

        @dslraser
        Gute Idee! Werde ich testen! Das Thema mit der Verzögerung hat leider noch keinen Erfolg gebracht. Die Theorie dahinter leuchtet mir ein, daher werde ich die Verzögerung auch drin lassen, aber es werden noch immer die Lautstärken unzuverlässig geschaltet. Die Idee mit der Rolle wird heute noch umgesetzt.

        A 1 Antwort Letzte Antwort
        0
        • padrinoP padrino

          @bananajoe
          Ja, das mit der App weiß ich, das selbe kann man ja auch in Routinen einstellen.
          In der App im "alten" Design (bis vor kurzem) blieb der Wert optisch auch wie eingestellt, im "neuen" Design sieht man den Slider von alleine auf den runden Wert hüpfen (Android).
          Nein, habe kein Skript laufen, habe jetzt sogar zum Test extra die komplette JavaScript Instanz angehalten.

          @apollon77
          Wo Du grad mitliest
          a) magst Du den "OT" Teil absplitten?
          b) gibt es ein offizielles Limit in Zahlen?

          apollon77A Online
          apollon77A Online
          apollon77
          schrieb am zuletzt editiert von
          #23

          @padrino sagte in Alexa Lautstärkesteuerung via Blockly sehr unzuverlässig:

          b) gibt es ein offizielles Limit in Zahlen?

          Nicht wirklich ... experimentieren

          Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

          • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
          • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
          1 Antwort Letzte Antwort
          0
          • apollon77A apollon77

            Das Problem ist sehr einfach: Zu viel und zu schnell.
            Amazon hat "rate Limits" definiert - bedeutet das nur eine definierte Anzahl an Kommandos in einer bestimmten Zeit durch gehen ... sonst gibt es einen Fehler.

            Du sendest 11 Kommandos quasi zur gleichen zeit raus ... das ist zuviel. Versuch mal ob Dir gruppen helfen.

            N Offline
            N Offline
            n3ucr0n
            schrieb am zuletzt editiert von
            #24

            @apollon77 said in Alexa Lautstärkesteuerung via Blockly sehr unzuverlässig:

            Das Problem ist sehr einfach: Zu viel und zu schnell.
            Amazon hat "rate Limits" definiert - bedeutet das nur eine definierte Anzahl an Kommandos in einer bestimmten Zeit durch gehen ... sonst gibt es einen Fehler.

            Du sendest 11 Kommandos quasi zur gleichen zeit raus ... das ist zuviel. Versuch mal ob Dir gruppen helfen.

            Oh hatte Deinen Beitrag oben überlesen, bitte entschuldigung.

            Funktioniert der Workaround mit dem Setzen von Verzögerunden (jeder Block 1 Sekunde nach dem Vorherigen) oder ist das nicht zielführend?

            Den Tipp mit den Gruppen werde ich testen.

            1 Antwort Letzte Antwort
            0
            • N n3ucr0n

              @ahnungsbefreit
              Hast Du ein (einfaches) Beispiel für mich, an dem ich mir den Gedanken mal näher führen kann?

              @dslraser
              Gute Idee! Werde ich testen! Das Thema mit der Verzögerung hat leider noch keinen Erfolg gebracht. Die Theorie dahinter leuchtet mir ein, daher werde ich die Verzögerung auch drin lassen, aber es werden noch immer die Lautstärken unzuverlässig geschaltet. Die Idee mit der Rolle wird heute noch umgesetzt.

              A Offline
              A Offline
              Ahnungsbefreit
              schrieb am zuletzt editiert von
              #25

              @n3ucr0n Ungetestet und nur ein Teil der Logik aus Deinem Script, sollte aber reichen, um das Prinzip zu verdeutlichen:
              ee2f83fe-09c1-4e10-903d-65f419b91168-image.png

              Wenn Du dann noch Gruppen verwendest, um alle Echos, die gleich gesteuert werden, zusammenzufassen, wird das sehr übersichtlich...

              Wenn meine Antwort hilfreich war, dürft Ihr das gerne durch einen "Upvote" (der kleine "^" unten rechts) zum Ausdruck bringen.

              BananaJoeB 1 Antwort Letzte Antwort
              0
              • A Ahnungsbefreit

                @n3ucr0n Ungetestet und nur ein Teil der Logik aus Deinem Script, sollte aber reichen, um das Prinzip zu verdeutlichen:
                ee2f83fe-09c1-4e10-903d-65f419b91168-image.png

                Wenn Du dann noch Gruppen verwendest, um alle Echos, die gleich gesteuert werden, zusammenzufassen, wird das sehr übersichtlich...

                BananaJoeB Online
                BananaJoeB Online
                BananaJoe
                Most Active
                schrieb am zuletzt editiert von
                #26

                @ahnungsbefreit

                Ich meine das Skript ist so nicht richtig. Er wird die beiden Echos setzen und bei jedem das delay warten.

                Wenn er in der Liste 10 Stück hat wir der die Befehle für die 10 hintereinander abfeuern , die werden den Delay warten dann aber trotzdem alle quasi zu gleichen zeit ausgeführt. Denn das Skript warten bei einem Delay nicht auf diesen sondern macht sofort weiter, der Schreibe Befehl macht das warten dann im Hintergrund.
                Ich nehme deshalb "pause" um die Zeit zwischen 2 Zugriffen zu bremsen

                ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 750W kaskadiert || Creality CR-10 SE 3D-Drucker

                A 1 Antwort Letzte Antwort
                0
                • BananaJoeB BananaJoe

                  @ahnungsbefreit

                  Ich meine das Skript ist so nicht richtig. Er wird die beiden Echos setzen und bei jedem das delay warten.

                  Wenn er in der Liste 10 Stück hat wir der die Befehle für die 10 hintereinander abfeuern , die werden den Delay warten dann aber trotzdem alle quasi zu gleichen zeit ausgeführt. Denn das Skript warten bei einem Delay nicht auf diesen sondern macht sofort weiter, der Schreibe Befehl macht das warten dann im Hintergrund.
                  Ich nehme deshalb "pause" um die Zeit zwischen 2 Zugriffen zu bremsen

                  A Offline
                  A Offline
                  Ahnungsbefreit
                  schrieb am zuletzt editiert von Ahnungsbefreit
                  #27

                  @bananajoe Ich denke, da liegst Du falsch. Genau für solche Zwecke gibt es den Parameter "Verzögerung in ms" . Damit wird der Wert eben genau nach Ablauf der Verzögerung gesetzt.

                  "Pause" sollte man wirklich nur im absoluten Notfall verwenden, ich habe in allen meinen Scripten keine einzige Pause drin und es funktioniert.

                  Wenn meine Antwort hilfreich war, dürft Ihr das gerne durch einen "Upvote" (der kleine "^" unten rechts) zum Ausdruck bringen.

                  BananaJoeB 1 Antwort Letzte Antwort
                  0
                  • A Ahnungsbefreit

                    @bananajoe Ich denke, da liegst Du falsch. Genau für solche Zwecke gibt es den Parameter "Verzögerung in ms" . Damit wird der Wert eben genau nach Ablauf der Verzögerung gesetzt.

                    "Pause" sollte man wirklich nur im absoluten Notfall verwenden, ich habe in allen meinen Scripten keine einzige Pause drin und es funktioniert.

                    BananaJoeB Online
                    BananaJoeB Online
                    BananaJoe
                    Most Active
                    schrieb am zuletzt editiert von
                    #28

                    @ahnungsbefreit sagte in Alexa Lautstärkesteuerung via Blockly sehr unzuverlässig:

                    @bananajoe Ich denke, da liegst Du falsch. Genau für solche Zwecke gibt es den Parameter "Verzögerung in ms" . Damit wird der Wert eben genau nach Ablauf der Verzögerung gesetzt.

                    "Pause" sollte man wirklich nur im absoluten Notfall verwenden, ich habe in allen meinen Scripten keine einzige Pause drin und es funktioniert.

                    Dann erkläre mir mal das:
                    029b13fe-0ff8-4709-a5aa-44c5d1cd01cb-image.png
                    bc903cc4-ee79-493d-b33e-c8a744c95d13-image.png :

                    Delay.gif

                    Die müssten dann ja im Abstand von 1 Sekunde an-- und ausgehen, und nicht alle auf einmal.

                    ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 750W kaskadiert || Creality CR-10 SE 3D-Drucker

                    A 1 Antwort Letzte Antwort
                    0
                    • BananaJoeB BananaJoe

                      @ahnungsbefreit sagte in Alexa Lautstärkesteuerung via Blockly sehr unzuverlässig:

                      @bananajoe Ich denke, da liegst Du falsch. Genau für solche Zwecke gibt es den Parameter "Verzögerung in ms" . Damit wird der Wert eben genau nach Ablauf der Verzögerung gesetzt.

                      "Pause" sollte man wirklich nur im absoluten Notfall verwenden, ich habe in allen meinen Scripten keine einzige Pause drin und es funktioniert.

                      Dann erkläre mir mal das:
                      029b13fe-0ff8-4709-a5aa-44c5d1cd01cb-image.png
                      bc903cc4-ee79-493d-b33e-c8a744c95d13-image.png :

                      Delay.gif

                      Die müssten dann ja im Abstand von 1 Sekunde an-- und ausgehen, und nicht alle auf einmal.

                      A Offline
                      A Offline
                      Ahnungsbefreit
                      schrieb am zuletzt editiert von
                      #29

                      @bananajoe Nein, denn Du hast ja überall 1000 ms Verzögerung drin. In meinem Script zähle in jedem Schleifendurchgang die Verzögerung um 500 ms hoch. Also

                      1. mit 0 ms,
                      2. mit 500 ms,
                      3. mit 1000 ms und so weiter.

                      Wenn meine Antwort hilfreich war, dürft Ihr das gerne durch einen "Upvote" (der kleine "^" unten rechts) zum Ausdruck bringen.

                      BananaJoeB 1 Antwort Letzte Antwort
                      0
                      • A Ahnungsbefreit

                        @bananajoe Nein, denn Du hast ja überall 1000 ms Verzögerung drin. In meinem Script zähle in jedem Schleifendurchgang die Verzögerung um 500 ms hoch. Also

                        1. mit 0 ms,
                        2. mit 500 ms,
                        3. mit 1000 ms und so weiter.
                        BananaJoeB Online
                        BananaJoeB Online
                        BananaJoe
                        Most Active
                        schrieb am zuletzt editiert von
                        #30

                        @ahnungsbefreit jetzt habe ich deine Methode verstanden. In der Tat elegant, das Script ist schnell fertig und bereit für den nächsten Aufruf.

                        Wäre jetzt interessant wie en Befehlen setStateDelayed und await wait die Verzögerung umgesetzt wurde um zu sehen was die Folgen/Unterschiede sind.
                        Gibt es die Quellen dazu irgendwo? Mein erster Googleversuch war nicht erfolgreich

                        ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 750W kaskadiert || Creality CR-10 SE 3D-Drucker

                        A 1 Antwort Letzte Antwort
                        0
                        • BananaJoeB BananaJoe

                          @ahnungsbefreit jetzt habe ich deine Methode verstanden. In der Tat elegant, das Script ist schnell fertig und bereit für den nächsten Aufruf.

                          Wäre jetzt interessant wie en Befehlen setStateDelayed und await wait die Verzögerung umgesetzt wurde um zu sehen was die Folgen/Unterschiede sind.
                          Gibt es die Quellen dazu irgendwo? Mein erster Googleversuch war nicht erfolgreich

                          A Offline
                          A Offline
                          Ahnungsbefreit
                          schrieb am zuletzt editiert von
                          #31

                          @bananajoe Guckst Du hier: (https://gist.github.com/AlCalzone/d14b854b69ce5e8a03718336cc650a95#)

                          Wenn meine Antwort hilfreich war, dürft Ihr das gerne durch einen "Upvote" (der kleine "^" unten rechts) zum Ausdruck bringen.

                          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

                          655

                          Online

                          32.7k

                          Benutzer

                          82.3k

                          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