Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst] Xiaomi Aqara Wandschalter ZigBee Version

    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] Xiaomi Aqara Wandschalter ZigBee Version

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

      Hallo,

      ich versuche seit Tagen den Wandschalter von Xiaomi zum laufen zu bekommen.

      Generell funktioniert er. Im IoBroker wird der Wanschalter angezeigt. Ich musste hierbei feststellen das es sich nicht direkt um einen Schalter handelt sondern um einen Switch. Wenn man in drückt springt der Wert für den Wandschalter kurz auf true und dann direkt wieder auf false.

      Mein derzeitiges Skript zum anschalten , welches nicht funktioniert, sieht wie folgt aus:

      on({id: "mihome.0.devices.86sw2_158d000163dec7.channel_0"/*First button pressed*/, val: true}, function (obj) {
        var value = obj.state.val;
        var oldValue = obj.oldState.val;
        if (getState("mihome.0.devices.86sw2_158d000163dec7.channel_0").val == true) {
          setState("mqtt.0.cmnd.Wohnzimmer-sonoff-Steckdose-Steh.POWER"/*cmnd/Wohnzimmer-sonoff-Steckdose-Steh/POWER*/, true);
        }
      });
      
      

      Kann mir jemand sagen ob es am Wandschalter, mir oder dem Skript liegt ??? 😄

      Und vielleicht noch besser mir eine Lösung nennen ??

      Vielen Dank schonmal im voraus. In der Suche konnte ich leider nichts hierzu finden…..

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

        Wenn du direkt auf true triggers musst du im Code den Status nicht nochmals abfragen. Beim setState solltest du vllt nach dem Wert true noch ein false als weiteren Parameter schreiben weil du ja was steuern willst … wobei ich nicht weiß ob das bei mqtt so nötig ist.

        1 Reply Last reply Reply Quote 0
        • K
          kartoon last edited by

          Leider kann ich nicht so gut programmieren daher habe ich für den Code Blocky verwendet

          1 Reply Last reply Reply Quote 0
          • Dutchman
            Dutchman Developer Most Active Administrators last edited by

            @kartoon:

            Leider kann ich nicht so gut programmieren daher habe ich für den Code Blocky verwendet `

            exportiere mal dein blockly dan koennen wir dir damit weiterhelfen mit den tips von apollon77.

            Und ist dies ein schalter der einen an/aus status hat (wippe oben/unter) oder ein taster (drukken - befehl)?

            1 Reply Last reply Reply Quote 0
            • K
              kartoon last edited by

              Es ist ein Taster. Er springt immer wieder in die Ausgangspostion.

              Habe den Code nun wie folgt angepasst. Das Anschalten funktioniert nun.

              on({id: "mihome.0.devices.86sw2_158d000163dec7.channel_1"/*Second button pressed*/, change: "ne"}, function (obj) {
                var value = obj.state.val;
                var oldValue = obj.oldState.val;
                setState("mqtt.0.cmnd.Wohnzimmer-Sonoff-rf-Esstischlam.POWER"/*cmnd/Wohnzimmer-Sonoff-rf-Esstischlam/POWER*/, true);
              });
              
              

              Das ist nun mein geänderter Blocky Auszug

               <xml xmlns="http://www.w3.org/1999/xhtml"><block type="on" id="|=hlNxvm0TXlNLEVsT|@" x="263" y="188"><field name="OID">mihome.0.devices.86sw2_158d000163dec7.channel_1</field>
                  <field name="CONDITION">ne</field>
              
                  <statement name="STATEMENT"><block type="control" id="?Pr(Ul1;/fKO(y!y=#;7"><mutation delay_input="false"></mutation>
                      <field name="OID">mqtt.0.cmnd.Wohnzimmer-Sonoff-rf-Esstischlam.POWER</field>
                      <field name="WITH_DELAY">FALSE</field>
                      <value name="VALUE"><block type="logic_boolean" id="y.igRc`;a9%b3qGZm.:t"><field name="BOOL">TRUE</field></block></value></block></statement></block></xml> 
              

              Habt Ihr ne Idee wie ich mit dem Schalter nun auch wieder ausschalten kann ?

              modEdit: Code in code bloecken bitten

              1 Reply Last reply Reply Quote 0
              • Dutchman
                Dutchman Developer Most Active Administrators last edited by

                @kartoon:

                Es ist ein Taster. Er springt immer wieder in die Ausgangspostion.

                Habe den Code nun wie folgt angepasst. Das Anschalten funktioniert nun.

                on({id: "mihome.0.devices.86sw2_158d000163dec7.channel_1"/*Second button pressed*/, change: "ne"}, function (obj) {
                  var value = obj.state.val;
                  var oldValue = obj.oldState.val;
                  setState("mqtt.0.cmnd.Wohnzimmer-Sonoff-rf-Esstischlam.POWER"/*cmnd/Wohnzimmer-Sonoff-rf-Esstischlam/POWER*/, true);
                });
                
                

                Das ist nun mein geänderter Blocky Auszug

                 <xml xmlns="http://www.w3.org/1999/xhtml"><block type="on" id="|=hlNxvm0TXlNLEVsT|@" x="263" y="188"><field name="OID">mihome.0.devices.86sw2_158d000163dec7.channel_1</field>
                    <field name="CONDITION">ne</field>
                    
                    <statement name="STATEMENT"><block type="control" id="?Pr(Ul1;/fKO(y!y=#;7"><mutation delay_input="false"></mutation>
                        <field name="OID">mqtt.0.cmnd.Wohnzimmer-Sonoff-rf-Esstischlam.POWER</field>
                        <field name="WITH_DELAY">FALSE</field>
                        <value name="VALUE"><block type="logic_boolean" id="y.igRc`;a9%b3qGZm.:t"><field name="BOOL">TRUE</field></block></value></block></statement></block></xml> 
                

                Habt Ihr ne Idee wie ich mit dem Schalter nun auch wieder ausschalten kann ?

                modEdit: Code in code bloecken bitten `

                ja :), da es ein taster ist wird er immer true sende und muessen wir per logic ueberpruefen ob die lampe an oder aus ist.

                Hast du auch ein object wo der jetzige status der lampe (an/aus) drin steht ?

                1 Reply Last reply Reply Quote 0
                • Dutchman
                  Dutchman Developer Most Active Administrators last edited by

                  sehe das du offline bist, ich gehe auch gleich 😛

                  Hier mal der tipp, ich habe eine logic an deinem block hinzugefuegt die dafuer sorgt wen lampe aus dan an, wen lampe an dan aus.

                  Du musst aber noch den datenpunkt der lampe eintragen (hoffe due hast den?).

                  979_toggle.jpg

                  und hier der block zum import

                   <block xmlns="http://www.w3.org/1999/xhtml" type="on" id="|=hlNxvm0TXlNLEVsT|@" x="-1787.826181645019" y="-261.89844081970523"><field name="OID">mihome.0.devices.86sw2_158d000163dec7.channel_1</field>
                    <field name="CONDITION">true</field>
                  
                    <statement name="STATEMENT"><block type="comment" id="[+W=0QzW1~}}~Z^_yOWJ"><field name="COMMENT">Bei If jetzigen wert der lampe einsetzen</field>
                        <next><block type="controls_if" id="`!*B3R:Yr;]OknH~WC5-"><mutation else="1"></mutation>
                            <value name="IF0"><block type="logic_compare" id="r3q6O%YX3.(R[M1dng,m"><field name="OP">EQ</field>
                                <value name="A"><block type="get_value" id="yl~yEWnlVMv(0%IpnnCL"><field name="ATTR">val</field>
                                    <field name="OID">select ID</field></block></value> 
                                <value name="B"><block type="logic_boolean" id="KyB%;gdakBj7A7|y=tCQ"><field name="BOOL">TRUE</field></block></value></block></value> 
                            <statement name="DO0"><block type="comment" id="pP`VoNE%DSGB]_7X+mRG"><field name="COMMENT">Wenn lampe aus dan an</field>
                                <next><block type="control" id="?Pr(Ul1;/fKO(y!y=#;7"><mutation delay_input="false"></mutation>
                                    <field name="OID">mqtt.0.cmnd.Wohnzimmer-Sonoff-rf-Esstischlam.POWER</field>
                                    <field name="WITH_DELAY">FALSE</field>
                                    <value name="VALUE"><block type="logic_boolean" id="y.igRc`;a9%b3qGZm.:t"><field name="BOOL">TRUE</field></block></value></block></next></block></statement> 
                            <statement name="ELSE"><block type="comment" id="^n,@PAm2SkMeFRS;W;M["><field name="COMMENT">Sonst lampe aus</field>
                                <next><block type="control" id="ZX+LEYC!e7Cn}@kXurP|"><mutation delay_input="false"></mutation>
                                    <field name="OID">mqtt.0.cmnd.Wohnzimmer-Sonoff-rf-Esstischlam.POWER</field>
                                    <field name="WITH_DELAY">FALSE</field>
                                    <value name="VALUE"><block type="logic_boolean" id="yKUck@:bK?.8mF~;5HH-"><field name="BOOL">FALSE</field></block></value></block></next></block></statement></block></next></block></statement></block> 
                  
                  
                  D4vE 1 Reply Last reply Reply Quote 1
                  • K
                    kartoon last edited by

                    Vielen Dank an euch (apollon77 und Dutchman) !!!!!!!!!!!!!!!!!!!!

                    Das letzte Skript von Dutchman funktioniert perfekt. Die Lampe lässt sich nun mit dem Schalter ein und ausschalten !

                    Somit kann das Thema geschlossen werden.

                    Super Forum !!!!!

                    1 Reply Last reply Reply Quote 0
                    • Dutchman
                      Dutchman Developer Most Active Administrators last edited by

                      super ! setzte das thema bitte auf geloest closen machen wir nicht 🙂

                      ` > <size size="150">1. Verfassen von Themen:</size>

                      • a) Betreff:

                        • Folgendes Schema ist zu verwenden: [Offen/Gelöst]* [(Tag, siehe Liste)] Titel des Themas

                        *Nur bei Fragen oder Fehlern. Wenn eine Frage beantwortet oder ein Fehler behoben wurde ist der Betreff des Themas von "Offen" auf "Gelöst" zu setzen.
                        <size size="120">Tag Liste:</size> `

                      1 Reply Last reply Reply Quote 0
                      • D4vE
                        D4vE @Dutchman last edited by

                        @Dutchman Hi 🙂 das Skript liegt ja nun schon Jahre zurück, jedoch hab ich es getestet und bei mir geht es leider nicht..
                        könntest du mir da weiterhelfen?

                        wenn ja würde ich mich sehr freuen 🙂

                        crunchip 1 Reply Last reply Reply Quote 0
                        • crunchip
                          crunchip Forum Testing Most Active @D4vE last edited by

                          @D4vE wenn du mittels Taster eine Lampe schalten möchtest, kannst du es so lösen
                          864873e7-1b2c-4de9-941e-7644bd4855b0-image.png

                          D4vE 1 Reply Last reply Reply Quote 2
                          • D4vE
                            D4vE @crunchip last edited by D4vE

                            @crunchip danke man es geht warum komm ich da nicht drauf besten Danke man!

                            1 Reply Last reply Reply Quote 0
                            • P
                              Phinix last edited by

                              @D4vE eine etwas abweichende Frage; funktioniert in deinen Objekten der State "Hold"? - Bei mir steht der dauerhaft auf true und ändert sich auch nicht wenn ich den Taster längere Zeit betätige...

                              D4vE 1 Reply Last reply Reply Quote 0
                              • D4vE
                                D4vE @Phinix last edited by

                                @Phinix bei mir geht alles, 1 klick Doppelt klick und die Hold Klick.

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

                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                946
                                Online

                                31.9k
                                Users

                                80.2k
                                Topics

                                1.3m
                                Posts

                                6
                                14
                                2640
                                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