From b3f2cddec1af76a60deb22d67394085a33e034ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Markus=20K=C3=B6bele?= Date: Sun, 5 Nov 2023 16:35:12 +0100 Subject: [PATCH] initial findings --- README.md | 117 ++++++++++++++++++++++++++ btsnooz_hci.log | Bin 0 -> 159963 bytes btsnooz_hci.log.last | Bin 0 -> 158414 bytes openScale_2023-11-05_15-14.txt | 146 +++++++++++++++++++++++++++++++++ 4 files changed, 263 insertions(+) create mode 100644 README.md create mode 100644 btsnooz_hci.log create mode 100644 btsnooz_hci.log.last create mode 100644 openScale_2023-11-05_15-14.txt diff --git a/README.md b/README.md new file mode 100644 index 0000000..2a51137 --- /dev/null +++ b/README.md @@ -0,0 +1,117 @@ + + +# Measurments for Logs + +* 15:03 Pairing +* 15:03 88,6 Kg +* 15:04 Firmware Update +* 15:06 Update done +* 15:07 Avatar selected +* 15:08 88,6kg 0,0kg change 104bpm 30,3% +* 15:09 92,3kg 108 bpm (not connected) +* 15:11 20,65kg not connected 102bpm + +## Findings + +Timestamps seem to be off by a few minutes in logs, investigate further + + +## Data received from scale through advertisements + +Wireshark filter: `bthci_evt.bd_addr == 70:87:9e:38:52:27` + +There are lots of packages sent as bluetooth advertisement. + +> Theory: Some of those packages already contain weight measurements. This explains, why the Zepp App could show +measurements so fast. + +The advertisement packages are mostly 54 and 60 bytes in length. Both those packages seem to be sent right after each other. + +Example 54 byte message: + +```text +0000 04 3e 33 0d 01 1b 00 00 27 52 38 9e 87 70 01 00 .>3.....'R8..p.. +0010 ff 7f b9 00 00 00 00 00 00 00 00 00 19 0e 09 41 ...............A +0020 6d 61 7a 66 69 74 20 53 63 61 6c 65 09 ff 57 01 mazfit Scale..W. +0030 70 87 9e 38 52 27 p..8R' +``` + +Example 60 byte message: + +```text +0000 04 3e 39 0d 01 13 00 00 27 52 38 9e 87 70 01 00 .>9.....'R8..p.. +0010 ff 7f b9 00 00 00 00 00 00 00 00 00 1f 02 01 06 ................ +0020 03 02 e0 fe 17 16 e0 fe ba 00 e7 67 8b e3 cc 2e ...........g.... +0030 45 4a 65 2a 00 00 43 5d cb a5 01 00 EJe*..C].... +``` + +### Decoding the 54 byte message + +Packet: 1332 + +| byte(s) | Meaning | +| --- | --- | +| 04 | HCI Packet Type: HCI Event | +| 3e | Event Code: LE Meta | +| 33 | Total lenght: 51 | +| 0d | Sub Event: LE Extended Advertising Report | +| 01 | Num Reports: 1 | +| 1b 00 | Connectable, Scannable, Scan Response, Legacy, Data Status: Complete | +| 00 | Peer Address Type: Public Device Address | +| 27 52 38 9e 87 70 | BD_ADDR: 70:87:9e:38:52:27 (Bluetooth adress of device) | +| 01 | Primary PHY: LE 1M (?) | +| 00 | Secondary PHY: No packets on secondary advertising channel | +| ff | Advertising SID: not available | +| 7f | TX Power: 127dBm (not available) | +| b9 | RSSI: -71 dBm | +| 00 00 | Periodic Advertising Interval: None | +| 00 | Direct Address Type: Public Device Address | +| 00 00 00 00 00 00 | Direct BD_ADDR: 00:00:00:00:00:00 | +| 19 | Data length: 25 | +| 0e 09 41 6d 61 7a 66 69 74 20 53 63 61 6c 65 | Device Name: Amazfit Scale | +| 09 | Length: 9 | +| ff | Type: Manufacturer Specific | +| 57 01 | Company ID: Anhui Huami Information Technology Co., Ltd. | +| **70 87 9e 38 52 27** | **Data** | + +The first 45 bytes seem to be meta information, only the last 9 bytes contain relevant data. + +> Idea: Use first 45 bytes to identify device and message type, interpret message correctly. + + +### Decoding the 60 byte message + +| byte(s) | Meaning | +| --- | --- | +| 04 | HCI Packet Type: HCI Event | +| 3e | Event Code: LE Meta | +| 38 | Total lenght: 57 | +| 0d | Sub Event: LE Extended Advertising Report | +| 01 | Num Reports: 1 | +| 13 00 | Connectable, Scannable, Legacy, Data Status: Complete | +| 00 | Peer Address Type: Public Device Address | +| 27 52 38 9e 87 70 | BD_ADDR: 70:87:9e:38:52:27 (Bluetooth adress of device) | +| 01 | Primary PHY: LE 1M (?) | +| 00 | Secondary PHY: No packets on secondary advertising channel | +| ff | Advertising SID: not available | +| 7f | TX Power: 127dBm (not available) | +| b9 | RSSI: -71 dBm | +| 00 00 | Periodic Advertising Interval: None | +| 00 | Direct Address Type: Public Device Address | +| 00 00 00 00 00 00 | Direct BD_ADDR: 00:00:00:00:00:00 | +| 19 | Data length: 31 | +| 02 | Length: 2 | +| 01 | Type: Flags | +| 06 | Simultaneous LE and BR/EDR to Same Device Capable (Host): false
Simultaneous LE and BR/EDR to Same Device Capable (Controller): false, BR/EDR Not Supported: true (0x1)
LE General Discoverable Mode: true
LE Limited Discoverable Mode: false | +| 03 02 e0 fe | 16-bit Service Class UUIDs (incomplete): Anhui Huami Information Technology Co., Ltd. | +| 17 | (Service Data) Length: 23 | +| 16 | Type: Serice Data - 16 bit UUID | +| eo fe | UUID 16: Anhui Huami Information Technology Co., Ltd. | +| ba 00 e7 67 8b e3 cc 2e 45 4a 65 2a 00 00 43 5d cb a5 01 00 | Service Data | + +Again the first block of bytes seem to be meta data and there are 20 bytes of "Service Data" which might contain interesting +information for our use case. + +> TODO: Take a look how these service data entries change over time + +> TODO: Compare with findings of https://github.com/custom-components/ble_monitor/issues/910 diff --git a/btsnooz_hci.log b/btsnooz_hci.log new file mode 100644 index 0000000000000000000000000000000000000000..322a552524966c8b6513bde18a583040f71f3693 GIT binary patch literal 159963 zcmd752YeLO_ddLvY)BylLT`ak1*9uT69fcAK~b6_3P@)|=qMo4LWj@*@#>&m>s#6LRDTrARMNuFn%;j!ZXA~UaW@ju>sb@RF6T$#7UGvd;H_0gkF zXJXW-dtoibH|V1f(Wsda;Y<{_6(Szb>vYCO-S>RN3<*MadDem5`Osp@4_>q z{>u65y$1h`yI+)~brJt?FY(6xKg6y3k&Y-5p#CVD?%B;5o+zGHpm%o>=;`+Tk(yA2 zh@=h9qW(nm`&)>h+a7FQwIZlBap@>CpoY_x%fpy>x*;x|1qLs5#l_Km`o{fxGw%J+ z;KhlV5+o@@>kBDDj6%xrMwwEaVcv%6F)t2D%7{}!ig-pLWt1yZN?2H1FGL|lVU#h| zoe>_F#?gIo=@d$#5XkPi?W&jQE`@~gk2=E=>5GCpo=YcT;>WJINOAkNLo}lJ_N3*` zoQZVH<2b+d|+cC3|xactj8D^h!wxgh-n~K~s_X&|c+Idoh;=A)+at`?g?kKhx0k;zPNP4-W%$QixIc46*^e{wO{F`!h0Y5=xl%2 zDKfucti;+~U0nC+JGo+nR0T8Aw+ipl_vyB9vA9GOXLg;t_d6RVMmb4=jNBQy>0cEh zKK68M4HN0Er&E(UwoiU{R!$7-D1<7${P{i6er11O{^B2J&Zsc)J=K>Fed&m z%vW2SO=3McNzw2(v&DCt_zQ_|w>q2o4Tw~2; z_)lk?rDMZm!#b!nKJlgac4^PI6-C6Umd=8)VV*4GldWUZIj8t?LC=>JtUjO9KdXOz z%p$8VHTGYT{QlMd^NQpKnOD?FI?Mm}z4N))Kb_9#@Nh?NXT%r}>FAOF!w>pwX_$xN z&v|@yhoEEyz0~D$=865cX_wvu`}gXX+&%H(#2U^14*`p&6rf{f2%_cjfJRF%&3?pV z>73D7asOZ1T>(0GZUNeBX^f7gG{7jBDD=gWZ)t(oMHfxCPY-X}zU5y7Pt#+*`hyv^ zv|ySuA~9R`FbE_nE3yzC{uvm`i%hX^|b=@ z#hOackpw#S{|L4M^wkZ9ps(#xf{ylpj{84>tpI&}Duc!jE3M-pXW7`W&O|K*x6-;$ zN8zFe#BFp_TGx6?jk9NJocsSkXVf??c^+%50Nrn&5_Ap?bn*W=Yz63{!;C;L53j5Q zoihvQ>hb@}UK2qtkFR0~y6~S$(D54R{PDup|4Y~k&?WC0f-b#N2|AAkI$!+%8nyy- zrCWxet5o>^Bj`sTHUwS2>Hi-=H!W=l`rY@Hpz}%esPaGLwSpeobUl+8jERfuo)vkH zI*Y}+98qHYs7UiGih0V#VxBaQ<;RM|hn$6D{Zu_G%3K!qD(v~LqUo~tokgi>m%pYP zc;;1$`fK{JzM^TN3TnNg`894D6aC8C>PRjS9uY6fh`9LN@!nYe-#H6GuWa_S5x-Wx zJYLDKLIAo_{QnBJ0(6ge7&I0UD|;@X35+nYI-raf|9zpKkP2)#`MsLguBD)ore;{sSIaO=maTy}GH8l}3+w zKRLpjg`@AcaKyNBM{S-$|5hdQVhL+{m37sxn8TUJ;kOg_H87u`$9ymVsv{Ozh=IES-{UJNTG*$ z86?_XCZ6?t@_5>gjTLQ2)+ipC*z1UB94)&3ff{JhG_Mf))4-y&>9)8S(}oK!SN)p8 zqK@_(ZXB)9KP#r9MeYxAG;%pdckW-|=#35S2Z}%2IX%V|4Wg18TRnzKvSs`ziNH2K zw+Vrzi8ei-K)~wJQ{rMxw@!Y~Rll~dzT<)CYAu=Q(ez`lH2Sl6m@^_g?9{yi`A^;3 zIqqW5saso>%(bLPOb_qsjhL53Pi&of4L!liTJppPd1j%)t2BIp6h=?%82d4Lf~oGu z6Ug-)DV=>>XWFJ|z{FqBeLEIB8jLn*>Rs=*M^m#l2Bt>K?9SZ?EwfV7$h2j4=c|C0 zVV4Pk$iv-#uF2$~bA7L|zO5c<2fbkGz-b{+fsg@3J6uOQjs2hZmy%iax?o zCi7x$?`bpMRllSsvvhf`&ieiLgv^EFSC!{TE1edYegRsSK; zo9I##%PbTZ-LP+$;XQf}PHf$^OH%jf`|X|mCoZY=+yf*9tA-=x(*sluN4oUp9^1Fz z$7RQnSN1yN6C*RRP#ah@9O=+cIbx%Fjnf}k{|HXGQFShfMVJBTVT@I2=x6rj;@1W|!(?jSYleugn zGBG~B-nALygQGoAd|>YSHnk?^E*9t~cVRyLb_PYgT$U{-yLdka`4kOztobrD9Ah$J zILt~vw9kiGiDl}u5-Rt@^J`JLG@oup6%s1{QvvYuKaiXVgjDh2}6TPoE^Cx=um0-x7=$GyZ zx%`QQ0aMM10e?Dk8>gBRuWb{VBDWBrNHr%$_6m?{PK-OtsRp@n;@z9b6|Tw+0s)th zPQIP&s!tOYVGbIn`aWo~lS{`+yoJGp$d$7BgKl2s^tdgkN+4m-V+_Nn+rl{hFo zoi@+u+YJzPN}%*T;~lArjd-WiJ_-vXzl76pI_$Q123>o4#YWLg!$ff#iFJBqR>$}n z5l?$ZhNoB0Ascub3HLOTi|z=kdOsc@Yu}@1veQ#8u@&RKsKZrQw$Qd7pUMg>TiZEH zCT0usY`!4@xJ%{qhqM_W8$IOhgv3OXxWeel1iO8tGf!e%810P^4)ul;{RIhidgpUU zDDFlK2&J&`t_M9_$dgD-`ND_8{>-!MU9nMwGODv9yP%72?o9Vc`?jt;5j6SbQAJeu z!ock5v*DG=(*+%Q$-wb6R}n#XJ)3Q^`r&NEQ|yPlnSMas&vyR6bUJCvPhBJJ;t4 z)~{5ieu(LOuJ?49#2&eeBR2golgR*u`%@Hf-$IQD?a^k|PX;js2Q3J!@k^Uu^7BR%4;rE3g> z^zvhI)L3ChMUSy5p@{@dqan#Bmm3WU3(J+?Q6bI|meWzTf^dhzCzqSP!l3ey1^j^O z_@53GTHx~V_BspX@neC@qxNxQBE5*{L%LmlYmISZ@BgZ6EU&-DcCF3Ym>7r{) zVeV_4*xdQ@ISPvDbcMP9O!1hT23jr(kjPw{)aL%D5rZm37Ept_k|Rt9N_4JSQ|FcP zBqlKj_01yS3Ofo5Kp1dWD%IuIiuiA>S*orzG{Keb<8>xTa1<`4G{Kdg$Gs*?VcV|NyEV?`ZB)s0=vGtscItJSOM8Y}9rv8#`? zl!QWx3NJBxUrJtGj(HAdgvOfO=0#xNkSC1j(< z3OgE#@XuG;kzY&+C>|@`j{>qVO_VwEm-7XrNMBjqa;-#TdQ8-3l(nKA1xtv0gNC|R zrYvKBkPM~9eyyFJ-dHPK8{CVq`)Y+sj+n~o)`m6U)~fn%ZI)YSDRj%VcX#UCQq@nE zxVD8b`LaY=M_EFoAl$Vt+UeRt!d<%*MQ!=AL|K2abnWV9ZmhgRuu{?3@6q~_3mf~r zhHK;QI)`_7*TyNf1Fns` z>wHteH!AQ%m2cp#gY)gf&W4%i38GF3$Y5u8o$tRkm>qD}Irf|Jw2iyY@$YzO17jn1 zowKpVVCP|UDhcaoIu4%hqF}~yO^-mvN7}aPx&oQOz$`JN?LG>2dGAJ=X>iDl z_AiDZGkDDfn1N(%Kj~G3#OejI7Ygj)q8%2pj=?0Nj>)A_Acv-PgfG9-5(To+tPAYC zl~#jgm4o5jE5-UC=eU=##JL_1-$!sPE0DIBOM2A45g?aj^KHxV?d(=gj%Qt5I0eRME$+Q7l6ZO^f7P+QK! zl-sRq+jIO#)Rtu$YKtkMSIm5*p!t-5D))N$gOID-tL9nTDk~74KN@<3zqUh!CMk#r zdoS6K2sdkiYKu0#ms8%7O9GZ@NE<}hrv=qyau~C;EC`)cw4BW--9*FhC(-oj*4;Kj zBzB*HBaqmuGz`{rYoGg+Wn`6iY65Mk>~@w%m06}mr?~f&2|dES8$*aN>4P^AA%}?x z8=|9=w$o~l+{2r%lEmCV*7FY6JjtKAG5pl;i z;^vyV?_}DD;aM#V^UMo~2^4YZyFNq4u}q6Gk=)^RM7YfdQ0#!@9@uQ6O72J-Q{+@?5}|Kyhy9$K z@+tY5mX#w26%r+R^4mVgI>js>I-%doZBfM!t*BUr9u^nVvtQ@_o(*Gk&Y(zxPuBl@ zOzeS8(`06D81sBV0f?5KAyaaNV#4NP{3$L5)W6#S9D_0-KVwkDHXz}Akk}M5kI}oou1+GI) zr-fmEjzUd2+%PR1=q#ly43J?rZlR_u(@<0N#qgO_p~*>xrP)F_e9jWv2r-0*-=J}o zJSJGIrB>@9{JQfBs?1cerSj`8I?Z5{e(03fKc-1~*(qF<+C%tRNkqspEz)M>U^>Mn zBiyAq#TLSmuNFdtEYl*wH!9=~Il?z8whke}QS-?ovJEqWv*DzY zzcAg8xvNO`=7$Zw%`>d>SjRJ-qbK2pM^D^i!>@^>Cw}ZUHpfFAyLpbD;5x&&behzb z&y1}g6MH`f>kMdsl>Lgu%auM+jzImLZ$Ag^XrT}7+;OLTTrey=QGa9w!z|^Sn@&0h z67D+(;*;WS)+6OuDKd`XnG|=*ncDP>bS6dYSQZz1B;_K#a@BLB#Pe@r2b#DzW>bDW zDUOtc(`23?xOSuj`J8gCyvHwj66rY~pSh*+$w$R8kZ_0JV<7JF{ofTEy~GZ4`XtaL zD8$yAkXVdqSxLth(;^>C(gLZTSDKas8 zek_UB2>hN;Ac_>Hr?M(Jar6(QWT3Mk?ujX{vXXw!g19GDt*uiMqh-?T12I~bXM#6; zO#_@OaZftFjgSXASK^*@`XNT{J6D2r|KzZ~SoiaKp`W^6kVahW#>uXtc>X<2(@^{c zxiNX_mpZfgxWP=EQhzn68sJEYdrIR+G)?^Sw`>g zjEZ~e>Ka+m3!9>;rnT&(LtluV$;#*H(N(E2-@a3SXH?wNbNb&RlQ@A%NBePP&F6pe`=Rl4-HT$8gRuIg> zOqlvuIth~w+#sgZM)P#;69+P~5-_##vas-g2Xfr0O{*~|zXx*MsU3#sT2okH=o*~` z{2a(}r;aGcjrl#0<4%23ubQHaN;DH?Xj0ZpE*8CpGanER~ z&t+(W8N24{OyKW8j(bMN3tkf#9>{UeIQR;K@_Qi1Ju`PJoeA=R31&X`IDyJM-SM-( z(;e=a&y)LTAPeEYNxI-f5&^=GcV=j#{3=c zanEw<^B^`htMCF{WB!i!xM!7I&W-sy-s7HCYnGvAv)ZiHHRkWYjeAx{aXwUc21a-V z`<_`{4rAYwMvr%`=)~SjKZ`O=ANmU;^{hao3&zh$T zEOE3*o$zLD^Bnca?94FQXMLGWjRiXGYD9(hp_vqE`O(e+_R(db8CK2`?zP9$z|x4*^Tr`!_R3S_v|K}neF~g z`?zPnv{BazkbI`9M&Uvq z49z*^#~L;^XY>(WV|1KP9I(RqggMiqyz>cpJugc7R5T_&IG-@*&9ywAfYzK_c>-E< ztydWR8OWMg=FhD~y94QXd${LSG#+4>9p}}diDJ1jPt#iUlO1s!^Hv|<=>*+4hF4Nd zjAPIuZzYdKi##yj7)q#3=yN&t6Y(xS5=)O&SQqF&ttk*H4F3P8qax5gtKb% zF4WKbJg^TA^J3M7o#KFJxMy!7#>wi&Z{l(kukkCE^lAlMt6trNHjvB9qAb&JIZA=> zIGv%97tC0iJ%lG74kaLvrSh>(}74Q+_5T3d7wvdTQk(J5;yZbg;%YPrIe zQ`T0Y-BdDdSf-)Mh;ZG4#X%xe$XrZ2@MS9Q3r_2GOM9c%EYnbHbo9FG%hA#1(+Bo> z>#N&GkMELGOUtOYmzif~^eE0JW zh>&GkM7XinD)cf-v&F-W?%}o(Vxrmj!(YK98XWFy3M+xb9ZocUhC7(BHo55iq;iqI zNDB~432ReKQpnw~DV7EiaxcfOwMdjrY4s2xhpsK6Y+C&YB4n8s5pHg**bK?(&lbYX zP2WX?EYm8&>s8T)TzA+*cyk>hWSNEtG1%UFd@=^xGL6&LM`rJ>RGjZ%c(zo2Zyi+% zGO<~vp~~3LZAof@PT?@Ig>Xyq6hvsU)Ix+?i_?2eLtG4QEveWHX&>Py(V<89!EYl(nw=JQ08rjRtYFh}mE&B}-vP?sS*x`Nn7;PJtJG`Y@ zaxm!duoM39);a8iS(cwp7-QqZyS}{>x(bVVY|CmN-d7xdW|@XoLxekCx`TdYme@kL zi%e2VF{aZgpgnZ`Agc%Xx{%y+;Aa(TtzB*@QAPG^d!5iIo1lLtQi@%QQ42_D`P=ZHoQV zA`PLX{^<(`y=z4#O^{=SFT#n4GHF<*p|(hxFB&U0?*&uveQ_Wcs_bU~7b9LJ_+{mQ zdx*aHn7U+Hyi41zw`^ggYW|clv?;TV+!za>Vs5H9e(5>Q# z@FPu{J%nOFDzlbl8Y09%J#?Q=%*rD(^P724<-<#Qg!NpLpQf`bo}>d#vsG_=%g}eMwV&lXso`zFaHKsUtFBpslLA7x;99qF)x1q zOWu$>=lfHUh?8U5Ruq1JR?$VXOhe~jL2|4R4K(F~giB+Cp&`c0u|b6}UedIJ#QJLV zu^Gf1xvOGTZJF=btml#2EYr|@NSYs>rK2DrM)*S;8q9^PBlvN3V?@XUO+3c&q$kKws)M2 zA{TpNIdnzc$r#0Q7%wx~ioTQCKSMLJOhYrGqffQEkB(+(CJ-uQw*Cuca*j126DQJ7 zb)o5MnLI4hP-`U5sdKb{RL(iU%vha{q|H?!?g&oDC>HEYb_6)Je7Z6nPnD;Zc}m#y z)bi;nzv9$#nwA;FUyu=}(+8k=Hfmq8#fZ~;oyZ85X~+mfcxL<;AxC&-a-$F;JX>cA zB1{j?hG*+5j?l17i#9xaNpZ-BrP=cG*~_!hhAh(}!gH!qi7d?)!gKRzyeVfUmT3{; z`R7-lmpSNdAw2(LRYb@#4H04@Ip33d3^|c3(s*b(k(}>C+ppv`DxOXd0x@x)KlmUf z?qGWT3vr6|AGVDxdtZnzW!v8MNNsWPO!UQpiVA+KFpuYB3*p6~zav7E#UeW8;=vB+ zlx04E0pB}=D*sycZ(k7Py11#>bLYf5A5*M&e719aj}O`V%lVYTjpDL99lPh#k1Ivr zFH0|w=zZ%8@g5t6%nFNqGQID-7BYi$^ski^a}X@kFt8K|5C4k@Gc+^Wa`dm?D5iQ@ zrbUF8M(sm{JPNXf@Y1+JNJW-uh!B(0Z-rX#PUwr@rj$fYd3MQ!rZ`3S z+jI(Kd5Vq`o~0?e-`3M+UAce_CJ+Ah>Eo#IPR(#86vmqUw_`WZwJg)nwdj(|!)qZz z-W_HO;pNvSBSMyG5#g1Dn}{$yI2&F`q_SPEF6<-xp*bS7L~Hc&m7gC#ge=pd4X;ih zedU1^OS9$WtCQZcjSy4JwdU&_jtZjrC!hillLl3!1NYiNJCxjE|0da9@{^u>KQ{^EH7rsIuM%7=n zsqqlU{ai$ ze_)pT`zt!4As2hg1-m>S>sju4GsTWGF3fDHe7$8;RGDR3bjpn|+A1Xn2}`qu@J7V@ zp+vZ#EK0$;m)1nP;Hh3uH2yZr0Om^8vc;A-_bxSS_eY_SwnH=b>B_^DI z4p46^GlvnH@QXs`C*x6OkSXGy&yJz5S*Ar_|2u}x;mKMDxwZY@lw63AWm-gdi(Zxt z2>EP)3BO=vb*thNh>&F(BE&b--s=1czL}QC=kR7)G{k*0d98F=&hgM zMIBkDp^k{~zZq$WFhhxON|^o#MB|sfSmhMYp%?y}^A93qnHCY=e&)N7BfS0Gwh$t` z6Z za`4)ar}8u%xh06A__$?a(~J&#xjvmT3{8tG!}}lzO1&2O&Dz z)#*4onsbhIN4ridYFA4jA%=W=iq+nVQxhC6%Gw2kCXUi$s zE-7ZISf-)M=#D*F7!k5eL&jhtjQKAP6QTLJ>ujWpxWYU-(a+W- zWv}?Uv;EyL&(E#Gk9Q|!uUk<3cz64|-XF=1qpyie_w{<)>26GzBb#>@khtUf!EtS2 zCnIUVuw&e3#J`zYi!Kb$Gg>A{1Z%sy{% z$UT{TK6T`BmuAwFh%mOMVvxkrY;i5Nwj%afrXkmSKOw|EiEaK6`6S%w6pTS9#6COB z=LDzt5j};9|NVqc2r}Sf?n zM+mH!dGRQ;=+#qbo(%D<=aa=ezQy_{yVJ%7|BLlWMgO9yY}q^+nGziq-%Xd4FuXq^ zWQy5Bm@u*>B4n9{4#a$%aFM2U<^Fxvr(cL1A9Ndfie@T*x>Q5I2S!69>|_~=>!ZN;EYd<%-jx1w-pjbCJPDi ziF8*RYU?D7en~)Zio4>Y5HK!-A=IZw#HACEvf0@^5to#GE@J%W+pfY_vcGb@wDg5w6R1wD$ z;<4g%WyMsc|5(CQm?n}5Q{KFu1f;-JX2=r8RLU==vWYM1FvUY_Wj}w1T8ky~3Ja8S zRHG*pt(85ro?EM)*&2q*1GyVws4N#EJ)c0s8Vr>Os@KI(;XOPCp@Qyt;I)A|Q~2D& zWGMGwbuvXXk-+6}=Bn-qB;-Q5Dr+@ML*$Skf=*7?qEex7@c+sL}ME15JmcNT*dJTSsPQE zvSM03U1OM}Dy9#o#tJ(sdK?$!2ooJa5xTPax8k04VXj>H9TnmnVL2UTD+uKk{;jxg z1%t{%7Vrb==cja_&;peToYGk!j~@$EN(kr1M0!;RaHSe+jT>uKLDyJbe~q>MB5Px6 z%_=4Rq-zY#U1`cqHg~>!j)G#95zSp`da}pdRPwqg*dlXnQkuKctho%T5Lv(vsDlG^ zphPF0)wz|<{!O5APz@l0x3HtI0EG0ebm=v2t%%>&Du+L-YYk0MIbopA1PPA9#grzf zTq3vE1c{EqCH$M9a+#eBs)T<~kG`Y>g^a8GLbQ$qB|IeXJw@>7BPyrLFL$TLyd8_H zfTMu;cg*CKJ1@mdzFIu%`2^}aG5J;=oUQ{ee3#XKl{Ysg@G+E{T#g850Y_MQdPISK zn<#!V(HC_T6=)QV9nv?J4;woo@?|cnULzd2dq+{lmHCLkSaE-iRjEFL8!JhaqYw5` zRi4;@eU#0Dr^-ORPmlmrULUCgPKi(u00X$nm^%dATlhzb3Q?Uft1S3XXC@zyxV);e z^L1)1v%DfX>cXPRzIs_3Q|G2C-}cruhS{QO^AD-9!j6U_H{~ns$X|w3Q#{tWQc~U+PWZPe~=8N#$L5&RULLLimFaX zA?&`QsFEY5vbwctRk*dP{##qQUDq1ArD_KCy_#F9`bl9`KmC{*%S-}g9c2lTB2udU z^0KZiBwW=y%c(72#wqJBQmVNoaAV~if|ZKKs^z<9*jTlPgc*H}mG|3NT{kyYkqR1h zW33w+H}=jSy2dK{ZS4J_+*md5U<-3;wNH*1H+JEkt}%*7VIe_Dad~s5$fec({M|dy z&g+>F`;=~aJ~+^>cK=l#Xk!)oP&ry1_f)ZBa?2wJ6W7D}>R{qBHK~DJVU0c6u`A>x z7^o{mfpuP~9gINK_R&prj!51}%?J&K5(uvTuXNZ>o?lv)=`2UU`6U$Cu+C5vxYo2l z)V9%ZGM_DNeOzN!Hs1TZGn*^iMOD743TpgCX~e$VG?09Hwd0Y*h<%3d=M^h)#K8^F(xt z`AmQ+H{bgRs=OySm79Om6;)=LhAJb%Cwo#)Ak&7W*>cL0eclQo!l%R%q>PYVYzyI2 zxhNsGfm=c7Mhq$pLv#6SVEkto@w_KYHKpgki^e? z@Hdh;n6l%UKl6lM<-c#)RvDerYSn^}BW$&X_EO4WX3{B0!B#)rKngC8PXZ zlpUJN_7Lu-9f~pqS*AsVt=slRguDgZ7Q)u;2O~n3X%S(YO4$%$MsPN4Q}uB~$TAHP zBC*?4pO3^|p&_(R?6z-El`7MQ;hAs>QnBq=I$15tm*n=DkzBp_QB4n8sBlN}ToiVYm@wp@5 zvIwf&@t9)Dli}G)n;n1JW?N-M_|jtHe~2UWrL<#+&~^@axl`zg{qieewh>|u=@gS- zBZr_bI^`t#h1eIJ;t$x?6cbjbYIF`kPFRby0I`&?I(Jjd>!xe6Y{f?Bo{HD5?$Tsh zOb49@yo%|-{PrkxaF>Ly(7_DPmdafclhDB|(@}#Kz4p?3 z1mseRdkIUWRPUCR(I32d#+J6dTPXsHWg0RDvs~}D4q}!we`W|N*e5m;RSt4w)hE}3 z=wOp7D-eEA6A=bU!9E`N?edq?k^+pyjCDXBTb z=83OAka_9E{6GVz(m9+(^kNp$W8P0pbpA*0_Rcuv{W`LvZ`Uayw^QHlv{Y@Azu3d{ zO^d-EW{FQfhov4S*>M@Q<UUF{v#JT9I6Hs zLl7R`tu2}_$Q(0h2Bm$O zf-KX}d`Q8;ZPO4TJHwWP2S4vdge=n{!Xd7{nFw`d8h3Mq(0Z9RB$Cz`Wm%i!rYjYK{nZXsOGPG1z~;Dz@Uv$t#!w>D5EOqf;23J(Z6rmaEu|hAJa% zUYkVQG-YCEXa=-}@U`ht=oFS|5#g|#|7If8C9g$#gw~VSuzz0&xz@vODfX3{)EcQc zykNIrsEFBcc>9x>4bwC;TFQpQ7tvx+h)FYiX`v93W<+xu0EZaih!*P+AsD zcO$}Wnm=p>-iVXS5h2SoM2JTlM%*TSAIRa%<#0Bg-E8;jreYFdv4#+iHXw;#PpK0O zi7{KfK2tHJ$qL#s+Uv7vwN&opSf-)T5aGxt72R-#W;9y}N48YVUa?H82>&qs8=a=l z7>>N|L>rn!h_rd*4$)ZdhRu&5F!znhN0UZ!C77l;#ZvAY)%tymTUOPUgGasC%eMKD zf}^9)AVMw>Y#|&Sy9*JrOp6p8y~*BjGEHmi(LL!9?dg!C#!_@ERQ~EFs?0JCRYpQi9^VlW^0pxpghYgsCl*75EYl*w zDb0cnLqs^GWmQDTp>2o|JB2B!qmeeegkqgGQ~o}TPT~1sTTYpB^Af7eG7VKm+Du*V zn{(FX99EeSTAvh|x@ib%ovuZnEv=_+Q7ly0)_U5DzD%3>igz(04HDtBPE*k@EYqT2 zrXM_nHe`KG*bsd^{ZpT>by{;bZ9*mn;PfxHpw=wYqSmReeTiDLG+PK$-xwc4gfkwZ zl?AyY;Dlof;f$J!dY-kmXu}zQDYi5+5A7kmkq>RiGA$yU`BrVTAxpD`aOQ&6h|qRd zHS2Nenq@Criav~#Sz(QBX*Ez~o;t8ao7pp|u9KZ&JM`w9r}-wCHkJ@#(w=jfPTk2egAA5A*XTVgveqoq zkc#N&H``FcksZA#2uHs;Z+OU6e)H`UwpB)_%xzI20w zGRriKICRSV>`x-XAd8UsIgZ;#h)$Wm^wH2dW&SqBJO*>dmQ&{MdH_{snHHV$_Opr! zK$d0;;oGehv*j$)BEkh>cab(c;b05lf{1TJXu}1oLtoV_Sf|(~XwrsA?1j0g9|>i) zS@^;$=oE%$%P9*xQukyt!D6;ql#6zh%M}Qh*0vBX%F`baat5_uN(2tC5X>q3Zd zaq=ESn67nFwrsd~04;vm^fD5A@#~ZfLrLrhs3$c(*o+7#Oekv3@#8q3SH;rT=B)mPf3)u{50;36gMN*t=p zGA%k~*+#`-vy9*nE_*LKB4n9{2(kEI9$5>Ee=dpr6#uy0VR;Ny!t!ZhHEY; zD8@1kZHRHdt~BlCmE%55uM+_C0M4R%D6drU6X#eIha+3 z&A}KN>wf$t^g14Y7l~(5M?|>(Ek*WaX|}wuet{!|2sbnyoM}T{sj^Tb9wD?|s%&W5 z2K|zumudYsNH#n{ry1mo&N2|mJ|ow9M`kD*8S-gI<|NrV_08&A+=kbI1Wonj(1HnmU`kzBFc^1`NPp0TYX@?_JU zGMQe`^+SvGJh9#nZMsKxlex!5q%EyCJNBd2EYl+QHm7YcjWFzDm>tlZ?u?iIQ? z8o%_#DyOgxZa3MyVn7HHzW0*iG?Jf`WftLkon45KWm>f1mSVKRDtnowW%06Egj-6? z3MImQF^JI5WUgt1`_Cdmj%bTE+}c$!_ZlR^tvwVxG>H&%;QKQaqXjOCOyt1#xAjCX z1j&>4cg{yIuuMZQU=jI2Ln?tnH0!#pab?tYzdoOG4X)-K=I9R>(@p_7(t?$F`ZJVi ziFt@~`(wp3W$OA8uI?!#Sno@=PgT5nz!FaM_x2eNp}%bo8g@KN`9Ss!GtopAL_6-- zO|$GCnL0Zz*K^3a9d}$%Y*Mv^Q~YYSxOiS|XFu9J{GjJuWx0DbY`wje*woE9De9)rbNfox;t?w zmY0@N>+X&pq3JTLsENU`yGtwv2fxhH(ujIb;t|BR*9tx)-JWOY#H~y^4qlU_+xu`2 z46!slGV39>_lFGBHbXBn5a}>DGDcDNE2kIk%x$HYjFXBtECd-G8K>uBaIjabk6-s) zSInbY0*S`_sN!NYrk{N^>b@Dn<)g|p;*@KL6`Ip6h0FezX@*gDc91&nUvd~_`q?3^ z)*0=%f7z-`nY#WdP1D&#KVOX=78my=`&X=V)vxS%VdeT>W6M4Cx9Cf_cF3D2y6MBU zn%1sft!d4wH5)!uwPBMcB1I#(gLP=Xm~6xydT@cFFoqr$SD5EZXD${=IyiNSvr%F; zO$h$%`N6$gTyZXXNIVmpdFcdX+;cWejB+}h&Wxy2;u(dA14%+e!$fggf#Ki;fx$EQ z6i+Awe0G~LpkY29r>IndWY@>z71fy~nK+LAcp_Ef@{BXfG_38hyExvhEOr;%$tt@G zjPm0>D`1p!rDG||kN2*G1ho{AXtU#P#gs71G_+Y=B9pi{7LWI({Wi5cbzR(`#vR%; z7O}WUkk0cd7UnD%9lqz@H+Re43%{4^zB772?uZvo#y$4?igRN+ZJ=lBWnMawm@bBs?LWuBs7!^h#MtI#tD@}6Oz*-xoIke&Rwf}}5;d-O)VMELcw;E2k3=wh`G@&&j{I3>GnAyx* zXv6>hR%{Tm+-a>? ziw+XuowfsQI|XTTHDCl6!+kA;=&}bMI9}jl?o7()#|6h#(Q7*7ws31Su2q*Ztj! z{AE&WaCBcsUV1fyoWFv2-*sPSz86ttOLL=O#=g${V}g_kX6)-MKsiE=XU1tr9+(~K z>wJ%1?IbTI@T{Y`*`dD9t=%yzaMW4J3Vp+p6`Sce=bPx<(GOt*mZBdl$wWVd4WjvZ z*$*t!&<{xGutP5(ofm0UwdK6kH~d%HPbb%|OcPsX4F4@HNSSEH@GCTjC7Y3P8k!Lu z?b_kn!K&*(S(*v0>yXXGrOn*+ji`ChRsRt&8R)3{XpvGYJByh+-XNAhKS-4`x=pX{ z1N-(HG`P#)#HLTR4vV>&?f!%a`d^ZSC?jfr6LLF7)TQ+&*^YL{6@9Z!P;5=KWJf3+ z`evI#GoW(mkVXdbek>)4Y^%4R1uc~h$i!^xBGG~@(;^cie^M;KZ}Tae^+l@cu_N*( z@|OvywI#2h){!T_N3B_=MXjSo(fHewb#xOB+?`PTSzcA{8(o@aq(hv^qASsxZ)BMq zEhh2=S~9xoRoj-t4k3E<Uwu6UY=Yn}&R8q;K{ouAqY%r(vjII?O(pPUy(#(B4dB-yHpE$D>T=bSudQ>6~NG z8q}8gVyG?pBd)}5M99Uz2_GZExYATz%UvGJG(?D8jw`z!xtyliP|4*4x-Bj)7UIg^ z^_{fj9bqg*h{ITq>rRW8@>nLASdTmWE?S$JYR}qVzh>Lo$cLOM#4ee!K_=jw6SpBk zmTAZbM3}46qL3rZRh2d~$&9s+@HWlF%QoZ)wdLhp_wFDeY(gKhc+GfD22)OE{aYMz=fnMrcD%7K|=h0k=J{~~Gg1uD zjWW4EHIYvcXa4a~D3dduEtv&!e2^(qmsPlOvXxZ|#OFbr=~}dzz=`!qfjo-ENS0|a zmlpVlHYdnDXK5x7Rv>l6#nnoIgR~eapYP-P9nQ93I2Wu)n{njQC75t7m_(r`tI65M zgqrAxf`dkcFq{j$J~c>$7$${2|2#312B{ zrC<>rofblb#rM;6q$mCB`gTrQWWzus2H08OxA?(-amNx*N}ArW)VKK6r_jO7Wm^s| z{`;{InlEwr@sJ}-T(ch$vet$Xj6Ge68rwsTutaS|kZ{dlh!FEaiAM)vUf_XOpuB)d ztHh^oV$x#%86+)*`A#XSKz4>L3YIuKKZFi0Ij=^@9b9r@?hqm@)r%IQPFqxE^99+7lrDP>&Brn=ny+-m97M?Z zz*dlyK2QY_vP_Ez%M5RU2!jmcG9#%1mMLf(VcFWj+7L5q*@pKqvvMM|o>|L|qRu2l zYba$;-wC-(%APxlE@3xYBu%;22M{3#i7i@}Yd0GavP_Ez%kLhG2$_Pm5SGtS>;Yw& z77R0rfJ-c-0;a|@5$$C&Mx96P# z@!7>Y1+q0un0$PFFZw!mArHnVwox%CTZ%rIgX&*7!>~+4MHL7)E)KaX9(=D4BD78C ziUV^YLY8LBh82e>7O89(3Y8KRUS?^w5LQa0ak1=WmTA$;m9~U_=BU#9ifX}jN~oNq zD5+VREgM$urx+BoOp7+GQXtr^8#uRBrEnYcvVDYSd&Gkv|-he zr9&ReRY%c+Nys9lT0JVz<+_^V&K3`=)&DP)2+yU49^r-FAw*bx1TARDHe^=YvSIa+ z^o|+X%eH&HhYBmU>aa9h2p=j+D-xkYxNjxeFj$12js%$%b)hI(9icD;lW{Wm8%1sX?!t-52kMLrp5F)I(@WV`m zx>*&b4cRcz+%ht!=8_E|*ShAif+5uUkqTr(FLMeW$X@2sWig&u;ENT{M&u&*+dISV zOP}z|m&#;6P>>!(tskkRU}KOe;*l!fq1G(ZVt4<@VFepmnyq+w*PF(DqHH~(TsHt&|0}CNOY-zXQphWhB}{&3lb+*?R7q*-Lk1~E<0B^)z`E_Wq8OztaV1oQAH$ zXdG6=mT?+J(g;jWA}rI84+?~A~YF#n7mr7-5avx)$-5>s4XKi zp)Ino<&h;QGsrk;`3;SiWfrnbi#~o@^*%wCW&F(+7Maz%y%wi;bJY4Ep?%-4k%u-&&X_P+v=0IZEIVb)DRc1@3s1qw#~^!IBOfI z2*)6Kb|7uu3~`!yb_mIogM?F;p@R|ObBV`8j_|oswB8jugg+}LzJd(n=T0apVU}rV zL!?dX?zERtrcE$aQky3d(J5Rnn1~c~bekuCL772DUz-;9(9!8yb}%#}=9)GO4q&cX zqDixqYuenSlNoa01*vUYr(!>bNo|odZ7WedBa%MO2ydf(g=Kch~j+)&C)j zyze$rNN{CbUJ;ba=1;l7=@WSg*V~y!a`Cv^3Y|Y3LFp&5Jo` z_kK`jM1(Kqr1dB{U)x8xzbzsRGVosfOi?nhOp7+`*zIJ<5q9iBvxc$_O(H~McbpuH z#15u5e5qUls%$CxkTx$>x_~ODYuUk~Q(pR}H6mnbCh~&<;n811i16jtsQeFc=)F8# zvF^uyF|;Al=H=Tvkv75P!%oE(p~{>YY&oSC8uKLjiuQ_*d<>)+K^>hMR-)vF9(?%y8J*}zvPT z>rkwhbKO#+LauVR2`f-#cC?|&NSp2rMj}EE6I)K{-so9G$TBS=>=8RO&BvMq$Y%07k&S*D>4 zF*)@5QZd%!Eos)1L$4p3qRM-@y=D_D^XVLhBUl^Y21b`6ErBEeiIz zJqlH3nHHVme*b#N5xTc4${O1Ulb)w(NSQX=AKS8FQb#A+kYyU$5NVTiYjS95(|2|L zkgMEx?Ood{V=O1P`VJ9h1V`-T){4T5Wg0pK-&>K~wKl%DVv&YW{oaZMx-TwX`%Ugn z<9F{CXMX(!ixKj0lV$SvG#elE?&{nisb9JN3rRSJ7E(Up(-^eF7|W3kLd_uCC_V47F~Z}(vd+~ zUvrYj^O}>`Sn-;Z$Qs2X6MG#I?>WIPz29e#W0#&rk9t3rRxA5=^bOl}r@(l)M0#33 zAlknRElSJTG{Xna%P~NWx{}{KM^5Ul_tE42nWQ_y046oWg0RV`8VJo z9f*}}Xo-Icgdfu=%qBwYkp^5O8_EN1&RW(BnSmWBqsb}|8+0Rxw9I}hXoieXkrXg$4!$a#* zi6rl*=YhK=4-f6QBjnl+?WLH*G^uSpGPJnZ!>@kp4mrYCk0pfAAFuvc6aBGNV~l}6 zuvmL7x(pU;9K9xrwb#bcB$3>6@KDPZe_xvrj`m`ihWtg34yzCua)iSw(n6gaVfGOo z%o}=ypU@h)O@vr*3_CW{S8$wle4RXPQP#J5aKW)?TJqP9vrELEXPg=*(J3QZevc}r zYhSQMn-R};MU`2mA#HGwH{u8lf#pFSFX5X!NjKtKTKJL&c`QXJtT4{MG*v3c)V3gv z^B<`r^MPd=8V3=+z9#f1D_>u~9TD2zF*mXg%@4>nR;jLjScMwia*;qH&4lY0+ad312jb()X4jdxTivHv^V0v zMz@+Y8WL~R+lsB4`!%E4a_gu?6mD{8uuMa@V!1SG9~H53xx{WY=$=WSZMTIQE&| zh>&GkMfk5GxS1dJ5dQZGB4n8s5sq7=sCHSJErjEiZnBLKQ%1^BTH}&a#xjkE%9Me9 zQ_2stQCgm0Vkv?8CL~|VmE}l29){a8T*~jX$x;pvmTA$o)DkHI{^om1-oK9^KdrF^+h>&F(It39< z&3+XTvWv4I9DA|n)U#h!Zt`UJ3SAtHU;1K|Q=~bZAD$X_01>iGs|YvKypWt6SYLYx zw+=>xCOZ)%_S92~b6N|8Z9E_A#GdwYcT_puCok)Yqgkg+>oOiyHn{^5%lv60)?t~y zSVL$~=3{v^Z6gg~fc{7w zu@<%cFgSmtzVRGtYkQV%Mlo7+mi@ufY%yj=30fSN3jvmC=nu5v3~^FJMwlL)4QK3A z*wAG1z<{6m9jz|O0ndyv8Spc|r_%-UG%!mM3Zrpm)f$b)VN=_3->gSzpK!?BH|stv z4a)8dG6ZHjyCFiBX^~*FKcvc9Mz}mUg3aC$jR?~;nHCYwdHNfi8+8{!f zX%XR@*%~22o@ld$@Xa_H0mwXLnT80lsF_=aB1Nv&mufb&UewGTSrk=%UlV9c<+*Qc zM3q0#WE!fBI}zr-KLmFoEYhSUggLY2jBeAb`@p{a1`X~qII-zdt;1q&X1hNjg8r8t z!=hyFhr2R!l%wvWMM|ygEY|o~q7aQaYTloX(NL_E2}3Dl{;iN1WZs*1tATCfBf|ML zr=ZqbG~?USdVVd%#)HjPWY(mI#l>~z{5n+Z%TdNM4Jn6Ozuo*-)OxEGgxI~lJ(hO6 z%iSxlO(?rpM7E&CEJVhAhAn?A*hp(Ha?fGO$5?(YcyBnCpJ|!}4a(0LdPrPho`=O4 zV&PjKIvXWs)4m)@e-jsbf8mkot~eJxB%X=QymSJ-UgK<-80B<0of%Q5#4`#J-<=gA z8YYU{3Jgax1P0I0T0Ef;@MB%ZfZKAnottB0TP}70+kX88JAgC+$@2-+0U$58U9O0{ zuk88P6&FcQ5T|p|6Ryll z6Of#5_gv=-cj=!U1u`$~+sXN^EON!=6}N@-4Nr=v9FC7-@`?Y5KogfHYFP5rcGOas z=iz9&BQ8zYu;foCy5h14D4qxM(@k;dzW&*7bT>DJpTiL!?;K4xwGU`EEcu)7eVRFP z(sK~b!;-%}MsaEw&cl*_%4HDF!;*h4X&lbOlFuizdweK$I$aoM?B8Mi3KnAls6@X) z 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 m7?Ml= 31 request for Bluetooth Scan and Bluetooth connect permissions +2023-11-05 15:14:43.563 Debug [2] BluetoothSettingsFragment: Permission is not granted: android.permission.BLUETOOTH_SCAN +2023-11-05 15:14:45.751 Info [2] BluetoothCentralManager: scan started +2023-11-05 15:14:45.755 Debug [2] BluetoothSettingsFragment: Bluetooth settings Bluetooth permission check +2023-11-05 15:14:45.756 Debug [2] BluetoothSettingsFragment: SDK >= 31 request for Bluetooth Scan and Bluetooth connect permissions +2023-11-05 15:14:45.757 Debug [2] BluetoothSettingsFragment: Permission already granted: android.permission.BLUETOOTH_SCAN +2023-11-05 15:14:45.759 Debug [2] BluetoothSettingsFragment: Permission already granted: android.permission.BLUETOOTH_CONNECT +2023-11-05 15:14:45.767 Info [2] BluetoothCentralManager: scan started +2023-11-05 15:14:47.000 Debug [2] BluetoothSettingsFragment: Found unsupported device Amazfit Scale [70:87:9E:38:52:27] +2023-11-05 15:14:49.040 Info [2] BluetoothCentralManager: scan stopped +2023-11-05 15:14:49.043 Debug [2] OpenScale: Trying to connect to bluetooth device [70:87:9E:38:52:27] in debug mode +2023-11-05 15:14:49.054 Debug [2] BluetoothCommunication: Do LE scan before connecting to device +2023-11-05 15:14:49.078 Info [2] BluetoothCentralManager: scan started +2023-11-05 15:14:49.081 Debug [2] BluetoothCommunication: Stop machine state +2023-11-05 15:14:49.135 Debug [2] BluetoothCommunication: Found peripheral 'Amazfit Scale' +2023-11-05 15:14:49.152 Info [2] BluetoothCentralManager: scan stopped +2023-11-05 15:14:50.156 Debug [2] BluetoothCommunication: Try to connect to BLE device 70:87:9E:38:52:27 +2023-11-05 15:14:50.275 Info [2] BluetoothPeripheral: connect to 'Amazfit Scale' (70:87:9E:38:52:27) using transport LE +2023-11-05 15:14:50.300 Info [2] BluetoothPeripheral: peripheral '70:87:9E:38:52:27' is connecting +2023-11-05 15:14:50.637 Info [126] BluetoothPeripheral: connected to 'Amazfit Scale' (NONE) in 0.3s +2023-11-05 15:14:50.650 Debug [2] BluetoothPeripheral: discovering services of 'Amazfit Scale' with delay of 0 ms +2023-11-05 15:14:51.220 Debug [126] BluetoothPeripheral: connection parameters: interval=7.5ms latency=0 timeout=5s +2023-11-05 15:14:51.594 Info [126] BluetoothPeripheral: discovered 5 services for 'Amazfit Scale' +2023-11-05 15:14:51.609 Debug [2] BluetoothCommunication: connected to 'Amazfit Scale' +2023-11-05 15:14:51.617 Debug [2] BluetoothCommunication: Successful Bluetooth services discovered +2023-11-05 15:14:51.636 Debug [2] BluetoothCommunication: Invoke read bytes on 0x2a00 "device name" +2023-11-05 15:14:51.643 Debug [2] BluetoothDebug: Service 0x1800 "generic access" +2023-11-05 15:14:51.647 Debug [2] BluetoothDebug: |- characteristic 0x2a00 "device name" (#3): READ +2023-11-05 15:14:51.650 Debug [2] BluetoothDebug: |- characteristic 0x2a01 "appearance" (#5): READ +2023-11-05 15:14:51.653 Debug [2] BluetoothDebug: Service 0x1801 "generic attribute" +2023-11-05 15:14:51.655 Debug [2] BluetoothDebug: Service 0x180a "device information" +2023-11-05 15:14:51.657 Debug [2] BluetoothDebug: |- characteristic 0x2a25 "serial number string" (#9): READ +2023-11-05 15:14:51.658 Debug [2] BluetoothDebug: |- characteristic 0x2a27 "hardware revision string" (#11): READ +2023-11-05 15:14:51.660 Debug [2] BluetoothDebug: |- characteristic 0x2a28 "software revision string" (#13): READ +2023-11-05 15:14:51.662 Debug [2] BluetoothDebug: |- characteristic 0x2a26 "firmware revision string" (#15): READ +2023-11-05 15:14:51.665 Debug [2] BluetoothDebug: |- characteristic 0x2a23 "system id" (#17): READ +2023-11-05 15:14:51.666 Debug [2] BluetoothDebug: |- characteristic 0x2a50 "pnp id" (#19): READ +2023-11-05 15:14:51.668 Debug [2] BluetoothDebug: Service 00001530-0000-3512-2118-0009af100700 +2023-11-05 15:14:51.670 Debug [2] BluetoothDebug: |- characteristic 00001531-0000-3512-2118-0009af100700 (#22): NOTIFY, WRITE* +2023-11-05 15:14:51.671 Debug [2] BluetoothDebug: |--- descriptor 0x2902 "client characteristic configuration" +2023-11-05 15:14:51.673 Debug [2] BluetoothDebug: |- characteristic 00001532-0000-3512-2118-0009af100700 (#25): WRITE_NO_RESPONSE* +2023-11-05 15:14:51.674 Debug [2] BluetoothDebug: |- characteristic 0x2a04 "peripheral preferred connection parameters" (#27): NOTIFY, READ, WRITE* +2023-11-05 15:14:51.675 Debug [2] BluetoothDebug: |--- descriptor 0x2902 "client characteristic configuration" +2023-11-05 15:14:51.677 Debug [2] BluetoothDebug: |- characteristic 00001542-0000-3512-2118-0009af100700 (#30): NOTIFY, READ, WRITE* +2023-11-05 15:14:51.678 Debug [2] BluetoothDebug: |--- descriptor 0x2902 "client characteristic configuration" +2023-11-05 15:14:51.679 Debug [2] BluetoothDebug: |- characteristic 00001543-0000-3512-2118-0009af100700 (#33): NOTIFY, READ, WRITE* +2023-11-05 15:14:51.681 Debug [2] BluetoothDebug: |--- descriptor 0x2902 "client characteristic configuration" +2023-11-05 15:14:51.682 Debug [2] BluetoothDebug: Service 0xfee0 +2023-11-05 15:14:51.684 Debug [2] BluetoothDebug: |- characteristic 00000016-0000-3512-2118-0009af100700 (#37): NOTIFY, READ, WRITE_NO_RESPONSE* +2023-11-05 15:14:51.685 Debug [126] BluetoothPeripheral: connection parameters: interval=45.0ms latency=0 timeout=2s +2023-11-05 15:14:51.689 Debug [2] BluetoothDebug: |--- descriptor 0x2902 "client characteristic configuration" +2023-11-05 15:14:51.690 Debug [2] BluetoothDebug: |- characteristic 00000017-0000-3512-2118-0009af100700 (#40): NOTIFY, READ, WRITE_NO_RESPONSE* +2023-11-05 15:14:51.692 Debug [2] BluetoothDebug: |--- descriptor 0x2902 "client characteristic configuration" +2023-11-05 15:14:51.693 Debug [2] BluetoothDebug: |- characteristic 00000018-0000-3512-2118-0009af100700 (#43): NOTIFY, READ, WRITE* +2023-11-05 15:14:51.695 Debug [2] BluetoothDebug: |--- descriptor 0x2902 "client characteristic configuration" +2023-11-05 15:14:51.696 Debug [2] BluetoothDebug: |- characteristic 0x0019 (#46): READ, WRITE* +2023-11-05 15:14:51.698 Debug [2] BluetoothDebug: |- characteristic 0x0021 (#48): INDICATE, WRITE* +2023-11-05 15:14:51.700 Debug [2] BluetoothDebug: |--- descriptor 0x2902 "client characteristic configuration" +2023-11-05 15:14:51.701 Debug [2] BluetoothCommunication: Bluetooth disconnect +2023-11-05 15:14:51.702 Info [2] BluetoothCentralManager: no scan to stop because no scan is running +2023-11-05 15:14:51.703 Info [2] BluetoothPeripheral: peripheral '70:87:9E:38:52:27' is disconnecting +2023-11-05 15:14:51.704 Debug [2] BluetoothCommunication: Resume machine state +2023-11-05 15:14:51.705 Debug [2] BluetoothCommunication: Step Nr 0 +2023-11-05 15:14:51.706 Debug [2] BluetoothCommunication: Invoke delayed disconnect in 60s +2023-11-05 15:14:51.708 Debug [2] OpenScale: Disconnecting from bluetooth device +2023-11-05 15:14:51.709 Debug [2] BluetoothCommunication: Bluetooth disconnect +2023-11-05 15:14:51.709 Info [2] BluetoothCentralManager: no scan to stop because no scan is running +2023-11-05 15:14:51.738 Info [2] BluetoothPeripheral: force disconnect 'Amazfit Scale' (70:87:9E:38:52:27) +2023-11-05 15:14:51.739 Info [126] BluetoothPeripheral: disconnected 'Amazfit Scale' on request +2023-11-05 15:14:51.751 Debug [2] BluetoothCommunication: disconnected 'Amazfit Scale' with status 0 +2023-11-05 15:14:59.378 Info [2] BluetoothCentralManager: no scan to stop because no scan is running +2023-11-05 15:14:59.380 Debug [2] OpenScale: Trying to connect to bluetooth device [70:87:9E:38:52:27] in debug mode +2023-11-05 15:14:59.386 Debug [2] BluetoothCommunication: Do LE scan before connecting to device +2023-11-05 15:14:59.414 Info [2] BluetoothCentralManager: scan started +2023-11-05 15:14:59.417 Debug [2] BluetoothCommunication: Stop machine state +2023-11-05 15:14:59.473 Debug [2] BluetoothCommunication: Found peripheral 'Amazfit Scale' +2023-11-05 15:14:59.489 Info [2] BluetoothCentralManager: scan stopped +2023-11-05 15:15:00.494 Debug [2] BluetoothCommunication: Try to connect to BLE device 70:87:9E:38:52:27 +2023-11-05 15:15:00.620 Info [2] BluetoothPeripheral: connect to 'Amazfit Scale' (70:87:9E:38:52:27) using transport LE +2023-11-05 15:15:00.646 Info [2] BluetoothPeripheral: peripheral '70:87:9E:38:52:27' is connecting +2023-11-05 15:15:00.997 Info [116] BluetoothPeripheral: connected to 'Amazfit Scale' (NONE) in 0.4s +2023-11-05 15:15:01.005 Debug [2] BluetoothPeripheral: discovering services of 'Amazfit Scale' with delay of 0 ms +2023-11-05 15:15:01.586 Debug [118] BluetoothPeripheral: connection parameters: interval=7.5ms latency=0 timeout=5s +2023-11-05 15:15:01.974 Info [116] BluetoothPeripheral: discovered 5 services for 'Amazfit Scale' +2023-11-05 15:15:01.984 Debug [2] BluetoothCommunication: connected to 'Amazfit Scale' +2023-11-05 15:15:01.988 Debug [2] BluetoothCommunication: Successful Bluetooth services discovered +2023-11-05 15:15:01.992 Debug [2] BluetoothCommunication: Invoke read bytes on 0x2a00 "device name" +2023-11-05 15:15:02.000 Debug [2] BluetoothDebug: Service 0x1800 "generic access" +2023-11-05 15:15:02.004 Debug [2] BluetoothDebug: |- characteristic 0x2a00 "device name" (#3): READ +2023-11-05 15:15:02.008 Debug [2] BluetoothDebug: |- characteristic 0x2a01 "appearance" (#5): READ +2023-11-05 15:15:02.012 Debug [2] BluetoothDebug: Service 0x1801 "generic attribute" +2023-11-05 15:15:02.016 Debug [2] BluetoothDebug: Service 0x180a "device information" +2023-11-05 15:15:02.018 Debug [2] BluetoothDebug: |- characteristic 0x2a25 "serial number string" (#9): READ +2023-11-05 15:15:02.021 Debug [2] BluetoothDebug: |- characteristic 0x2a27 "hardware revision string" (#11): READ +2023-11-05 15:15:02.024 Debug [2] BluetoothDebug: |- characteristic 0x2a28 "software revision string" (#13): READ +2023-11-05 15:15:02.028 Debug [2] BluetoothDebug: |- characteristic 0x2a26 "firmware revision string" (#15): READ +2023-11-05 15:15:02.032 Debug [2] BluetoothDebug: |- characteristic 0x2a23 "system id" (#17): READ +2023-11-05 15:15:02.034 Debug [2] BluetoothDebug: |- characteristic 0x2a50 "pnp id" (#19): READ +2023-11-05 15:15:02.036 Debug [2] BluetoothDebug: Service 00001530-0000-3512-2118-0009af100700 +2023-11-05 15:15:02.037 Debug [116] BluetoothPeripheral: connection parameters: interval=45.0ms latency=0 timeout=2s +2023-11-05 15:15:02.043 Debug [2] BluetoothDebug: |- characteristic 00001531-0000-3512-2118-0009af100700 (#22): NOTIFY, WRITE* +2023-11-05 15:15:02.045 Debug [2] BluetoothDebug: |--- descriptor 0x2902 "client characteristic configuration" +2023-11-05 15:15:02.047 Debug [2] BluetoothDebug: |- characteristic 00001532-0000-3512-2118-0009af100700 (#25): WRITE_NO_RESPONSE* +2023-11-05 15:15:02.049 Debug [2] BluetoothDebug: |- characteristic 0x2a04 "peripheral preferred connection parameters" (#27): NOTIFY, READ, WRITE* +2023-11-05 15:15:02.050 Debug [2] BluetoothDebug: |--- descriptor 0x2902 "client characteristic configuration" +2023-11-05 15:15:02.052 Debug [2] BluetoothDebug: |- characteristic 00001542-0000-3512-2118-0009af100700 (#30): NOTIFY, READ, WRITE* +2023-11-05 15:15:02.054 Debug [2] BluetoothDebug: |--- descriptor 0x2902 "client characteristic configuration" +2023-11-05 15:15:02.056 Debug [2] BluetoothDebug: |- characteristic 00001543-0000-3512-2118-0009af100700 (#33): NOTIFY, READ, WRITE* +2023-11-05 15:15:02.058 Debug [2] BluetoothDebug: |--- descriptor 0x2902 "client characteristic configuration" +2023-11-05 15:15:02.060 Debug [2] BluetoothDebug: Service 0xfee0 +2023-11-05 15:15:02.062 Debug [2] BluetoothDebug: |- characteristic 00000016-0000-3512-2118-0009af100700 (#37): NOTIFY, READ, WRITE_NO_RESPONSE* +2023-11-05 15:15:02.064 Debug [2] BluetoothDebug: |--- descriptor 0x2902 "client characteristic configuration" +2023-11-05 15:15:02.066 Debug [2] BluetoothDebug: |- characteristic 00000017-0000-3512-2118-0009af100700 (#40): NOTIFY, READ, WRITE_NO_RESPONSE* +2023-11-05 15:15:02.068 Debug [2] BluetoothDebug: |--- descriptor 0x2902 "client characteristic configuration" +2023-11-05 15:15:02.070 Debug [2] BluetoothDebug: |- characteristic 00000018-0000-3512-2118-0009af100700 (#43): NOTIFY, READ, WRITE* +2023-11-05 15:15:02.071 Debug [2] BluetoothDebug: |--- descriptor 0x2902 "client characteristic configuration" +2023-11-05 15:15:02.073 Debug [2] BluetoothDebug: |- characteristic 0x0019 (#46): READ, WRITE* +2023-11-05 15:15:02.075 Debug [2] BluetoothDebug: |- characteristic 0x0021 (#48): INDICATE, WRITE* +2023-11-05 15:15:02.076 Debug [2] BluetoothDebug: |--- descriptor 0x2902 "client characteristic configuration" +2023-11-05 15:15:02.078 Debug [2] BluetoothCommunication: Bluetooth disconnect +2023-11-05 15:15:02.079 Info [2] BluetoothCentralManager: no scan to stop because no scan is running +2023-11-05 15:15:02.080 Info [2] BluetoothPeripheral: peripheral '70:87:9E:38:52:27' is disconnecting +2023-11-05 15:15:02.081 Debug [2] BluetoothCommunication: Resume machine state +2023-11-05 15:15:02.082 Debug [2] BluetoothCommunication: Step Nr 0 +2023-11-05 15:15:02.084 Debug [2] BluetoothCommunication: Invoke delayed disconnect in 60s +2023-11-05 15:15:02.085 Debug [2] OpenScale: Disconnecting from bluetooth device +2023-11-05 15:15:02.086 Debug [2] BluetoothCommunication: Bluetooth disconnect +2023-11-05 15:15:02.087 Info [2] BluetoothCentralManager: no scan to stop because no scan is running +2023-11-05 15:15:02.127 Info [118] BluetoothPeripheral: disconnected 'Amazfit Scale' on request +2023-11-05 15:15:02.130 Info [2] BluetoothPeripheral: force disconnect 'Amazfit Scale' (70:87:9E:38:52:27) +2023-11-05 15:15:02.138 Debug [2] BluetoothCommunication: disconnected 'Amazfit Scale' with status 0 +2023-11-05 15:15:05.755 Info [2] BluetoothCentralManager: no scan to stop because no scan is running +2023-11-05 15:15:11.055 Info [2] BluetoothCentralManager: no scan to stop because no scan is running +2023-11-05 15:15:11.536 Debug [2] BluetoothSettingsFragment: Found unsupported device F48F921F606A30AEE9 [F3:33:28:82:68:AA] +2023-11-05 15:15:14.551 Debug [2] BluetoothSettingsFragment: Bluetooth settings Bluetooth permission check +2023-11-05 15:15:14.557 Debug [2] BluetoothSettingsFragment: SDK >= 31 request for Bluetooth Scan and Bluetooth connect permissions +2023-11-05 15:15:14.560 Debug [2] BluetoothSettingsFragment: Permission already granted: android.permission.BLUETOOTH_SCAN +2023-11-05 15:15:14.562 Debug [2] BluetoothSettingsFragment: Permission already granted: android.permission.BLUETOOTH_CONNECT +2023-11-05 15:15:14.582 Info [2] BluetoothCentralManager: scan started +2023-11-05 15:15:14.644 Debug [2] BluetoothSettingsFragment: Found unsupported device Amazfit Scale [70:87:9E:38:52:27] +2023-11-05 15:15:14.818 Debug [2] BluetoothSettingsFragment: Found unsupported device F48F921F606A30AEE9 [F3:33:28:82:68:AA] +2023-11-05 15:15:15.370 Info [2] BluetoothCentralManager: scan stopped +2023-11-05 15:15:21.181 Debug [2] AboutPreferences: Debug log disabled