NEWS
3 Fragen zu Nuki 3.0 Pro mit MQTT.
-
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.
-
@Dr-Bakterius Hast du hier noch nen heißen Tipp zum Decodieren?
-
@rushmed sagte in 3 Fragen zu Nuki 3.0 Pro mit MQTT.:
@Dr-Bakterius Hast du hier noch nen heißen Tipp zum Decodieren?
Nein, damit habe ich mich noch nicht beschäftigt.
-
@dr-bakterius Danke trotzdem für dein Blockly. Mit dessen Hilfe hab' ich mir jetzt die die Hex Werte aller relevanten Geräte, Bedingungen und Nutzer (das war ne Affenarbeit) ausgelesen und mit nem Blockly übersetzt.
Das funzt bisher gut. -
@rushmed Kannst du gerne hier teilen. Vielleicht spart sich jemand in Zukunft die "Affenarbeit" dadurch.
-
Hi zusammen. Ich habe zwar seit gestern ein Nuki 4 pro aber das gab es hier in diesem threat auch schon .
Ich bin zu blöd mein Nuki via MQTT mit dem iobroker zu verbinden.
Ich habe theoretisch seit anbeginn den Sonoff Adapter mit MAT auf Port 1883 laufen. Dort kann ich den Nuki einbinden bekomme allerdings nur den Status Alive.
Jetzt habe ich zum Test zusätzlich den MQTT Adapter installiert auf Port 1884 . Dorthin verbindet sich der Nuki aber nicht weil ich wahrscheinlich keinen sepraten Port mit angeben kann. Ich gebe zwar als Host xxx.xxx.xxx.x:1884 aber das lehnt Nuki ab. Welche möglichkeiten habe ich noch bzw was mache ich falsch ?