Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. (gelöst) Kommando mittels Skript wiederholen

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    (gelöst) Kommando mittels Skript wiederholen

    This topic has been deleted. Only users with topic management privileges can see it.
    • Johan2009
      Johan2009 @paul53 last edited by

      @paul53

      Ich versuche deine Fragen so gut wie möglich zu beantworten, verzeih mir wenn meine Kenntnisse nicht ausreichen. Ich will aber lernen!

      Dann ist das der Grund, weshalb nicht gesendet wird. Ein Wert wird nur mit ack = false gesendet.

      Das verstehe ich nicht so gut. Wenn der Wert nur mit ack=false gesendet wird, wie kann es dann sein, dass es in manchen Fällen schon geht und es auch beim zweiten Mal immer klappt?

      Wodurch wird der Wert geändert?

      Ich weiß nicht genau, was du meinst. Der Wert wird von dem USB-Dongle geändert, im USB-Dongle ist ein ESP8266-Chip, der den Motor steuert. Den habe ich mit Tasmota geflasht. Oder meinst du, dass ich in den Einstellungen von Tasmota etwas ändern soll?

      Hast Du in einem Script "aktualisiere" anstelle von "steuere" verwendet?

      Bis jetzt habe ich nur das selbstgemachte Skript und dein Skript versucht, leider beide ohne Erfolg. Ich könnnte bei meinem Skript noch Mal mit 'aktualisiere' versuchen.

      Johan

      Hier unten noch die Tasmota-Firmware, die ich auf den USB-Dongle geflasht habe.

      Tasmota.jpg

      1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @Johan2009 last edited by

        @johan2009 sagte: Jetzt aber passiert es leider regelmäßig, dass das Kommando bei IoBroker ankommt, aber nicht beim Rollo.

        Woher kommt das Kommando?

        Johan2009 1 Reply Last reply Reply Quote 0
        • Johan2009
          Johan2009 @paul53 last edited by Johan2009

          @paul53 die Werte trage ich mit der Hand ein, entweder direkt bei Tasmota mit dem Schiebregler oder beim 'Dimmer' bei 'Objekte' im Iobroker. Wenn ich den 'Dimmer' verknüpfe mit meinem Google Home, geht das auch.

          paul53 2 Replies Last reply Reply Quote 0
          • paul53
            paul53 @Johan2009 last edited by

            @johan2009 sagte: beim 'Dimmer' bei 'Objekte' im Iobroker.

            Dann sollte das Kommando normalerweise mit ack = false gesetzt, also kurz rot und gesendet werden, es sei denn, die Bestätigung wird bewusst auf true gesetzt.

            1 Reply Last reply Reply Quote 0
            • paul53
              paul53 @Johan2009 last edited by

              @johan2009
              Was liefert das Log aus folgendem Blockly, wenn das Kommando nicht im Rollo ankommt?

              Bild_2021-02-23_221355.png

              Johan2009 1 Reply Last reply Reply Quote 0
              • Johan2009
                Johan2009 @paul53 last edited by Johan2009

                @paul53 Hier das Ergebnis:

                Test 1.png

                Und das steht im Log, wenn es beim zweiten Mal schon geht: Von 100% -> 80%

                Test 2.png

                paul53 1 Reply Last reply Reply Quote 0
                • paul53
                  paul53 @Johan2009 last edited by

                  @johan2009 sagte: Hier das Ergebnis:

                  ack:false
                  

                  Wenn das der letzte Log-Eintrag aus dem Script ist, muss der Wert 80 im Tab "Objekte" rot sein.
                  Der Trigger ist auf "wurde aktualisiert" gestellt?

                  Johan2009 1 Reply Last reply Reply Quote 0
                  • Johan2009
                    Johan2009 @paul53 last edited by Johan2009

                    @paul53 Der Trigger ist auf "wurde aktualisiert" gestellt?

                    Nein, das habe ich vergessen! Ich versuche nochmal!

                    Wenn das der letzte Log-Eintrag aus dem Script ist, muss der Wert 80 im Tab "Objekte" rot sein.

                    Nein, der Wert blinkt kurz grün, ist dann wieder schwarz und es passiert nichts.

                    Hier die Log-Einträge, jetzt mit Trigger auf 'wurde aktualisiert'.

                    Wenn das Kommando ankommt:

                    Test 4.png

                    Wenn das Kommando nicht ankommt:

                    test 3.png

                    paul53 1 Reply Last reply Reply Quote 0
                    • paul53
                      paul53 @Johan2009 last edited by

                      @johan2009 sagte: Wenn das Kommando ankommt:

                      Dann versuche mal eine Wiederholung nach 1 s, wenn sich der Wert nicht ändert (Trigger "wurde geändert").

                      Bild_2021-02-23_234445.png

                      Johan2009 1 Reply Last reply Reply Quote 0
                      • Johan2009
                        Johan2009 @paul53 last edited by

                        @paul53 Danke für den Script! Die gute Nachricht: die Befehle kommen sofort durch! Die schlechte Nachricht: der Dimmer wird dauernd aktualisiert, auch wenn die Endposition erreicht ist. Es stoppt erst, wenn ich den Script stoppe.

                        Zum Beispiel: ohne Script wird der Dimmer (zum Beispiel 50%) so aktualisiert:

                        100
                        97
                        95
                        93
                        91

                        bis 50% erreicht ist. Dann wird er nicht mehr aktualisiert.

                        Mit dem Skript wird der Dimmer so aktualisiert:

                        100
                        50
                        97
                        50
                        95
                        50
                        93

                        Bis 50% erreicht ist und wird dann noch immer aktualisiert.

                        @paul53 Hättest du noch eine Idee, wie das im Script gelöst werden kann? Dass der Befehl nur ein- oder zweimal aktualisiert wird?

                        paul53 2 Replies Last reply Reply Quote 0
                        • paul53
                          paul53 @Johan2009 last edited by paul53

                          @johan2009 sagte: der Dimmer wird dauernd aktualisiert, auch wenn die Endposition erreicht ist.

                          Offenbar eine Trigger-Schleife. Ich denke drüber nach.

                          1 Reply Last reply Reply Quote 0
                          • paul53
                            paul53 @Johan2009 last edited by paul53

                            @johan2009 sagte: Hättest du noch eine Idee, wie das im Script gelöst werden kann?

                            Versuche es mal so:

                            Bild_2021-02-24_150454.png

                            Oder so:

                            Bild_2021-02-24_153715.png

                            Johan2009 1 Reply Last reply Reply Quote 0
                            • Johan2009
                              Johan2009 @paul53 last edited by

                              @paul53 Jaaaaa! Es funktioniert! Habe jetzt 5 Mal ohne Probleme das Rollo hoch- und runtergefahren. Nochmals vielen Dank fürs Mitdenken und die Geduld!

                              Ich habe noch eine letzte Frage. Ich habe den Script jetzt mit einem Rollo getestet, habe aber 5 Rollos und dann auch 5 Mal den Datenpunkt 'Dimmer'.

                              Kann ich alle Rollos in einen Script packen oder soll ich 5 unterschiedliche Scripts machen? Wenn es in einem Script geht, könntest du mir dann auch zeigen wie das geht?

                              paul53 1 Reply Last reply Reply Quote 0
                              • paul53
                                paul53 @Johan2009 last edited by paul53

                                @johan2009 sagte: Es funktioniert!

                                Welche Version?

                                @johan2009 sagte in Kommando mittels Skript wiederholen:

                                Kann ich alle Rollos in einen Script packen

                                Ja, es sind 5 Trigger, die sich durch die verwendeten Datenpunkte und Timer unterscheiden.

                                Bild_2021-02-24_161502.png

                                Johan2009 1 Reply Last reply Reply Quote 0
                                • Johan2009
                                  Johan2009 @paul53 last edited by

                                  @paul53 Es ist diese Version (sehe unten). Ich habe aber schon eine Änderung in deinem Script gesehen. In der Version, die ich benutzt habe, stand bei 'falls: Wert ist nicht soll', in deiner neuen Version steht 'falls: Ursprung ist nicht "system.adapter.javascript.0". Ist es besser die letzte Version zu benutzen? Worin liegen die Unterschiede?

                                  Test 1.png

                                  paul53 1 Reply Last reply Reply Quote 0
                                  • paul53
                                    paul53 @Johan2009 last edited by paul53

                                    @johan2009 sagte: Worin liegen die Unterschiede?

                                    Die zweite Version erspart die zusätzliche Variable soll, die für jedes Rollo eine andere Bezeichnung haben muss (also 5 zusätzliche Variablen). Teste es erst mal damit.
                                    Ursprung ist eine lokale Variable (aus "Trigger"), d.h. sie ist nur innerhalb der Callback-Funktion des Triggers gültig und kann deshalb in jedem Trigger wieder verwendet werden.

                                    Johan2009 1 Reply Last reply Reply Quote 0
                                    • Johan2009
                                      Johan2009 @paul53 last edited by

                                      @paul53 Ich habe den neuen Scrip jetzt einige Male getestet und alles läuft jetzt wunderbar! Manchmal sehe ich im Tab 'Objekte', dass der Befehl nicht durchkam, und nach ein paar Sekunden geht es dann doch. Vielen Dank!

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

                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate

                                      922
                                      Online

                                      32.0k
                                      Users

                                      80.5k
                                      Topics

                                      1.3m
                                      Posts

                                      4
                                      24
                                      1294
                                      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