NEWS
3 Fragen zu Nuki 3.0 Pro mit MQTT.
-
Hallo ich habe auch ein kleines Problem bei der Verbindung mit MQTT.
Ich habe in der MQTT Instanz einen Usernamen und ein Passwort für die Verbindung zum Broker konfiguriert und dies in der NUKI App eingetragen.
Verbindung funktioniert ich kann das Schloss per MQTT steuern.Verliert das Nuki kurzzeitig das WLAN Signal und verbindet sich neu vebindet es sich nicht mehr auf den Broker.
Ich muss dann in der Nuki ab wieder das Passwort für den MQTT Broker eingeben und es funktioniert wieder!
Hat jemand eine Idee wie ich das lösen kann? -
@tobias-sieburg sagte in 3 Fragen zu Nuki 3.0 Pro mit MQTT.:
Verliert das Nuki kurzzeitig das WLAN Signal und verbindet sich neu vebindet es sich nicht mehr auf den Broker.
Ich muss dann in der Nuki ab wieder das Passwort für den MQTT Broker eingeben und es funktioniert wieder!
Hat jemand eine Idee wie ich das lösen kann?Hatte dieses Problem auch. Hab es dann so gelöst dass ich unter proxmox einen eigenen lxc-container mit einem mqtt broker eingerichtet habe auf diesen greift das nuki zu. iobroker greift dann ebenfalls auf diesen zu. seither keine Probleme mehr.
-
Ich habe jetzt mal im MQTT Broker das Passwort rausgenommen jetzt klappt es allerdings kommt es ab und zu vor das das Schloss über MQTT verriegelt wird obwohl kein Befehl dafür ausgeführt wurde!
-
@walter-white said in 3 Fragen zu Nuki 3.0 Pro mit MQTT.:
So das abschließen funktioniert grundsätzlich, jedoch verweilt das lockaction nach dem Abschlißen auf lockaction [2] und kann somit nicht einfach wieder triggern.
Einfach nach 2-4 Sekunden auf NULL setzen.
-
Danke das klappt!
Jetzt ist noch ein Fehler den ich gerne beheben würde! Wenn sich das Schloss aus irgendeinem Grund neu mit dem WLAN verbindet meldet es sich danach nicht mehr am Mqtt Broker an
-
@tobias-sieburg said in 3 Fragen zu Nuki 3.0 Pro mit MQTT.:
Danke das klappt!
Prima, das es mit NULL bei dir auch funktioniert
Jetzt ist noch ein Fehler den ich gerne beheben würde! Wenn sich das Schloss aus irgendeinem Grund neu mit dem WLAN verbindet meldet es sich danach nicht mehr am Mqtt Broker an
Anscheinend gibt es Probleme mit dem Nuki, wenn es die WLAN- oder Internetverbindung verliert. In solchen Fällen muss ich es jedes Mal manuell neu verbinden. Hast du ähnliche Erfahrungen gemacht? Siehe: nuki-smart-lock-3-0-pro-mit-mqtt-ohne-internetverbindung
-
Hallo,
ich habe das Nuke 4 jetzt mit MQTT verbunden. Dort gibt es ein lockActionEvent. Wenn ich dort 2 eingebe passiert nichts. Wenn ich die Tür über App öffne erscheint als Wert bei dem Event 뵋. Wenn ich diese Zeichen allerdings dort bei Steuere eintrage passiert wieder nichts.
Hat da jamand eine Idee? -
Mit der Firmware 4.0.31 und 4.032 wurden die beiden States 2 und 4 über mqtt nicht geschrieben. Diese zeigen "wird geöffnet" bzw. "wird geschlossen" an.
Seit heute gibts die Firmware 4.0.33 da werden diese States wieder korrekt in mqtt übertragen. Nebenbei scheint zumindest bei mir die Übertragung über WLAN zur Nuki-App für den Status wieder schneller zu funktionieren. -
@manfredhi
Wie bekomme ich die Frimware 4.0.33? Ich habe die 4.0.31 und in der App wird angezeigt, dass sie aktuell ist. Ich habe das Nuki 4 pro. -
@mcbirne sagte in 3 Fragen zu Nuki 3.0 Pro mit MQTT.:
Wie bekomme ich die Frimware 4.0.33? Ich habe die 4.0.31 und in der App wird angezeigt, dass sie aktuell ist. Ich habe das Nuki 4 pro.
Du musst dich dafür für die Beta-Firmwares anmelden. Geht unter https://nuki.io/testing/
-
@manfredhi
Ich habe jetzt auch die Version 4.0.34. Aber das lockActionEvent sind immer noch kryptische Zeichen. Leider hab ich dort nicht 2 oder 4 stehen. -
@mcbirne sagte in 3 Fragen zu Nuki 3.0 Pro mit MQTT.:
. Aber das lockActionEvent sind immer noch kryptische Zeichen. Leider hab ich dort nicht 2 oder 4 stehen.
ja im lockActionEvent stehen die komischen Zeichen, das dürfte eh passen.
es gibt aber noch ein "state"-Objekt. Und dort steht dann die jeweilige Zahl für den STatus drinnen. -
@manfredhi
OK, aber die States ändern sich immer erst einige Zeit, nach dem aufschließen. Das lockActionEvent ändert sich aber sofort, wenn aufgeschlossen wird. Das brauche ich zum deaktivieren der Alarmanlage. Bis sich der State geändert hat, ist die Tür offen und die Alarmanlage ausgelöst.
Es wäre toll, wenn bei lockActionEvent auch interpretierbare Zeichen stehen würden. -
@mcbirne sagte in 3 Fragen zu Nuki 3.0 Pro mit MQTT.:
OK, aber die States ändern sich immer erst einige Zeit, nach dem aufschließen. Das lockActionEvent ändert sich aber sofort, wenn aufgeschlossen wird. Das brauche ich zum deaktivieren der Alarmanlage. Bis sich der State geändert hat, ist die Tür offen und die Alarmanlage ausgelöst.
Es wäre toll, wenn bei lockActionEvent auch interpretierbare Zeichen stehen würden.Komisch. Bei mir ändert sich der Wert von States sofort. Das dauert keine Sekunde. Dadurch lasse ich mir in der VIS auch anzeigen "wird aufgesperrt" bzw. "wird zugesperrt". Egal ob ich an der Tür selbst am Nuki das auslöse oder über die VIS oder über das Keypad. Vielleicht hast du eine schlechte WLAN-Verbindung beim Nuki?
-
@manfredhi
Stimmt,jetzt wird dort 3 angezeigt. zur gleichen Zeit wie bei dem LockActionEvent das komische Zeichen kommt. Die 3 wird also immer beim Öffnen oder Aufschließen angezeigt, oder?
-
@mcbirne sagte in 3 Fragen zu Nuki 3.0 Pro mit MQTT.:
@manfredhi
Stimmt,jetzt wird dort 3 angezeigt. zur gleichen Zeit wie bei dem LockActionEvent das komische Zeichen kommt. Die 3 wird also immer beim Öffnen oder Aufschließen angezeigt, oder?
1 = Tür zugesperrt
2 = Tür wird aufgesperrt
3 = Tür aufgesperrt (in zusammenhang mit DoorSensor State 2)
3 = Tür steht offen (in Zusammenhang mit DoorSensor State 3)
4 = Tür wird zugesperrt
7 = Tür wird geöffnetsiehe auch die Doku zu mqtt-api 1.4:
https://developer.nuki.io/uploads/short-url/fcR2ntjSFMz3oHUMrIjYSU3g0O4.pdf -
@ManfredHi, @mcbirne sagte in 3 Fragen zu Nuki 3.0 Pro mit MQTT.:
Es wäre toll, wenn bei lockActionEvent auch interpretierbare Zeichen stehen würden.
Ist zwar schon eine Weile vergangen seit diesem Post, aber vielleicht stößt ja jemand in Zukunft auch noch auf das "Problem".
Diese Zeichen sollen wohl grafisch etwas darstellen (lock / unlock / unlatch). Man kann sie verwerten, wenn man den Hex-Wert verwendet. So wird das erste Byte (Zeichen) zu einem lesbaren Lock Action Code (01 -> unlock, 02 -> lock, 03 -> unlatch). Die Lock Action Codes für das smartlock und den opener kann man der API-Beschreibung von Nuki entnehmen.
Kann man z.B. mit Blockly und einem kleinen Java-Script so verwerten:
-
@dr-bakterius sagte in 3 Fragen zu Nuki 3.0 Pro mit MQTT.:
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="qorb=$~{B0ylm@J_t,nL">text</variable> <variable id="86jV1Y#Q]F79bKNQL0^M">zahl</variable> </variables> <block type="on" id="?uBC#0,vX:[t?vUtEhFF" x="-937" y="588"> <field name="OID">mqtt.0.nuki.374FE4EC.lockActionEvent</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="variables_set" id="6c@orWoh56s+c]bxra6R"> <field name="VAR" id="86jV1Y#Q]F79bKNQL0^M">zahl</field> <value name="VALUE"> <block type="convert_tonumber" id="Rjx_VhWHs@a~`JQi8,6x"> <value name="VALUE"> <block type="text_getSubstring" id="tCXR}Rwh%*Lu;(j8uQvE"> <mutation at1="true" at2="true"></mutation> <field name="WHERE1">FROM_START</field> <field name="WHERE2">FROM_START</field> <value name="STRING"> <block type="convert_tostring" id="iAZLl|YH@5v_XG22$Kk="> <value name="VALUE"> <block type="procedures_callcustomreturn" id="_7=a94IVZNZNOV1wI=D*"> <mutation name="2hex"> <arg name="text"></arg> </mutation> <value name="ARG0"> <block type="on_source" id="3qjzY2?)V_Q!#Y|nz21["> <field name="ATTR">state.val</field> </block> </value> </block> </value> </block> </value> <value name="AT1"> <block type="math_number" id="]BGV:5HSPn7!?G?[}tcm"> <field name="NUM">1</field> </block> </value> <value name="AT2"> <block type="math_number" id="#G;fFsZW1SUx4v|48EJD"> <field name="NUM">2</field> </block> </value> </block> </value> </block> </value> <next> <block type="controls_if" id="k#)0Su!=~|W`XwS7W78X"> <mutation elseif="2"></mutation> <value name="IF0"> <block type="logic_compare" id="s1=88^1M$G%%r;z$#@I6"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="iT8ShDJuXe2KHmHoQMV1"> <field name="VAR" id="86jV1Y#Q]F79bKNQL0^M">zahl</field> </block> </value> <value name="B"> <block type="math_number" id="DNEp3w*I7AH@xL3O)%D:"> <field name="NUM">1</field> </block> </value> </block> </value> <statement name="DO0"> <block type="debug" id="B_HTKs@Zw;22VwGE$dyx"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="GL~3UV0.[m^hleap?fhL"> <field name="TEXT">smartlock unlock</field> </shadow> </value> </block> </statement> <value name="IF1"> <block type="logic_compare" id="=7zja^/%x;HB$`b@N8V_"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="k+{2..p,Q]@|t+=c{8~{"> <field name="VAR" id="86jV1Y#Q]F79bKNQL0^M">zahl</field> </block> </value> <value name="B"> <block type="math_number" id="POzG+/liHr:K^.Z:*87%"> <field name="NUM">2</field> </block> </value> </block> </value> <statement name="DO1"> <block type="debug" id="i}DG!^/J;.#,n=`/*^jr"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="K[}#t$]paVwqt(0pby,7"> <field name="TEXT">smartlock lock</field> </shadow> </value> </block> </statement> <value name="IF2"> <block type="logic_compare" id="HA%fJgoA,?zS/OV;nEAH"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="U%gMqV`+V;LKMsaR6wnV"> <field name="VAR" id="86jV1Y#Q]F79bKNQL0^M">zahl</field> </block> </value> <value name="B"> <block type="math_number" id="^xZf{Qnev9H!D3Pw*^Jt"> <field name="NUM">3</field> </block> </value> </block> </value> <statement name="DO2"> <block type="debug" id="f*W:a`pma;%$DGP8bH37"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="IN?CSfSgEJ3$#sJQqN-%"> <field name="TEXT">smartlock unlatch</field> </shadow> </value> </block> </statement> </block> </next> </block> </statement> </block> <block type="procedures_defcustomreturn" id="$S)[j*JxCEt~nQv7TKkL" x="-312" y="788"> <mutation statements="false"> <arg name="text" varid="qorb=$~{B0ylm@J_t,nL"></arg> </mutation> <field name="NAME">2hex</field> <field name="SCRIPT">ZW5jb2RlZCA9IEJ1ZmZlci5mcm9tKHRleHQpLnRvU3RyaW5nKCdoZXgnKTsNCnJldHVybiBlbmNvZGVkOw==</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> </xml>
Danke!
Laut API sollten da viel mehr Informationen als kommaseparierte Liste kommen.
Stimmt da jetzt die API Beschreibung nicht oder wie kann man das sichtbar machen?
Mich interessiert vor allem wodurch die Aktion ausgeführt wurde. -
@rushmed Werte doch einfach auch die anderen 4 Bytes aus. Und schau was da ankommt.
-
@dr-bakterius Ah, ok danke.
Ich bekomm schonmal das zweite Byte fast hin.
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="J2Y{`FV]/q4e/hXk/Gg}">text</variable> <variable id="2.$BAa5Ln2p~uf@U,I$R">Alles hex</variable> <variable id="86jV1Y#Q]F79bKNQL0^M">LockAction</variable> <variable id="tb|U2N7:pjz6%bK|V=}J">Trigger</variable> <variable id="}c1M!2HmR!`}X3bQT(JD">Auth-ID</variable> </variables> <block type="on" id="-1K?vZOkc8l1_Vl(egj~" x="-313" y="588"> <field name="OID">mqtt.0.nuki.3E25B3FC.lockActionEvent</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="debug" id="kS:(oSWYI:e_Jn)Kb/Ak"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="#j-R|ROZF1M?[X{,7#;m"> <field name="TEXT">test</field> </shadow> <block type="on_source" id="UWZ]8W=2g8HC.2G[:L8O"> <field name="ATTR">state.val</field> </block> </value> <next> <block type="variables_set" id="#cQ%Qldc.z$fKU?Fi+}e"> <field name="VAR" id="2.$BAa5Ln2p~uf@U,I$R">Alles hex</field> <value name="VALUE"> <block type="text_getSubstring" id="-PpRKy=yLhV1.~K/cm04"> <mutation at1="false" at2="false"></mutation> <field name="WHERE1">FIRST</field> <field name="WHERE2">LAST</field> <value name="STRING"> <block type="convert_tostring" id="W57cgC*S~]HY?-y,q/$1"> <value name="VALUE"> <block type="procedures_callcustomreturn" id="NB(slM4rkd2YF1[`gw;7"> <mutation name="2hex"> <arg name="text"></arg> </mutation> <value name="ARG0"> <block type="on_source" id="9bDOSoylx@g-y,C7IFWA"> <field name="ATTR">state.val</field> </block> </value> </block> </value> </block> </value> </block> </value> <next> <block type="debug" id="6)ta]u.L|vPN?E;s-Xj2"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="An,MNLYDX2//M$![?UoZ"> <field name="TEXT">HomeKit</field> </shadow> <block type="variables_get" id="wIVeA0M)TNbl2wS,GH8l"> <field name="VAR" id="2.$BAa5Ln2p~uf@U,I$R">Alles hex</field> </block> </value> <next> <block type="variables_set" id="Smp+69B]GsA/eF^L]6.["> <field name="VAR" id="86jV1Y#Q]F79bKNQL0^M">LockAction</field> <value name="VALUE"> <block type="convert_tonumber" id="C|N2X);3!m1CkAaL]gW7"> <value name="VALUE"> <block type="text_getSubstring" id="l~-;{HEj66KPy+tcM*B?"> <mutation at1="true" at2="true"></mutation> <field name="WHERE1">FROM_START</field> <field name="WHERE2">FROM_START</field> <value name="STRING"> <block type="convert_tostring" id="zi}%W=uAY|tYv_V)=Af="> <value name="VALUE"> <block type="procedures_callcustomreturn" id="*PJt?:Lj1.^+d=-K|3oD"> <mutation name="2hex"> <arg name="text"></arg> </mutation> <value name="ARG0"> <block type="on_source" id="j[wM~^!Kf.ZiI=TzHINb"> <field name="ATTR">state.val</field> </block> </value> </block> </value> </block> </value> <value name="AT1"> <block type="math_number" id="cc^W4c?.Ee9d5zGN-TY)"> <field name="NUM">1</field> </block> </value> <value name="AT2"> <block type="math_number" id="@9HjzFZbTG+X-8Aab)fo"> <field name="NUM">2</field> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="!KWmTX%umuEYEdK.|~*;"> <field name="VAR" id="tb|U2N7:pjz6%bK|V=}J">Trigger</field> <value name="VALUE"> <block type="convert_tonumber" id="rFCh?(uwgEoP2q[8K:Wq"> <value name="VALUE"> <block type="text_getSubstring" id="Dp_ygo1MXERrkY:hk%]_"> <mutation at1="true" at2="true"></mutation> <field name="WHERE1">FROM_START</field> <field name="WHERE2">FROM_START</field> <value name="STRING"> <block type="convert_tostring" id="gsCmBrW96Yzl_EE61TAl"> <value name="VALUE"> <block type="procedures_callcustomreturn" id="=+j/E0%R]w?13DjRSG%T"> <mutation name="2hex"> <arg name="text"></arg> </mutation> <value name="ARG0"> <block type="on_source" id="`jR~tv/nDS?P({387U?p"> <field name="ATTR">state.val</field> </block> </value> </block> </value> </block> </value> <value name="AT1"> <block type="math_number" id="A/gnxb3AitN^X{z8T4dJ"> <field name="NUM">3</field> </block> </value> <value name="AT2"> <block type="math_number" id="|)cE;`e6:%mzVl;Dg3s3"> <field name="NUM">4</field> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="XI.[}~^TQjm}x!*y[~/X"> <field name="VAR" id="}c1M!2HmR!`}X3bQT(JD">Auth-ID</field> <value name="VALUE"> <block type="text_getSubstring" id="]vsT=clHgyS0DE,~VCz8"> <mutation at1="true" at2="false"></mutation> <field name="WHERE1">FROM_START</field> <field name="WHERE2">LAST</field> <value name="STRING"> <block type="convert_tostring" id="m?Zo-+?IK`;]Jvap`NBg"> <value name="VALUE"> <block type="procedures_callcustomreturn" id="m;$U*`+}H/dZ:FeJdI.|"> <mutation name="2hex"> <arg name="text"></arg> </mutation> <value name="ARG0"> <block type="on_source" id="]0?Q|Il.^_n{Ua2ys7_3"> <field name="ATTR">state.val</field> </block> </value> </block> </value> </block> </value> <value name="AT1"> <block type="math_number" id="dK^AO-Q7w=lF,v#uePpi"> <field name="NUM">5</field> </block> </value> </block> </value> <next> <block type="controls_if" id="[cu+59?ODiLA2lb{6Abi"> <mutation elseif="2"></mutation> <value name="IF0"> <block type="logic_compare" id="`TG=,[J/Izpx}4q_*Qmm"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="|KI=smC8|t1G62R8uk~U"> <field name="VAR" id="86jV1Y#Q]F79bKNQL0^M">LockAction</field> </block> </value> <value name="B"> <block type="math_number" id="Yx01[14$Sfxc-Rg@[7J9"> <field name="NUM">1</field> </block> </value> </block> </value> <statement name="DO0"> <block type="debug" id="pHJ-ZU4LLXy=B7Pg*Grl"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="F[qG)*4U$Q(2N+g%q}${"> <field name="TEXT">smartlock unlock</field> </shadow> </value> </block> </statement> <value name="IF1"> <block type="logic_compare" id="t7n^V9fbh00gBL)GeFZ8"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="G(9+69{ED=u@Lpzjz!D]"> <field name="VAR" id="86jV1Y#Q]F79bKNQL0^M">LockAction</field> </block> </value> <value name="B"> <block type="math_number" id="IH-RkkuO;X7_?%h}!Zw*"> <field name="NUM">2</field> </block> </value> </block> </value> <statement name="DO1"> <block type="debug" id="H!7Be%$t2te$6k[_EWbU"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="S[-1Pm!G0VO=l-c{F3bv"> <field name="TEXT">smartlock lock</field> </shadow> </value> </block> </statement> <value name="IF2"> <block type="logic_compare" id="1a9inX0av.IjvV);-0o#"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="~lYK$*-{5h4Ko:;0J!dr"> <field name="VAR" id="86jV1Y#Q]F79bKNQL0^M">LockAction</field> </block> </value> <value name="B"> <block type="math_number" id="CdZDizjb+k~@_|3)6`n2"> <field name="NUM">3</field> </block> </value> </block> </value> <statement name="DO2"> <block type="debug" id=";4]9wn7uLAZi**Rt0.e8"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="Beu!s7t9ws[R4-7M{t:9"> <field name="TEXT">smartlock unlatch</field> </shadow> </value> </block> </statement> <next> <block type="controls_if" id="+0MSAI^;g+v5N7.91]U4"> <mutation elseif="5"></mutation> <value name="IF0"> <block type="logic_compare" id="m^2s-kU6}.8di1XjyByP"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="UW}{DMSBfYZ7t6`#Y=l-"> <field name="VAR" id="tb|U2N7:pjz6%bK|V=}J">Trigger</field> </block> </value> <value name="B"> <block type="math_number" id="~6sicGLRf#^{p1F;|)bC"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="debug" id="nVl]4iz]q9%16}250c(6"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id=";)-p?w$.|DD4^XhMRB6X"> <field name="TEXT">System or Bluetooth</field> </shadow> </value> </block> </statement> <value name="IF1"> <block type="logic_compare" id="`;{7_hJXiN5T(`y?J~Z3"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="e{}KGk@{47LC%WH!KHB:"> <field name="VAR" id="tb|U2N7:pjz6%bK|V=}J">Trigger</field> </block> </value> <value name="B"> <block type="math_number" id="mFWE.!iPT)tUL1L4JUet"> <field name="NUM">2</field> </block> </value> </block> </value> <statement name="DO1"> <block type="debug" id=",P}9[nr(};{Rs+KpK:vo"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="Qaz^QONPUf{_2RHgk^=7"> <field name="TEXT">Button</field> </shadow> </value> </block> </statement> <value name="IF2"> <block type="logic_compare" id="fs0n.tGSn)7vH]#qJ!rs"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="Fl8{_YGWE@(r$G_0B6O!"> <field name="VAR" id="tb|U2N7:pjz6%bK|V=}J">Trigger</field> </block> </value> <value name="B"> <block type="math_number" id="jum;[*Q6I;X6knN7eood"> <field name="NUM">3</field> </block> </value> </block> </value> <statement name="DO2"> <block type="debug" id="oVI{ky3B|9}[6NEeA?)}"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="zLwt%dqaMTmiM[EIW]Su"> <field name="TEXT">Automatik</field> </shadow> </value> </block> </statement> <value name="IF3"> <block type="logic_compare" id="*ANMfFU}IZaupU][!;Ox"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="mntFPFL%C!l^bLirxQh9"> <field name="VAR" id="tb|U2N7:pjz6%bK|V=}J">Trigger</field> </block> </value> <value name="B"> <block type="math_number" id="4[dk`|=a;M.0ii+shlPH"> <field name="NUM">6</field> </block> </value> </block> </value> <statement name="DO3"> <block type="debug" id="Ejr3j/b_X0Pq,~NC%oFN"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="CLdZH/-pR$ESY+mC7g,/"> <field name="TEXT">Auto Lock</field> </shadow> </value> </block> </statement> <value name="IF4"> <block type="logic_compare" id="g3Qs?l)t#acbqeg!dJ_}"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="ecy~t^-NH:]%Qc/r]^oY"> <field name="VAR" id="tb|U2N7:pjz6%bK|V=}J">Trigger</field> </block> </value> <value name="B"> <block type="math_number" id="ai)7x1{|d{Q0Wf6ayhpC"> <field name="NUM">171</field> </block> </value> </block> </value> <statement name="DO4"> <block type="debug" id="4;)6?KYlz/ism~VPtK_r"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="uWfCy6[hCS`*McGe`jBC"> <field name="TEXT">HomeKit</field> </shadow> </value> </block> </statement> <value name="IF5"> <block type="logic_compare" id=",A^Z=?]?Ui|BK3SmBMKK"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="M$bGUaM45`i!uTLe[0jP"> <field name="VAR" id="tb|U2N7:pjz6%bK|V=}J">Trigger</field> </block> </value> <value name="B"> <block type="math_number" id="Jy#t$o8x5P(k3~-%,~Y7"> <field name="NUM">172</field> </block> </value> </block> </value> <statement name="DO5"> <block type="debug" id="xKaX~vO:wc34~,|CJw4L"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="0Tc@66h0?M*+{K})n%h/"> <field name="TEXT">MQTT</field> </shadow> </value> </block> </statement> <next> <block type="debug" id="z4qlYJnW2J:KDj.ICFmV"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="An,MNLYDX2//M$![?UoZ"> <field name="TEXT">HomeKit</field> </shadow> <block type="variables_get" id="3FdM#:Y*SirGpq5-@tT`"> <field name="VAR" id="}c1M!2HmR!`}X3bQT(JD">Auth-ID</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> <block type="procedures_defcustomreturn" id="$S)[j*JxCEt~nQv7TKkL" x="-12" y="687"> <mutation statements="false"> <arg name="text" varid="J2Y{`FV]/q4e/hXk/Gg}"></arg> </mutation> <field name="NAME">2hex</field> <field name="SCRIPT">ZW5jb2RlZCA9IEJ1ZmZlci5mcm9tKHRleHQpLnRvU3RyaW5nKCdoZXgnKTsNCnJldHVybiBlbmNvZGVkOw==</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="math_number" id="iDO!}O}n?EqrRDv5rgGu" x="504" y="976"> <field name="NUM">12</field> </block> </xml>
Button und Bluetooth werden erkannt, MQTT nicht. Evtl weil der Wert bei MQTT drei Zeichen lang ist.
Wenn ich alles auswerte bekomme ich einen zwölf stelligen Hexadezimalwert von dem ich nicht weiß wie ich ihn sinnvoll zerlegen kann.
Edit: Ok der Dezimalwert kann auch länger werden. Da muss man wohl vor dem Zerlegen die Länge prüfen und dann definfieren welche Bytes gemeinsam ausgewertet werden.