Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. In Blockly im Skript erzeugte Tastenfunktion wird im WeMos D1 mini nicht erkannt

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    In Blockly im Skript erzeugte Tastenfunktion wird im WeMos D1 mini nicht erkannt

    This topic has been deleted. Only users with topic management privileges can see it.
    • E.W.d.G.
      E.W.d.G. last edited by

      Folgende Realisierung:
      In der Visualisierung vis wurden zwei Schalter (Taster00 und Taster01) definiert.
      b353ea22-78b9-4ede-99ca-04f4b3e9a6f6-grafik.png
      Diese beiden Schalter sind auch unter Objekte im mqtt.0 zu finden (30Taster00 und 30Taster01).
      91dd8540-02ed-43c8-8a6e-f770e532d750-grafik.png
      Ein Sketch im WeMos D1 mini bekommt eineindeutig korrekt jede Schalterstellung, bestätigt durch ein "Serial.println" am seriellen Monitor, mit.
      Diese beiden Schalter werden nun zu Tastern: Beigefügtes Blocky-Skript schaltet sie nach 3 Sekunden wieder auf LOW.
      eb085e64-cdc9-4678-9266-c09daea64a53-grafik.png.
      Dies funktioniert in vis, der Taster wird nach 3 Sekunden wieder umgelegt und auch der Status des Topic geht unter Objekte wieder auf LOW.
      Fehlverhalten:
      Bei aktivierten Blockly-Skript bekommt der WeMos in den aller meisten Fällen nichts von einem Statuswechsel mit. Es hat für mich den Anschein, dass kein Telegramm über einen Statuswechsel an den WeMos geschickt wird.
      Was ist in meinem ersten Blockly-Skript falsch, das es mit dem WeMos dann nicht klappt?

      paul53 1 Reply Last reply Reply Quote 0
      • liv-in-sky
        liv-in-sky last edited by

        warum schaltest du auf "0" zurück und nicht auf "false"

        E.W.d.G. 2 Replies Last reply Reply Quote 0
        • paul53
          paul53 @E.W.d.G. last edited by

          @E-W-d-G sagte:

          bekommt der WeMos in den aller meisten Fällen nichts von einem Statuswechsel mit.

          aktualisiere --> steuere

          E.W.d.G. 1 Reply Last reply Reply Quote 0
          • E.W.d.G.
            E.W.d.G. @liv-in-sky last edited by

            @liv-in-sky
            Ich habe die Wahl nach dem Ablaufen des Timers nach den 3 Sekunden von "0" auf "unwahr" gesetzt. Jetzt erscheint in den Objekten als Status nicht mehr "0", sondern "false". Aber der WeMos bekommt genauso wenig mit wie mit der "0". Obwohl der WeMos alles abfragt:
            if (strPayload == "off" || strPayload == "0" || strPayload == "false") Serial.println("..00 false");
            Habe auch die Bedingungsabfrage von "wahr" auf "1" gesetzt. Hat aber die gleichen Auswirkungen.
            Ich denke, das ist auch nicht das Problem. Der Timer läuft ja. Durch die Betätigung des Schalter wird das Topic auf "1" gesetzt und der Timer angestoßen. Nach 3 Sekunden wird das Topic durch den Timer wieder auf "0" oder "false" gesetzt und der Schalter in der Visualisierung wieder auf "Aus" umgelegt. Das funktioniert ja.
            Nur der WeMos bekommt bei akriviertem Skript selten etwas davon mit.

            1 Reply Last reply Reply Quote 0
            • E.W.d.G.
              E.W.d.G. @paul53 last edited by

              @paul53
              Sorry. Aber deine Anregung kann ich nicht deuten. Was soll ich "aktualisiere --> steuere"?
              Sicher habe ich den Skript nach den Änderungen angehalten, gespeichert und neu gestartet. Auch mqtt.0 habe ich gestoppt und neu wieder aktiviert.
              Aber das meinst du vielleicht nicht?

              Homoran 1 Reply Last reply Reply Quote 0
              • Homoran
                Homoran Global Moderator Administrators @E.W.d.G. last edited by

                @E-W-d-G
                Du sollst den aktualisiere Block gegen den steuere Block tauschen

                1 Reply Last reply Reply Quote 0
                • liv-in-sky
                  liv-in-sky last edited by liv-in-sky

                  @E-W-d-G

                  wie die beiden anderen jungs sagten - ändere mal das blockly-modul- anstatt aktualisieren mal steuere nehmen.

                  wenn das nichts bringt:
                  wenn sich der datenpunkt ändert - siehst du das auch im serial.println auf dem wemos - ist mir noch nicht klar?
                  du scheinst mqtt zu nutzen - dann ist natürlich die frage, ob du die änderung im mqtt datenpunkt siehst? bzw sendest - also die frage, kommt die änderung am wemos wirklich an? könnte sein, dass das ändern des blocklys wie oben erwähnt was bringt - wenn nicht, gibt es noch 2 möglichkeiten. du sendest mal einen mqqt befehl mit einem mqtt tool direct an den wemos und beobachtest - damit stellst du sicher, das der wemos richtig schaltet. funktioniert das, sollten mal die mqqt einstellungen im iobroker kontrolliert werden - mehr fällt mir erstmal nicht ein

                  1 Reply Last reply Reply Quote 0
                  • E.W.d.G.
                    E.W.d.G. last edited by E.W.d.G.

                    Recht herzlichen Dank für eure Tipps. Jetzt funktioniert es wie folgendes Bild zeigt:
                    d598a030-5d30-4db1-bd27-339f2571e869-grafik.png

                    Der Tausch des Blocks "aktualisiere" gegen "steuere" hat es gebracht. Es wird nun nicht nur in Objekten der Topic-Status aktualisiert, sondern auch der WeMos über die Statusänderung informiert.

                    Ich hatte bis dato wohl falsche Vorstellungen der Arbeitsweise von ioBroker. Für mich war der Status des Topic unter den Objekten immer der Dreh- und Angelpunkt für weitere Veranlassungen von ioBroker. Das ioBroker durch den Block "aktualisiere" wohl in Objekten den Status ändert und in vis zu dem Aufruf eines andern Schalterbildes führt und nicht zur Weitergabe der Statusmeldungsänderung an den WeMos halte ich für sehr bedenklich. Durch diese Abarbeitung erzeugt ioBroker von sich aus eine Diskrepanz der angeschlossenen Gerätschaften.
                    Und dann kommte ja noch hinzu, dass mit dem Skript und dem Block "aktualisiere" das Schalten auf "1" oder "true" ja manchmal funktioniert hat. Irgendwie scheint mir da etwas nicht "sauber" zu sein.

                    1 Reply Last reply Reply Quote 0
                    • E.W.d.G.
                      E.W.d.G. @liv-in-sky last edited by E.W.d.G.

                      O.k. erledigt.
                      Nur wie markiere ich diesen Beitrag als erledigt?

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

                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      887
                      Online

                      31.9k
                      Users

                      80.2k
                      Topics

                      1.3m
                      Posts

                      4
                      9
                      480
                      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