Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst] Blockly Problem mit MQTT-Adapter

    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

    [gelöst] Blockly Problem mit MQTT-Adapter

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

      "anerkannt ist Befehl" bedeutet ack: false und ist die falsche Wahl.

      1 Reply Last reply Reply Quote 0
      • R
        RappiRN Most Active last edited by

        Dann zeige mal bitte auch noch die ausgeklappten Datenpunkte des Tasters und des Aktors!

        Enrico

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

          Füge erst einmal einen Debug ein, um zu sehen, ob die Taste triggert und mit welchem Wert und Ack.

          493_blockly_taste_triggertest.jpg

          1 Reply Last reply Reply Quote 0
          • M
            Mane last edited by

            Ich habe das Modul einmal erstellt,

            Wenn ich den Taster nur kurz betätige passiert nichts.

            Sobald ich den Taster lange betätige und danach wieder loslasse kommt eine Meldung an.

            Mir ist aufgefallen, das wenn der Taster nur kurz betätigt wird, bleibt der Status immer auf "hit".

            Manfred
            4819_debug.jpg

            1 Reply Last reply Reply Quote 0
            • R
              RappiRN Most Active last edited by

              Stell mal bitte den Trigger auf "wurde aktualisiert"!

              @RappiRN:

              Dann zeige mal bitte auch noch die ausgeklappten Datenpunkte des Tasters und des Aktors! `

              Das bitte auch mal machen!

              Enrico

              1 Reply Last reply Reply Quote 0
              • M
                Mane last edited by

                Ich habe jetzt den Trigger auf "wurde aktualisiert" gestellt, es passiert beim einmal betätigen gar nichts.

                Nur bei "lange = make" und bei "los = break" kommt die Meldung richtig an.

                Danach beim ersten Mal "kurz = hit" drücken ein mal und dann nicht, weil sich der Zustand nicht mehr ändert.

                Meinst du die vom Blockly aufgerufen werden?

                Manfred
                4819_relais_0_10_5.jpg
                4819_keypress_0_10_4.jpg

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

                  @Mane:

                  Ich habe jetzt den Trigger auf "wurde aktualisiert" gestellt, … Danach beim ersten Mal "kurz = hit" drücken ein mal und dann nicht, weil sich der Zustand nicht mehr ändert. `
                  Bei Trigger "wurde aktualisiert" muss sich der Wert nicht ändern, aber der Zeitstempel, was offenbar nicht passiert.

                  Ist "relay/0/10/5/_state" die Rückmeldung als String "OFF"/"ON" ?

                  1 Reply Last reply Reply Quote 0
                  • R
                    RappiRN Most Active last edited by

                    Es sieht so aus, als wenn du für den Aktor on/off brauchst, oder hast du da nur probiert? Beim Taster ist es scheinbar si, dass da immer "hit" steht, was beim kurzen Druck nur aktualisiert wird und entsprechend beim langen Druck bzw loslassen die anderen beiden Zustände annimmt, oder?

                    Enrico

                    1 Reply Last reply Reply Quote 0
                    • M
                      Mane last edited by

                      Wenn ich den Aktor schalte wechselt normalerweise der Wert bei "relay/0/10/5/" von "0"/"1" und zeitgleich der Wert

                      bei "relay/0/10/5/_state" von "OFF"/"ON".

                      Beim Drücken des Tasters kommt dieser laut MQTT-Logfile mit einem aktualisierten Zeitstempel an aber mit der gleichen Variable "hit".

                      Mane

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

                        @Mane:

                        Beim Drücken des Tasters kommt dieser laut MQTT-Logfile mit einem aktualisierten Zeitstempel an aber mit der gleichen Variable "hit". `
                        Dann schau mal den Zeitstempel des Datenpunktes im Reiter "Objekte" an (Mauszeiger über Wert): Wenn der auch aktualisiert wird, muss mit Triggerbedingung "wurde aktualisiert" ausgelöst werden, auch wenn sich der Wert nicht ändert ("hit" bleibt).

                        Wenn der Zeitstempel des Datenpunktes sich nicht entsprechend dem MQTT-Logfile ändert, ist es ein Fehler im Adapter.

                        1 Reply Last reply Reply Quote 0
                        • rantanplan
                          rantanplan last edited by

                          @Mane:

                          Wenn ich den Taster drücke passiert gar nichts.

                          Der Aktor bleibt immer auf null (Deckenlampe aus)….. `

                          Hallo Mane

                          Würdest Du bitte den Betreff Deines ersten Beitrags ändern.

                          Dies hier scheint ja mehr ein Problem mit MQTT zu sein.

                          Anwender, die ein ähnliches Problem haben, werden, sofern es eine Lösung gibt, die nie unter "Blockly Anfängerfragen" suchen und finden.

                          So etwas wie "Blockly Problem mit MQTT" o.ä. wäre da besser und könnte auch Anderen hier im Forum helfen.

                          Eventuell wird auch jemand aufmerksam, der schon eine Lösung hat.

                          Einfach Deinen ersten Beitrag aufrufen, ändern klicken, Betreff ändern.

                          Grüße

                          1 Reply Last reply Reply Quote 0
                          • M
                            Mane last edited by

                            @paul53:

                            @Mane:

                            Beim Drücken des Tasters kommt dieser laut MQTT-Logfile mit einem aktualisierten Zeitstempel an aber mit der gleichen Variable "hit". `
                            Dann schau mal den Zeitstempel des Datenpunktes im Reiter "Objekte" an (Mauszeiger über Wert): Wenn der auch aktualisiert wird, muss mit Triggerbedingung "wurde aktualisiert" ausgelöst werden, auch wenn sich der Wert nicht ändert ("hit" bleibt).

                            Wenn der Zeitstempel des Datenpunktes sich nicht entsprechend dem MQTT-Logfile ändert, ist es ein Fehler im Adapter. `

                            Der Zeitstempel hat sich seitdem nicht mehr geändert, egal wie oft ich hier den Taster kurz betätigt habe.

                            Im MQTT-Logfile kommt aber der Zeitstempel der Tasters an.
                            4819_zeitstempel_0_10_a4.jpg

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

                              @Mane:

                              Der Zeitstempel hat sich seitdem nicht mehr geändert, egal wie oft ich hier den Taster kurz betätigt habe. `
                              Wie ist die Adapter-Einstellung "Publish only on change" bzw. "Publish nur bei Änderung" ?

                              1 Reply Last reply Reply Quote 0
                              • M
                                Mane last edited by

                                Das sind die aktuellen MQTT-Einstellungen.

                                Derzeit ist er auf "Publish nur bei Änderung" eingestellt.

                                Ich habe das Programm einmal auf einen Fensterkontakt als Lichtschalter umgestellt das "make" und "break" ankommt.

                                Hier kommt beim Betätigen im Logfile eine Warnung.

                                Zusätzlich habe ich das Relais mit "0/1" und den Relais_state mit "ON/OFF" eingetragen.
                                4819_mqtt-einstellung.jpg
                                4819_logfehle_log.jpg
                                4819_logfehler_script.jpg

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

                                  @Mane:

                                  Derzeit ist er auf "Publish nur bei Änderung" eingestellt. `
                                  Den Haken nimm mal raus ! Dann sollte auch bei kurzem Tastendruck ("hit") getriggert werden.

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

                                    @Mane:

                                    Hier kommt beim Betätigen im Logfile eine Warnung. `
                                    Ist der Datenpunkt "relay/0/10/5" vom Typ "boolean" ?

                                    Wenn ja, teste mal im Reiter "Objekte", ob sich das Relais auch durch Eingabe false/true (anstelle 0/1) schalten lässt.

                                    1 Reply Last reply Reply Quote 0
                                    • M
                                      Mane last edited by

                                      @paul53:

                                      @Mane:

                                      Derzeit ist er auf "Publish nur bei Änderung" eingestellt. Den Haken nimm mal raus ! Dann sollte auch bei kurzem Tastendruck ("hit") getriggert werden.

                                      Das mit dem Trigger auf Taster betätigen funktioniert jetzt. 😄

                                      Habe jetzt einmal bei relay/0/10/5 bzw. relais/0/10/5_state sowohl "0/1", "wahr/falsch" und "true/false" ausprobiert.

                                      Leider bleibt das Licht immer noch aus.

                                      Der Taster kommt jedesmal an im Script steht dan auch "1" oder "0" aber im MQTT-Log kommt nur der Taster an.

                                      Kann das noch ein Fehler in der MQTT-Adaptereinstellungen sein?
                                      4819_0_10_a4_ein-aus.jpg
                                      4819_script-0_10_a4.jpg

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

                                        @Mane:

                                        Habe jetzt einmal bei relay/0/10/5 bzw. relais/0/10/5_state sowohl "0/1", "wahr/falsch" und "true/false" ausprobiert. `
                                        Dann bleibt noch relais/0/10/5_state: ON/OFF.

                                        EDIT: Und immer mit bestätigt: false abschicken, sonst wird nicht gesendet.

                                        1 Reply Last reply Reply Quote 0
                                        • M
                                          Mane last edited by

                                          Wo muss ich das noch bestätigen?

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

                                            Wenn der Wert im Reiter "Objekte" geändert wird, wird bestätigt automatisch auf false gesetzt.

                                            In Blockly muss man den Baustein "steuere" nehmen, damit das der Fall ist, was Du gemacht hast.

                                            Das Licht schaltet nicht ein ? Dann probiere in Blockly ausserhalb des Triggers folgende 3 Varianten aus (andere sind sinnlos):

                                            steuere relay/0/10/5 mit wahr (aus Logik-Block)

                                            steuere relay/0/10/5 mit 1 (Zahl aus Mathe-Block)

                                            steuere relay/0/10/5_state mit "ON" (Text)

                                            Eine Variante sollte beim Skriptstart zum Einschalten führen.

                                            Die Frage nach dem Datenpunkttyp (common.type) von relay/0/10/5 hast Du noch nicht beantwortet.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            865
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            4
                                            38
                                            3521
                                            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