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 @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

                        945
                        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