Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. [Aufruf] deConz Adapter Testen 1.1.2

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [Aufruf] deConz Adapter Testen 1.1.2

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

      @Asgothian sagte in [Aufruf] deConz Adapter Testen 1.0.2:

      @siggi85 sagte in [Aufruf] deConz Adapter Testen 1.0.2:

      @Jey-Cee sagte in [Aufruf] deConz Adapter Testen 0.4.0:

      @siggi85 sagte in [Aufruf] deConz Adapter Testen 0.4.0:

      Aktuell ist es immer aufregend den Adapter neu zu starten

      Dann würde ich vorschlagen ihn nicht neu zu starten 😉

      🤣 Dafür habe ich noch zu viele Xiaomi Sensoren im Schrank liege die ich die nächste Zeit Stück für Stück verbauen, in meine Oberflächen, Skripte und Adapter hinzufügen möchte. 😉

      Ich habe für dieses Problem ggf. Eine Lösung. In meinem fork auf github habe ich für die Button-Events einen schattenevent eingefügt, der immer nur für 800 ms gesetzt wird. Insbesondere passiert dieses nicht beim Start des Adapters.

      Du kannst den (wenn du magst) gerne mal testen, dazu müsstest du von hier installieren:

      https://github.com/asgothian/ioBroker.deconz
      

      A.

      Cool danke!
      Leider komme ich wohl aber erst Ende nächste Woche zum Testen, da wir aktuell Besuch haben und ich dadurch wenig Zeit zum Testen habe auf ein funktionierendes System angewiesen bin. 😉
      Trotzdem schon mal danke für die Änderung, Ende nächster Woche teste ich auf jeden Fall! 🙂

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

        @Jey-Cee
        So.. test gemacht:

        deconz.0 auf debug logging gestellt.
        In Yahka einen Datenpunkt für "on" von deconz.0.Lights.3.on auf deconz.0.Light_3.on umgebogen.
        per HomeKit (von iOS aus) versucht die Lampe zu schalten - und Bumm 🙂

        host.ioTinker 2019-04-04 17:59:36.509 error instance system.adapter.deconz.0 terminated with code 0 (OK)
        host.ioTinker 2019-04-04 17:59:36.509 error Caught by controller[0]: at Manager.ondata (/opt/iobroker/node_modules/socket.io-client/lib/manager.js:322:16)
        host.ioTinker 2019-04-04 17:59:36.509 error Caught by controller[0]: at Decoder.add (/opt/iobroker/node_modules/socket.io-parser/index.js:246:12)
        host.ioTinker 2019-04-04 17:59:36.509 error Caught by controller[0]: at Decoder.Emitter.emit (/opt/iobroker/node_modules/component-emitter/index.js:134:20)
        host.ioTinker 2019-04-04 17:59:36.509 error Caught by controller[0]: at Decoder.<anonymous> (/opt/iobroker/node_modules/component-bind/index.js:21:15)
        host.ioTinker 2019-04-04 17:59:36.509 error Caught by controller[0]: at Manager.ondecoded (/opt/iobroker/node_modules/socket.io-client/lib/manager.js:332:8)
        host.ioTinker 2019-04-04 17:59:36.509 error Caught by controller[0]: at Manager.Emitter.emit (/opt/iobroker/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20)
        host.ioTinker 2019-04-04 17:59:36.509 error Caught by controller[0]: at Manager.<anonymous> (/opt/iobroker/node_modules/component-bind/index.js:21:15)
        host.ioTinker 2019-04-04 17:59:36.509 error Caught by controller[0]: at Socket.onpacket (/opt/iobroker/node_modules/socket.io-client/lib/socket.js:236:12)
        host.ioTinker 2019-04-04 17:59:36.508 error Caught by controller[0]: at Socket.onack (/opt/iobroker/node_modules/socket.io-client/lib/socket.js:312:9)
        host.ioTinker 2019-04-04 17:59:36.508 error Caught by controller[0]: at Socket.<anonymous> (/opt/iobroker/node_modules/iobroker.deconz/main.js:57:37)
        host.ioTinker 2019-04-04 17:59:36.508 error Caught by controller[0]: TypeError: Cannot read property 'native' of null
        deconz.0 2019-04-04 17:59:35.989 error TypeError: Cannot read property 'native' of null at Socket.<anonymous> (/opt/iobroker/node_modules/iobroker.deconz/main.js:57:37) at Socket.onack (/opt/iobroker/node_modules/socket.io-client/l
        deconz.0 2019-04-04 17:59:35.988 error uncaught exception: Cannot read property 'native' of null
        deconz.0 2019-04-04 17:59:35.914 debug dp: on; id:Light_3
        deconz.0 2019-04-04 17:59:35.913 debug stateChange deconz.0.Light_3.on {"val":true,"ack":false,"ts":1554393575905,"q":0,"from":"system.adapter.yahka.0","user":"system.user.admin","lc":1554393575905}

        Nachtrag: Ich hab auch einfach mal einen ganz anderen Datenpunkt genommen, einen der vom Namen ueberhaupt nicht in das system passt, aber in Deconz.0 liegt (deconz.0.michgabesnochnie.on). Das Ergebnis ist identisch.

        deconz.0 2019-04-04 18:04:26.786 error uncaught exception: Cannot read property 'native' of null
        deconz.0 2019-04-04 18:04:26.786 debug dp: on; id:michgabesnochnie
        deconz.0 2019-04-04 18:04:26.784 debug stateChange deconz.0.michgabesnochnie.on {"val":true,"ack":false,"ts":1554393866769,"q":0,"from":"system.adapter.yahka.0","user":"system.user.admin","lc":1554393866769}

        Asgothian Jey Cee 2 Replies Last reply Reply Quote 0
        • Asgothian
          Asgothian Developer @Asgothian last edited by

          Noch ein Nachtrag:

          Ich hab einfach einmal von Hand einen Datenpunkt konstruiert (Siehe Bild), und diesen mit Yahka verbunden.
          Screen Shot 2019-04-04 at 18.11.19 .png
          Damit "geht" es, i.e. Yahka kann den schalten, und es passiert auch nichts böses.
          Log:

          deconz.0 2019-04-04 18:08:47.626 debug dp: on; id:ManualObject
          deconz.0 2019-04-04 18:08:47.625 debug stateChange deconz.0.ManualObject.on {"val":false,"ack":false,"ts":1554394127619,"q":0,"from":"system.adapter.yahka.0","user":"system.user.admin","lc":1554394127619}
          deconz.0 2019-04-04 18:08:44.194 debug dp: on; id:ManualObject
          deconz.0 2019-04-04 18:08:44.193 debug stateChange deconz.0.ManualObject.on {"val":true,"ack":false,"ts":1554394124191,"q":0,"from":"system.adapter.yahka.0","user":"system.user.admin","lc":1554394124191}

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

            @Asgothian gut zu wissen, das muss ich abfangen.

            1 Reply Last reply Reply Quote 0
            • W
              Wildbill last edited by

              Hi,

              seit heute läuft bei mir auch ein Conbee-II-Stick. Soweit alles problemlos, allerdings habe ich einen eigenartigen Effekt. Die Zeit bei lastupdated hängt exakt 2 Stunden hinterher. Deconz läuft auf einem Raspberry3 unter Raspbian (aktuelle Updates) in aktueller Version 2.05.61 (keine Beta). Der Raspberry zeigt mittels date die korrekte Zeit, auch die länderspezifischen Settings passen. Auf dem Raspi läuft auch noch PIVCCU, dort stimmen die Zeiten ebenfalls.
              Iobroker läuft unter Ubuntu 18.04.2 in einer VM auf einem NUC, auch dort passt die Zeit und auch Skripte lösen korrekt aus und alles. Nur im Punkt lastupdated fehlen irgendwie zwei Stunden. Die Datenpunkte werden sofort und sauber aktualisiert, nur eben mit falschem Wert.

              Also, wo kann ich noch schauen, wo die zwei Stunden Versatz stecken?

              Gruss, Jürgen

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

                @Wildbill

                Ich hätte da 2 oder 3 Stellen im Verdacht:

                • Eingestellte Zeitzone in der VM
                • Eingestellte Zeitzone auf dem Host
                • Eingestellter Ort im ioBroker

                Was sagt die Zeit auf der Konsole in der VM bzw. auf dem Host ?

                A.

                W D 2 Replies Last reply Reply Quote 0
                • Asgothian
                  Asgothian Developer @Asgothian last edited by Asgothian

                  @Asgothian sagte in [Aufruf] deConz Adapter Testen 1.0.2:

                  Ich habe für dieses Problem (- wie erkenne ich Buttonpresses sauber, ohne das beim Neustart die events ausgelöst werden) ggf. Eine Lösung. In meinem fork auf github habe ich für die Button-Events einen schattenevent eingefügt, der immer nur für 800 ms gesetzt wird. Insbesondere passiert dieses nicht beim Start des Adapters.

                  Du kannst den (wenn du magst) gerne mal testen, dazu müsstest du von hier installieren:

                  https://github.com/asgothian/ioBroker.deconz
                  

                  A.

                  Ich hab in den letzten 2 Wochen damit mal weitere Tests gemacht. Aus meiner Sicht funktioniert diese Methode deutlich besser als der "zuletzt geändert" Datenpunkt, primär weil diese Methode deutlich leichter in Skripten abzufragen ist. Ich nutze Events nach dem folgenden Muster.

                  on ({id: 'datenpunkt', change:'gt'}, function(obj) { 
                      switch (obj.state.val) {
                       case 1002: 
                          // aktion auslösen
                       break;
                       case 2002:
                          // aktion auslösen
                        break;
                      }
                  });
                  

                  Ich wuerde mich freuen wenn das noch jemand testen könnte, um zu sehen ob die Änderung für den Adapter auf Dauer sinnvoll ist. Alternative Vorschläge (hier oder auch am pull-Request auf Github) ist willkommen.

                  Ein Punkt noch: Seit der letzten Änderung des Adapters muss man nach dem Anlernen eines neuen Gerätes über die Phoscon Software den Adapter einmal neu starten. Das scheint systematisch so - ich hab inzwischen > 10 geräte neu angelernt und hatte immer nur einige Datenpunkte direkt, nie alle. Ich sehe das nicht als bug an der zu fixen ist, es sollte aber dokumentiert werden.

                  A.

                  siggi85 W 2 Replies Last reply Reply Quote 2
                  • W
                    Wildbill @Asgothian last edited by

                    @Asgothian sagte in [Aufruf] deConz Adapter Testen 1.0.2:

                    @Wildbill

                    Ich hätte da 2 oder 3 Stellen im Verdacht:

                    • Eingestellte Zeitzone in der VM
                    • Eingestellte Zeitzone auf dem Host
                    • Eingestellter Ort im ioBroker

                    Was sagt die Zeit auf der Konsole in der VM bzw. auf dem Host ?

                    A.

                    Die habe ich schon alle durch. Date liefert sowohl auf dem Host (NUC), in der iobroker-VM als auch auf dem Raspberry die korrekte Zeit. In iobroker ist der Ort auch korrekt, die Astrozeiten steuern seit Beginn an Skripte zu den richtigen Zeiten an. Auch per Cronjob gestartete Events starten dann, wenn ich es erwarten würde. In der Phoscon-App wird mir auch die korrekte Uhrzeit angezeigt. Nur auf dem Weg von deconz zu iobroker gehen irgendwie zwei Stunden verloren. Und auch nur da.😕

                    Gruss, Jürgen

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

                      @Asgothian sagte in [Aufruf] deConz Adapter Testen 1.0.2:

                      Ich wuerde mich freuen wenn das noch jemand testen könnte, um zu sehen ob die Änderung für den Adapter auf Dauer sinnvoll ist. Alternative Vorschläge (hier oder auch am pull-Request auf Github) ist willkommen.

                      Ich werde das wohl dieses Wochenende testen. Da ich aktuell auf 0.3.0 bin, ändert sich wohl etwas mehr, daher brauche ich ggf. etwas Zeit die potentiellen Anpassungen in Skripten vorzunehmen. 🙂

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

                        @siggi85 sagte in [Aufruf] deConz Adapter Testen 1.0.2:

                        Da ich aktuell auf 0.3.0 bin, ändert sich wohl etwas mehr, daher brauche ich ggf. etwas Zeit die potentiellen Anpassungen in Skripten vorzunehmen.

                        Vorsicht dabei - Ich empfehle den folgenden Weg:

                        • alle Skripte anhalten
                        • Adapter anhalten
                        • Objektbaum deconz.0 löschen
                        • Adapter updaten
                        • Adapter starten
                        • Skripte umstellen und neu starten.

                        Ich hab das nicht so gemacht, und mir damit regelmässige Neustarts des Adapters eingehandelt, weil es Probleme mit den alten Skripten / den Alten Datenpunkten in Yahka gegeben hat.

                        A.

                        siggi85 2 Replies Last reply Reply Quote 1
                        • siggi85
                          siggi85 @Asgothian last edited by

                          @Asgothian sagte in [Aufruf] deConz Adapter Testen 1.0.2:

                          @siggi85 sagte in [Aufruf] deConz Adapter Testen 1.0.2:

                          Da ich aktuell auf 0.3.0 bin, ändert sich wohl etwas mehr, daher brauche ich ggf. etwas Zeit die potentiellen Anpassungen in Skripten vorzunehmen.

                          Vorsicht dabei - Ich empfehle den folgenden Weg:

                          • alle Skripte anhalten
                          • Adapter anhalten
                          • Objektbaum deconz.0 löschen
                          • Adapter updaten
                          • Adapter starten
                          • Skripte umstellen und neu starten.

                          Ich hab das nicht so gemacht, und mir damit regelmässige Neustarts des Adapters eingehandelt, weil es Probleme mit den alten Skripten / den Alten Datenpunkten in Yahka gegeben hat.

                          A.

                          Danke, so werde ich das machen! ☺ 👍

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

                            @Asgothian sagte in [Aufruf] deConz Adapter Testen 1.0.2:

                            Ich wuerde mich freuen wenn das noch jemand testen könnte, um zu sehen ob die Änderung für den Adapter auf Dauer sinnvoll ist. Alternative Vorschläge (hier oder auch am pull-Request auf Github) ist willkommen.

                            Hi, getestet und für gut befunden. Einzig der lange Klick auf die On/Off bei der Tradfri-remote will mir nun nicht immer gelingen. Aber den brauche ich auch nicht unbedingt...
                            Prinzip habe ich korrekt verstanden? Trigger und Auswerten nun auf "buttenpressed" anstatt "buttonevent"?

                            Wegen mir kann die Änderung so eingecheckt werden, wüsste gerade nichts, was dagegen spricht...

                            Gruss, Jürgen

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

                              @Asgothian sagte in [Aufruf] deConz Adapter Testen 1.0.2:

                              @siggi85 sagte in [Aufruf] deConz Adapter Testen 1.0.2:

                              Da ich aktuell auf 0.3.0 bin, ändert sich wohl etwas mehr, daher brauche ich ggf. etwas Zeit die potentiellen Anpassungen in Skripten vorzunehmen.

                              Vorsicht dabei - Ich empfehle den folgenden Weg:

                              • alle Skripte anhalten
                              • Adapter anhalten
                              • Objektbaum deconz.0 löschen
                              • Adapter updaten
                              • Adapter starten
                              • Skripte umstellen und neu starten.

                              Ich hab das nicht so gemacht, und mir damit regelmässige Neustarts des Adapters eingehandelt, weil es Probleme mit den alten Skripten / den Alten Datenpunkten in Yahka gegeben hat.

                              A.

                              Genau so habe ich es gemacht und hat wunderbar funktioniert. Auch das neue Event "buttonpressed" funktioniert einwandfrei! Ich musste nur mein Magic Cube Skript etwas anpassen (da ich die 0 abfangen musste), aber das ist vollkommen ok.

                              Bezüglich 1.x Version: Die neue Gruppierung nach Sensor Light und Group gefällt mir sehr gut! Schön wäre noch eine Sensorbenamung mit führenden Nullen (bspw. 001), dann würde ein Sensor auch zusammenhängender angezeigt werden (Wenn ein Sensor die IDs 29, 30, 31 hat, steht der 30 und 31 unter Sensor 3). Denn die Sortierung im Objektbaum erfolgt alphabetisch und nicht numerisch.
                              Aber das ist nur Kritik auf höchstem Niveau. Danke für die tolle Arbeit und den Adapter! 🙂

                              Für die, die es interessiert, hier beim Skript zur Steuerung des Magic Cube. Ich setze Hilfsdatenpunkte (buttons) für die einzelnen Aktionen des Cube, analog zum Zigbee Adapter. In den eigentlichen Steuerungsskripten muss ich dann nur noch auf die Hilfsevents triggern. 🙂
                              Nebenbei sende ich noch Notifications an meine Lametric, aber das ist für die meisten sicher uninteressant.

                              a5f2fe08-ddcf-4117-9ebc-d25b0da22bfd-grafik.png

                              <xml xmlns="http://www.w3.org/1999/xhtml">
                              <block type="on_ext" id="Q%^)V85QoBX80g#M6u[T" x="288" y="1288">
                              <mutation items="1"></mutation>
                              <field name="CONDITION">ne</field>
                              <field name="ACK_CONDITION"></field>
                              <value name="OID0">
                              <shadow type="field_oid" id="5ER_5%.R9OxlB#FCC.;3">
                              <field name="oid">deconz.0.Sensors.13.buttonpressed</field>
                              </shadow>
                              </value>
                              <statement name="STATEMENT">
                              <block type="controls_if" id="HGo8UP9zsoC%LUIfii_@">
                              <mutation elseif="5" else="1"></mutation>
                              <value name="IF0">
                              <block type="logic_compare" id="q8c(=8of3^jT4bQGY@JF">
                              <field name="OP">EQ</field>
                              <value name="A">
                              <block type="on_source" id="qwm9vaM}j5r0GM$6BxBp">
                              <field name="ATTR">state.val</field>
                              </block>
                              </value>
                              <value name="B">
                              <block type="math_number" id="WnqI/Ypo3#|iT+a1%fr"> <field name="NUM">0</field> </block> </value> </block> </value> <value name="IF1"> <block type="logic_compare" id="UA8}?WM~pS%#%?:)Bv8c"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="ix}/OdfIfFZprhJP8e$F"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="eO%20x);}?Y@Mc5OoY+8"> <field name="NUM">7007</field> </block> </value> </block> </value> <statement name="DO1"> <block type="control" id=";-|E/AMyq27:kTd,nh"> <mutation delay_input="false"></mutation> <field name="OID">fhem.0.lametric.msg</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text_join" id="Xy)Io#nI5NY|yuC%76Ez"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id=".:/^*@F_+c9D2zQ7iF1E"> <field name="TEXT">Shake</field> </block> </value> <value name="ADD1"> <block type="text" id="Sh+^YotI%os]y??B!^+_"> <field name="TEXT"> lifetime=5</field> </block> </value> <value name="ADD2"> <block type="text" id="5w2c;M)t1vFA-@iNuCLw"> <field name="TEXT"> icon=a4865</field> </block> </value> </block> </value> <next> <block type="control" id="H]kvrrG+1Y:#qbDxR%RW"> <mutation delay_input="false"></mutation> <field name="OID">custom.0.cube.shake</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="?$x@E2g$fL)(fWGRd_69"> <field name="BOOL">TRUE</field> </block> </value> </block> </next> </block> </statement> <value name="IF2"> <block type="logic_compare" id="#Zf=5U_W_IbZT=O/n^X@"> <field name="OP">EQ</field> <value name="A"> <block type="math_modulo" id="QNY;LIcR_9X_$:LjTW.P"> <value name="DIVIDEND"> <shadow type="math_number" id="jx-W}:E6Y:7,s_|lR;PN"> <field name="NUM">64</field> </shadow> <block type="on_source" id="82faAm4B}aR^Kqdr|zk*"> <field name="ATTR">state.val</field> </block> </value> <value name="DIVISOR"> <shadow type="math_number" id="XPzxd,,dv_xgrKj0-1Z7"> <field name="NUM">1001</field> </shadow> </value> </block> </value> <value name="B"> <block type="math_number" id="PUW6n%v-6zQYSaRzEAtF"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO2"> <block type="control" id="_l!OV{K3obf@)s1A[3n9"> <mutation delay_input="false"></mutation> <field name="OID">fhem.0.lametric.msg</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text_join" id="un^o)HrUUv!!@WzX33}k"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="AhnHVZd:eAm4UL0;Bnnu"> <field name="TEXT">Tapped</field> </block> </value> <value name="ADD1"> <block type="text" id="7049TU+L6?:Z-4#;}n_n"> <field name="TEXT"> lifetime=5</field> </block> </value> <value name="ADD2"> <block type="text" id="M-vXLf[1+uA:TlkTJi">
                              <field name="TEXT"> icon=a4865</field>
                              </block>
                              </value>
                              </block>
                              </value>
                              <next>
                              <block type="control" id="/76$G^ZH5GkS}oojKihb">
                              <mutation delay_input="false"></mutation>
                              <field name="OID">custom.0.cube.tap_twice</field>
                              <field name="WITH_DELAY">FALSE</field>
                              <value name="VALUE">
                              <block type="logic_boolean" id="4Mo~uId?ag4l2P?|C{;P">
                              <field name="BOOL">TRUE</field>
                              </block>
                              </value>
                              </block>
                              </next>
                              </block>
                              </statement>
                              <value name="IF3">
                              <block type="logic_compare" id="|i+~#ovEMY~w0d!;$27N">
                              <field name="OP">EQ</field>
                              <value name="A">
                              <block type="math_modulo" id="8+p~0O6U%yVgP5fd7HHk">
                              <value name="DIVIDEND">
                              <shadow type="math_number" id="zh[c9p{y8qeoqJSDsfpr">
                              <field name="NUM">64</field>
                              </shadow>
                              <block type="on_source" id="MMbv]:RgW$1BE:mYcVLX">
                              <field name="ATTR">state.val</field>
                              </block>
                              </value>
                              <value name="DIVISOR">
                              <shadow type="math_number" id="_%=9SBKq{QN75i%[k9ky">
                              <field name="NUM">1000</field>
                              </shadow>
                              </value>
                              </block>
                              </value>
                              <value name="B">
                              <block type="math_number" id="@,UVi-c-$[Qi9cCef!a"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO3"> <block type="control" id="/?mkbrWtu7FY=?-o2jdz"> <mutation delay_input="false"></mutation> <field name="OID">fhem.0.lametric.msg</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text_join" id="*eJla_PDG^HS%E_z4%r^"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="+X~*0Mdh45aEQa1e#C.r"> <field name="TEXT">Slide</field> </block> </value> <value name="ADD1"> <block type="text" id="V+?s}NnLktDlQahe#Ec:"> <field name="TEXT"> lifetime=5</field> </block> </value> <value name="ADD2"> <block type="text" id="OfbCK6qvwUUBb|1h}q*|"> <field name="TEXT"> icon=a4865</field> </block> </value> </block> </value> <next> <block type="control" id="e=QG$$oUe$7-c#5jrQ.+"> <mutation delay_input="false"></mutation> <field name="OID">custom.0.cube.slide</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="5uk38hpuVqyMljVnUywi"> <field name="BOOL">TRUE</field> </block> </value> </block> </next> </block> </statement> <value name="IF4"> <block type="logic_compare" id="+f:@daS:3jutz_LvhoHI"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="Q0%wV3vvX;W@WbYSnuYk"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="TXS!)O5wAp[pNweAatyj"> <field name="NUM">7008</field> </block> </value> </block> </value> <statement name="DO4"> <block type="control" id="03=I[|ONn|,ZDZ+5Wv5u"> <mutation delay_input="false"></mutation> <field name="OID">fhem.0.lametric.msg</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text_join" id="!hqr%4BExH/Z942a)nAJ"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="Hb(~g^bI[wSM65cfQ*TX"> <field name="TEXT">Free Fall</field> </block> </value> <value name="ADD1"> <block type="text" id="Z[j57+as~C8Nb/zIv^}h"> <field name="TEXT"> lifetime=5</field> </block> </value> <value name="ADD2"> <block type="text" id="SY~Fa7N}xr8v*Otr8(N5"> <field name="TEXT"> icon=a4865</field> </block> </value> </block> </value> <next> <block type="control" id="4.sv?!=||b:p/y|L{DxC"> <mutation delay_input="false"></mutation> <field name="OID">custom.0.cube.free_fall</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="uCJh0}*t*]V;~X}xja5c"> <field name="BOOL">TRUE</field> </block> </value> </block> </next> </block> </statement> <value name="IF5"> <block type="logic_compare" id="gfic8Kin#/Xw[*H[C[85"> <field name="OP">EQ</field> <value name="A"> <block type="math_arithmetic" id="m0!;|[%:*2X3W.RZ:Gdg"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="R;n@f9G]x+NvF,owJ:,">
                              <field name="NUM">1</field>
                              </shadow>
                              <block type="math_round" id="DpEkx=
                              (V:)q[b+)VRDf">
                              <field name="OP">ROUNDDOWN</field>
                              <value name="NUM">
                              <shadow type="math_number" id="@16y+y??fV],IW65{5mO">
                              <field name="NUM">3.1</field>
                              </shadow>
                              <block type="math_arithmetic" id="4o]NL%.:|TzAyznlBU0t">
                              <field name="OP">DIVIDE</field>
                              <value name="A">
                              <shadow type="math_number" id="dD~%#Z{(K,Ccs)qeH:z">
                              <field name="NUM">1</field>
                              </shadow>
                              <block type="on_source" id="$pyk5VC6}-bvn}.k:FFI">
                              <field name="ATTR">state.val</field>
                              </block>
                              </value>
                              <value name="B">
                              <shadow type="math_number" id=";Z|VR!Aioh**B8U:C8!!">
                              <field name="NUM">1000</field>
                              </shadow>
                              </value>
                              </block>
                              </value>
                              </block>
                              </value>
                              <value name="B">
                              <shadow type="math_number" id="{+1;1QQ6h+V*C]vgCOg"> <field name="NUM">1</field> </shadow> <block type="math_modulo" id="EftB4_+hH*x.E*vml4w,"> <value name="DIVIDEND"> <shadow type="math_number" id="zh[c9p{y8qeoqJSDsfpr"> <field name="NUM">64</field> </shadow> <block type="on_source" id="Ikn9Jm]4$^pdE39MzB[y"> <field name="ATTR">state.val</field> </block> </value> <value name="DIVISOR"> <shadow type="math_number" id="$2n9RPU7Lz_(?(wj591^"> <field name="NUM">1000</field> </shadow> </value> </block> </value> </block> </value> <value name="B"> <block type="math_number" id=";aWnA~*bFN_HJbwA}xNK"> <field name="NUM">7</field> </block> </value> </block> </value> <statement name="DO5"> <block type="control" id="EO;9R(-Cdm7iBqQcq1mT"> <mutation delay_input="false"></mutation> <field name="OID">fhem.0.lametric.msg</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text_join" id="Xy)r/dNPC(l3?sjEoZ%u"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="sP!LlU*o]C=7B0)tWzaK"> <field name="TEXT">Flip 180°</field> </block> </value> <value name="ADD1"> <block type="text" id="4.rLKGo=R==Q;~xr)Gt">
                              <field name="TEXT"> lifetime=5</field>
                              </block>
                              </value>
                              <value name="ADD2">
                              <block type="text" id="3}3e5/fJMlBDqE#Uy+l=">
                              <field name="TEXT"> icon=a4865</field>
                              </block>
                              </value>
                              </block>
                              </value>
                              <next>
                              <block type="control" id="nI1{q6yVHc0^vKv08n~">
                              <mutation delay_input="false"></mutation>
                              <field name="OID">custom.0.cube.flip180</field>
                              <field name="WITH_DELAY">FALSE</field>
                              <value name="VALUE">
                              <block type="logic_boolean" id="``je;fc#7)JAA
                              ET)D%@">
                              <field name="BOOL">TRUE</field>
                              </block>
                              </value>
                              </block>
                              </next>
                              </block>
                              </statement>
                              <statement name="ELSE">
                              <block type="control" id="?xAKMKLA@r@64;W3Gn@3">
                              <mutation delay_input="false"></mutation>
                              <field name="OID">fhem.0.lametric.msg</field>
                              <field name="WITH_DELAY">FALSE</field>
                              <value name="VALUE">
                              <block type="text_join" id="Rv04cAHSFURKo8Bfs[">
                              <mutation items="3"></mutation>
                              <value name="ADD0">
                              <block type="text" id="n6j7eO
                              |p/jT)5vBSOs3">
                              <field name="TEXT">Flip 90°</field>
                              </block>
                              </value>
                              <value name="ADD1">
                              <block type="text" id=";Vj4XwO]V_Y2eJdQ((">
                              <field name="TEXT"> lifetime=5</field>
                              </block>
                              </value>
                              <value name="ADD2">
                              <block type="text" id=".LsBGK%SLS0HC;fRI{Pf">
                              <field name="TEXT"> icon=a4865</field>
                              </block>
                              </value>
                              </block>
                              </value>
                              <next>
                              <block type="control" id="7MUN*FeV~Z^.vC;6].@j">
                              <mutation delay_input="false"></mutation>
                              <field name="OID">custom.0.cube.flip90</field>
                              <field name="WITH_DELAY">FALSE</field>
                              <value name="VALUE">
                              <block type="logic_boolean" id="1ELXu54zG}lx,S,(bm6X">
                              <field name="BOOL">TRUE</field>
                              </block>
                              </value>
                              </block>
                              </next>
                              </block>
                              </statement>
                              </block>
                              </statement>
                              </block>
                              <block type="on_ext" id="DXNK}21dR@7UvdW1b?+A" x="1163" y="1313">
                              <mutation items="1"></mutation>
                              <field name="CONDITION">any</field>
                              <field name="ACK_CONDITION"></field>
                              <value name="OID0">
                              <shadow type="field_oid" id="mkgJ8%}Ve)_4Wc(SC|{;">
                              <field name="oid">deconz.0.Sensors.14.buttonpressed</field>
                              </shadow>
                              </value>
                              <statement name="STATEMENT">
                              <block type="controls_if" id="kM-epvFiuU|oW/nk-Oe"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="{0GFLDZiFCAfd3Ei~b5p"> <field name="OP">GT</field> <value name="A"> <block type="on_source" id="L2%4UPZqcQNJP+1u=6(C"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="SjdKZYn.;}*b4A=m1)r">
                              <field name="NUM">0</field>
                              </block>
                              </value>
                              </block>
                              </value>
                              <statement name="DO0">
                              <block type="control" id="C9[1?#-Y!bQA(_w.m[Oh">
                              <mutation delay_input="false"></mutation>
                              <field name="OID">fhem.0.lametric.msg</field>
                              <field name="WITH_DELAY">FALSE</field>
                              <value name="VALUE">
                              <block type="text_join" id="?,I7NTEj?Vj#+3zvN,!"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="zHbvklYvzYo..lH|P#!="> <field name="TEXT">Rechts</field> </block> </value> <value name="ADD1"> <block type="text" id="y9pq[Ie5WsFQ;[bWj59-"> <field name="TEXT"> lifetime=5</field> </block> </value> <value name="ADD2"> <block type="text" id="N[-nW3v-CG]4zrNub@/m"> <field name="TEXT"> icon=a4865</field> </block> </value> </block> </value> <next> <block type="control" id="*vpnyB,cXbkyh3R3[)$t"> <mutation delay_input="false"></mutation> <field name="OID">custom.0.cube.rotate_right</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="k:rLqj,LEw_ghhF^rTA/"> <field name="BOOL">TRUE</field> </block> </value> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_compare" id="I{gGHo(n|2l!(-]C:3HR"> <field name="OP">LT</field> <value name="A"> <block type="on_source" id="_~6Nr_^/!j7l$O,ib[LW"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id=",0IGWb)Br$0[,R3b*$W~"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO1"> <block type="control" id="JUE39UcRN_?_RWK~)}~{"> <mutation delay_input="false"></mutation> <field name="OID">fhem.0.lametric.msg</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text_join" id="/S@dIQK_HLWH1PVzJb+V"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="n1L:g=Va0vP+HyTZh4N4"> <field name="TEXT">Links</field> </block> </value> <value name="ADD1"> <block type="text" id=":gMrsNFXshG)=Dgy7,#">
                              <field name="TEXT"> lifetime=5</field>
                              </block>
                              </value>
                              <value name="ADD2">
                              <block type="text" id="-_bdEr+QBIOnR+GZDyGN">
                              <field name="TEXT"> icon=a4865</field>
                              </block>
                              </value>
                              </block>
                              </value>
                              <next>
                              <block type="control" id="sHvoKoZG/8zr[S4:rr+k">
                              <mutation delay_input="false"></mutation>
                              <field name="OID">custom.0.cube.rotate_left</field>
                              <field name="WITH_DELAY">FALSE</field>
                              <value name="VALUE">
                              <block type="logic_boolean" id="/[ia4b/~?i6d{IBQWDnc">
                              <field name="BOOL">TRUE</field>
                              </block>
                              </value>
                              </block>
                              </next>
                              </block>
                              </statement>
                              </block>
                              </statement>
                              </block>
                              </xml>

                              EDIT: Habe nun noch ein bisschen mit meinem Hue Dimmer getestet. Funktioniert zwar, aber vielleicht wäre es besser, wenn der Wert nicht nach jeder Änderung wieder auf 0 gesetzt wird, sondern nur wenn innerhalb von den 800ms (ggf. auch länger) keine weitere Änderung erfolgt. Wenn man auf eine Taste lange drückt und dann mehrere Events hintereinander ausgelöst werden , wird sonst immer die 0 zwischendrin generiert. Denke das ist überflüssig und könnte ggf. zur Problemen führen?!

                              D Asgothian 2 Replies Last reply Reply Quote 0
                              • D
                                DocGame @siggi85 last edited by

                                Hallo,

                                ich habe hier einige Xiaomi zwei Tasten Switch (WXKG02LM) verbaut. Diese sind sowohl über den Deconz als auch am Mihome-Hub betreibe.
                                Mich hat immer gestört, das die Funktionen Doppelklick und Drücken und halten nicht unterstützt werden (Mir würden hierzu zig Blockly-Anwendungen einfallen)
                                Gestern habe ich eine neue Lieferung erhalten. Als erstes ist mir eine wesentlich grüßere Verpackung (Doppelt so breit wie die alten - gleiche Verpackung wie die Eintaster) aufgefallen. Die Taster sehen genau gleich aus und auch die Bezeichnung auf der Rückseite ist absolut identisch.
                                Beim Einlernen in der MiHome-App ist mir folgendes aufgefallen. Es werden jetzt alle gewünschten Zustände erfasst und gelogt:

                                Links Klicken
                                Rechts Klicken
                                Beide Drücken
                                Doppel Links klicken
                                Doppel Rechts Klicken
                                Drücken und halten Links
                                Drücken und halten Rechts

                                Im MiHome-Adapter werden diese Taster aber leider überhaupt nicht mehr erkannt, obwohl Sie in der App vorhanden sind.
                                Wenn ich diese am Deconz via Phoscon anlerne wird dieser erkannt (Mit dem Zusatz "WXKG02LM Rev. 2").
                                In der Deconzoberfläche wird er auch angezeigt (korrekt mit dem in Phoscon vergebenen Namen).
                                In den Deconz-Objekten im IOBroker taucht er leider nicht auf. Habe schon Adapter-Neustart und Installation der Asgothian-Fork probiert.

                                Es wäre genial, wenn diese neue Revision des Tasters in einem Adapterupdate mit berücksichtigt werden könnte.

                                Gruß DocGame

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

                                  @DocGame
                                  Hallo Doc,

                                  in Deconz können wir direkt nichts machen - entweder liefert deconz die Datenpunkte in der restAPI, oder sie tun es nicht. Deswegen die Frage ob er wirklich nicht auftaucht. Ich habe bisher mit meinen keine Probleme, und kann da alle von Dir beschriebenen Funktionen nutzen. Mit deconz 1.0.2:

                                  Erkannt in Phoscon als Screen Shot 2019-04-14 at 12.13.23 .png
                                  Screen Shot 2019-04-14 at 12.12.52 .png
                                  A.

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

                                    Perfekt...
                                    Als ich das Post schrieb war der Taster zwar in Deconz(Oberfläche) sichtbar, in Phoscon ist hinter Version nichts gestanden.
                                    Nach einer gewissen Zeit ist Unknow dahinter gestanden und nun 20180809.
                                    Und siehe da.... Es geht.
                                    Weil ich Probleme mit der Zustandsabfrage in Blockly hatte, bis ich auf den MiHome-Adapter gewechselt. Mit der "Buttonpressed" Funktionalität werde ich wohl wieder mit allem Umziehen.
                                    2Fach-Taster_neu1.JPG 2Fach-Taster_neu.JPG
                                    Vielen Dank

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

                                      Ich möchte mich bitte einmal hier anhängen, denn ich habe gestern den Conbee 2 Stick auf einem Raspberry PI eingerichtet und einen Großteil meiner Xiaomi Sensoren und meiner Tradfri Komponenten dort bereits eingebunden.

                                      Allerdings bin ich noch nicht so ganz fein mit der ganzen Sache, da ich ein kleines Verständnisproblem habe.

                                      Wie immer bei mir, ist auch dies nun eine zweigeteilte Frage.
                                      Der erste Teil umfasst die Logik in der Phoscon App, die mir nicht ganz klar wird.

                                      Ich komme vom Tradfri Gateway und dem Tradfri Adapter. Hier war es so, dass Lampen immer nur mit einem Steuergerät eingebunden werden konnten.
                                      Entsprechend habe ich meine Installation auch hardwaremäßig so aufgebaut. Zu jeder Einzellampe und zu jedem Lampenverbund gibt es eine Fernbedienung. Um im ioBroker über den Adapter dann mittels Alexa oder Skripten zu schalten, habe ich virtuelle Gruppen in dem Tradfri Adapter erstellt.

                                      Nun habe ich die Lampen und Fernbedienungen in Phoscon eingebunden und bin etwas verwirrt. Zu jeder Lampe wird direkt eine Gruppe angelegt. Ebenso zu jeder Fernbedienung, wobei hier die Fernbedienung selbst eine Gruppe darstellt, wenn ich das richtig verstanden habe.

                                      Bildschirmfoto 2019-04-14 um 20.08.23.png

                                      Ich habe also die Lampe in der Küche einmal in der Gruppe "Küche" und wenn ich diese mit der "Fernbedienung Küche" schalten will, muss ich der Fernbedienung diese Lampe zuweisen. Ist das richtig so?

                                      Das bringt mich dann zum zweiten und interessanten Teil der Frage, nämlich im Deconz Adapter in ioBroker. Dort scheint mir alles etwas unsortiert und ohne wirklich erkennbare Struktur zu sein in den Objekten.

                                      Die Fernbedienungen tauchen dort unter den Sensoren auf und ebenso als Gruppe. Dabei wird aber der Name, den ich in der Phoscon App vergeben habe, zu großen Teilen ignoriert und ich weiß nicht mehr, um welches Device es sich dabei handelt.

                                      Bildschirmfoto 2019-04-14 um 20.13.13.png

                                      Groups 1 mit dem Zusatz "undefined" ist eigentlich die Gruppe "Fernsehzimmer" und die Gruppe 13309 ist eigentlich die "Fernbedienung Schlafzimmer", die ich auch so in Phoscon finde. Dort habe ich nicht eine Gruppe oder Lampe, oder Fernbedienung oder Sensor, der die hier sichtbaren Nummern als Namen hat.
                                      Das sind die Gruppennamen, die von der Phoscon App vergeben werden, wenn man eine Lampe anlernt. Aber die habe ich direkt geändert. NAtürlich auch nicht schön, wenn man einen Spot mit 6 Lampen hat und dann am Ende 6 Gruppen erstmal bearbeiten muss, und diese aus ioBroker dann auch nicht wieder verschwinden, oder wenigstens den geänderten Namen annehmen. 😉

                                      Bildschirmfoto 2019-04-14 um 20.30.10.png

                                      Bildschirmfoto 2019-04-14 um 20.16.11.png

                                      Aber zusätzlich sind die Fernbedienungen auch noch unter den Sensoren zu finden, wobei sie dort auch nicht wirklich stringent umbennant sind und wahllos den Namen übernehmen oder auch nicht.

                                      Bildschirmfoto 2019-04-14 um 20.18.25.png

                                      Ich verstehe die Logik nicht und habe enorme Schwierigkeiten nun meine Skripte anzupassen, weil ich die Objekte nicht wirklich wiederfinde, bzw. gar nicht weiß, welche Objekte ich nun nehmen soll. Lights, Sensors, Groups? Wenn ich sie denn überhaupt zuordnen könnte.

                                      Ich schließe nicht aus, dass bei der Installation von deConz auf dem Raspi etwas fehlt oder falsch gemacht wurde. Ich betreibe den Raspi headless und habe übers macOS Terminal mittels SSH installiert und auch für die eigentliche deConz Software auf dem Raspi die GUI über Raspbian Stretch light nachinstalliert. Bedienen tue ich den Raspi nun grafisch über VNC.

                                      Also wenn irgendwelche Infos noch gebraucht werden, liefere ich die gerne nach.

                                      Adapterversion ist 1.0.2 und im Log ist keinerlei Auffälligkeit zu sehen und die Lampen und Sensoren schalten auch, wenn ich sie denn bediene. Sprich die Fenster und Türkontakte geben Laut und wenn ich eine Gruppe, eine FB oder ein Licht in ioBroker mal identifiziert habe und z. B. Brightness händisch ändere, dann tut es das auch.

                                      Kann halt nur mit dem Klumpatsch, der da nun in den Objekten steht nichts weiter anfangen. 😉

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

                                        @mehrwiedu
                                        Um da etwas Ordnung rein zu bekommen:

                                        Deconz Liefert jede Lampe, jeden Sensor und jede Gruppe an IoBroker. Dabei ist zu beachten:

                                        • Alles was Informationen verarbeitet (Lampe, Steckdose, etc.) wird als Lampe weitergereicht
                                        • Alles was Informationen erzeugt (Schalter, Sensor, Fernbedienung) wird als Sensor weitergereicht. Dabei ist es nicht zwingend so das einem Sensor auch nur ein logischer Sensor zugeordnet wird. So haben die Xiaomi Temperatursensoren jeweils 2 Sensoren in deConz

                                        Gruppen werden (meines Wissens) immer dann erzeugt wenn

                                        • Der Benutzer eine Gruppe anlegt und dieser eine oder mehrere Lampen zuweist
                                        • Der Benutzer einer Fernbedienung direkt eine oder mehrere Lampen zuweist

                                        Bei der Zuweisung gibt es keinen Zwang zur 1:1 Zuweisung. Die gleiche Fernbedienung kann in mehreren Gruppen verwendet werden.

                                        Es ist also möglich, in der Web-App keinerlei Verbindungen zwischen Fernbedienungen und Lampen zu erzeugen, und die Steuerung zu 100% über ioBroker zu machen.

                                        Ich hoffe das bringt etwas Ordnung in das Chaos.

                                        A.

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

                                          @Asgothian

                                          Danke für Deine Antwort. Soweit habe ich das Verstanden und versuche da jetzt mal Ordnung reinzubringen. Hardwaretechnisch scheint das eine gute Lösung zu sein.

                                          Was mir nur im Wege steht, ist die Benennung der Gruppen in ioBroker. Da kommen die Namen aus Phoscon nicht an.

                                          Wie rufe ich headless die Web App auf? Ist das die Phoscon App, oder noch eine andere Oberfläche in der ich Einstellungen machen kann?
                                          Sonst habe ich nur via VNC die grafische Übersicht der Zigbee Verbindungen.
                                          Lauter farbige Spaghettis 😉 Da muss ich auch mal schauen, was die Werte und Farben eigentlich aussagen.

                                          Asgothian 2 Replies Last reply Reply Quote 0
                                          • Asgothian
                                            Asgothian Developer @mehrwiedu last edited by

                                            @mehrwiedu
                                            das ist die web-oberfläche (Phoscon). Und bei mir kommen die Namen durchaus an, aber nur als "Text" an den Objekten, nicht als Name der Objekte - die bleiben immer fix als Lights.1 bis Lights.n und Sensors.1 bis Sensors.n

                                            Das ist meiner Meinung nach auch gut so.

                                            A.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.0k
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            deconz zigbee
                                            57
                                            532
                                            110840
                                            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