Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Xiaomi Mi Smartswitch funktioniert nur sporadisch in Blockly

    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

    Xiaomi Mi Smartswitch funktioniert nur sporadisch in Blockly

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

      Guten Morgen,
      habe das heute morgen mal kurz probiert vor der Arbeit aber offenbar hat es nicht funktioniert.

      Ich habe den Eindruck,dass der Tastendruck meist nicht vom ioBroker registriert wird.

      In der Xiaomi App wir er erkannt und auch im Log verbucht.

      Ich habe die Xiaomi Sensoren alle über das "MiHome" Objekt eingebunden.

      Grundsätzlich würde es mich ja nicht wundern, wenn der Button prinzipiell zu "schnell" klickt aber für andere macht das hier ja keine Probleme.

      Ich fange gerade erst mit iobroker an und kann nicht ausschließen, dass ich was falsch mache.

      Nils

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

        @jmeister79
        Sind die beiden Trigger zur gleichen Zeit aktiv?
        Sehe gerade das sind ja sogar 3 Trigger und dann noch Trigger in Trigger.
        Das kann nicht funktionieren.

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

          Hi,

          Das sind zwei screenshots.

          Habe zwei unterschiedliche Ansätze versucht.

          Nils

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

            @jmeister79 sagte in Xiaomi Mi Smartswitch funktioniert nur sporadisch in Blockly:

            Habe zwei unterschiedliche Ansätze versucht.

            Ok, also die Version mit Trigger in Trigger kannst Du schonmal vergessen.
            Was ist "Simple click" für ein Datenpunkt?

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

              @rantanplan
              Danke das hab ich mi gedacht.

              Also Simple Click ist der Datenpunkt des Tasters.
              Der Hat Simple Click, Long Click und Double Click.
              Alle haben das gleiche unzuverlässige verhalten in meinem Script.

              ID: click
              Name: Simple click
              state: state
              Rolle: button
              Raum: Hobbyraum
              Wert: false

              Brauchst du mehr infos?
              Ich denke die ganze Zeit daran, dass das signal evtl so kurz ist, dass ioBroker das garnicht mitbekommt wenn sich der zustand kurz ändert, das scheint das sporadische verhalten zu erklären. also müsste ich die abtastrate des mi home objektes erhöhen

              Gruß
              Nils

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

                nochmal ganz blöd gefragt, woran erkenne ich ob das skript richtig läuft?

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

                  @jmeister79 sagte in Xiaomi Mi Smartswitch funktioniert nur sporadisch in Blockly:

                  nochmal ganz blöd gefragt, woran erkenne ich ob das skript richtig läuft?

                  Schau Dir mal den "debug output" Baustein an. Damit schreibst Du ins Log und kannst Informationen mitgeben.
                  Einer der wichtigsten Bausteine in Blockly!

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

                    @jmeister79 sagte in Xiaomi Mi Smartswitch funktioniert nur sporadisch in Blockly:

                    Also Simple Click ist der Datenpunkt des Tasters.
                    Der Hat Simple Click, Long Click und Double Click.
                    Alle haben das gleiche unzuverlässige verhalten in meinem Script.

                    Taster sind immer so eine Sache.
                    Du musst wissen, wie Dein Taster reagiert. Suche die Datenpunkte in "Objekte" und schau Dir dort an was passiert wenn Du den Taster betätigst. Es gibt welche, die gehen wieder von "true" auf "false" und andere die bleiben auf "true".
                    Endsprechend musst Du Deinen Trigger anpassen.

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

                      @rantanplan
                      wenn ich debug output oben drüber hänge, kommt das dann zyklisch oder einmalig?

                      bei mir kommt es einmalig.
                      hätte jetzt zyklisch im log erwartet.

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

                        @jmeister79 sagte in Xiaomi Mi Smartswitch funktioniert nur sporadisch in Blockly:

                        @rantanplan
                        wenn ich debug output oben drüber hänge, kommt das dann zyklisch oder einmalig?

                        bei mir kommt es einmalig.
                        hätte jetzt zyklisch im log erwartet.

                        Alles was außerhalb eines Triggers ist, wird nur einmalig bei Scriptstart ausgeführt.
                        Der sollte also schon innerhalb des Triggers sein.

                        z.B. am Anfang "debug output Hey ich habe getriggert aktuelle Zeit ist xx:xx Triggerwert ist abcd.
                        Innerhalb einer Bedingung "debug output Bedingung xy erfüllt"

                        Der sollte schon an den Punkten stehen, mit denen man den Programmablauf kontrollieren kann.
                        Und dann mit aussagefähigen Informationen. Sonst macht es keinen Sinn.

                        Ich gebe zu der Information immer noch "" mit. Also " Hey ich habe getriggert.......".
                        Wenn ich dann unter Log den Filter mit "***" setzte, bekomme ich nur meine Infos angezeigt und kann eine Langzeitbeobachtung machen.
                        Wenn das Script fehlerfrei läuft, kann man die Bausteine deaktivieren.

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

                          danke dir, soweit laufen meine skripte alle.
                          aber es liegt wohl daran, dass der schalterzustand wohl so übersehen wird.

                          Werde mich heute abend nochmal intensiver dran setzen

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

                            @jmeister79 sagte in Xiaomi Mi Smartswitch funktioniert nur sporadisch in Blockly:

                            aber es liegt wohl daran, dass der schalterzustand wohl so übersehen wird.

                            Kann ich mir nicht vorstellen. Wahrscheinlich triggerst Du den falschen Datenpunkt oder triggerst falsch.

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

                              Ich musste den Adapter für MiHome neu starten und jetzt funktioniert er viel zuverlässiger, aber oft auch nicht oder stark verzögert. Werde versuchen die Xiaomi Geräte über Zigbee einzubinden.

                              Danke für Eure Tipps.

                              Nils

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

                                Ok, jetzt langsam komm ich auf touren.
                                Habe nochmal ne Frage zu den Triggern:

                                Ein Blockly PRogramm läuft ja per se nur einmal nach Start durch wie ich das jetzt verstehe.

                                Wie genau funktionieren da die Trigger? Kann ich auch auf Logik triggern oder nur auf Systemobjekte?
                                Wenn ich mir zB eine Boolsche Variable in Javascript anlege und auf WAHR triggere, läuft das dann einmal (also steigende Flanke) oder solange sie WAHR ist.
                                Das ist alles etwas schwammig.

                                Nils

                                Asgothian 1 Reply Last reply Reply Quote 0
                                • Asgothian
                                  Asgothian Developer @jmeister79 last edited by

                                  @jmeister79 sagte in Xiaomi Mi Smartswitch funktioniert nur sporadisch in Blockly:

                                  Ok, jetzt langsam komm ich auf touren.
                                  Habe nochmal ne Frage zu den Triggern:

                                  Ein Blockly PRogramm läuft ja per se nur einmal nach Start durch wie ich das jetzt verstehe.

                                  Wie genau funktionieren da die Trigger? Kann ich auch auf Logik triggern oder nur auf Systemobjekte?
                                  Wenn ich mir zB eine Boolsche Variable in Javascript anlege und auf WAHR triggere, läuft das dann einmal (also steigende Flanke) oder solange sie WAHR ist.
                                  Das ist alles etwas schwammig.

                                  Nils

                                  Das ist eigentlich ganz einfach. Triggern kannst du nur auf Datenpunkte im Objektbaum, nicht auf variablen die du im Script angelegt hast.
                                  Die Datenpunkte im Objektbaum werden von den verschiedenen Quellen verändert oder aktualisiert. Wenn keine weiteren Bedingungen angegeben sind dann wird der trigger immer aktiviert wenn ein Objekt aktualisiert wurde.

                                  Es gibt dabei prinzipiell 2 Arten von Bedingungen.

                                  • die die auf den Wert des Objektes abzielen, sprich die nur triggern wenn der Wert nach der Aktualisierung einen bestimmten Wert hat
                                  • die die auf das "acknowledge" achten, sprich ob der Wert nur gesetzt oder gesetzt und bestätigt wurde.

                                  Auf variablen die du in Blockly's als "variable" anlegst kannst du nicht Triggern, die kannst du nur abfragen.

                                  ich hoffe der Schwamm wird etwas fester 🙂

                                  A.

                                  jmeister79 1 Reply Last reply Reply Quote 0
                                  • jmeister79
                                    jmeister79 @Asgothian last edited by

                                    @Asgothian Danke dir für die tolle Erklärung.

                                    Das habe ich mir fast gedacht, dass es mit der aktualisierung zusammenhängt. Man sieht in manchen tutorials, dass explizit darauf getriggert wurde. Und dann darunter nochmal auf WAHR FALSCH abgefragt wurde.

                                    Nocheinmal zum genauen Verständnis, der Code wird dann nach Aktualisierung auch nur einmal durchlaufen also wie eine positive Flankenerkennung

                                    Ich denke ichw erde zukünftig direkt codieren, blockly ist für den Eisntig ganz nett aber sobald es komplizierter wird führ ich mich anderswo wohler.
                                    In meinem Fall hab ich die Variablen als Objekte definiert.

                                    Ich versuche gerade in meinem Hobbyraum mittels des Türsensors und eines Bewegungsmelders eine Anwesenheitserkennung zu realisieren um Vitrinenbeleuchtung und Luftentfeuchter zu steuern, da ist das mit der Ausschaltverzögerung in Blockly für mich irgendwie nicht realisierbar. Habe mir jetzt mir der CRON Lösung geholfen, geht ist aber nicht sehr sauber, hätte da lieber n Countdown der durch Bewegung immer wieder von vorne gestartet wird. Leider klappt des aber nicht. Ist aber auch ein anderes Thema.
                                    Ich denke dies hier ist gelöst.

                                    Letztendlich kann man aber sagen, dass der Mihome Kram etwas launisch ist was die Weitergabe von Aktualisierungen angeht, das scheint manchmal mit dem Wetter zwischen China und hier zusammen zu hängen.
                                    Das ist bei allen Sensoren so, manchmal reagieren sie sofort, manchmal gar nicht, manchmal verzögert. Darum will ich Zigbee versuchen

                                    Asgothian 1 Reply Last reply Reply Quote 0
                                    • Asgothian
                                      Asgothian Developer @jmeister79 last edited by

                                      @jmeister79 sagte in Xiaomi Mi Smartswitch funktioniert nur sporadisch in Blockly:

                                      Ich versuche gerade in meinem Hobbyraum mittels des Türsensors und eines Bewegungsmelders eine Anwesenheitserkennung zu realisieren um Vitrinenbeleuchtung und Luftentfeuchter zu steuern, da ist das mit der Ausschaltverzögerung in Blockly für mich irgendwie nicht realisierbar.

                                      Das sollte im Blockly recht problemlos gehen. Der Schlüsselbegriff dazu ist "timeout". Dazu gibt es extra Blockly Elemente. Der Übliche weg ist:

                                      • Event triggern
                                      • Aktoren einschalten
                                      • nachschauen ob es schon einen (benannten) timeout gibt, wenn ja, anhalten
                                      • (benannten) timeout setzen, wann wieder abgeschaltet werden soll

                                      Ich bin grad im Büro und kann da kein Blockly zusammen bauen.

                                      Der Punkt "Schalten mit Verzögerung" ist nur dann sinnvoll, wenn die Aktion auf jeden Fall passieren muss. (Bsp. Rollo hoch - Aktor anschalten, Aktor ausschalten mit 5 sek. Verzögerung)

                                      Mit Zigbee hab ich gute Erfahrungen gemacht. Ich hab einiges an Xiaomi Sensoren im Einsatz due stabil laufen.

                                      A.

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

                                        Guten morgen,

                                        danke für den hinweis, ichw erde das mal ausprobieren, bin neulich etwas daran verzweifelt weil ich das in blockly nicht sooo gazn verstehe.

                                        Ich habe es jetzt erstmal durch eine Besonderheit im Xiaomi Bewegungsmelder gelöst. Der hat eine Variable die die Zeit seit der letzten Bewegung bis 600s hochzählt.
                                        Die tut ja genau das was ich suche. Da spare ich mir den Timer.

                                        Ich werde bei Gelegenheit mal das Blockly vorstellen, finde es ganz spannend. Habe noch Handmodes für den Entfeuchter eingebaut usw.

                                        Nils

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

                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate

                                        896
                                        Online

                                        31.9k
                                        Users

                                        80.2k
                                        Topics

                                        1.3m
                                        Posts

                                        3
                                        20
                                        860
                                        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