From c6b0d6c8868aa628ee2214894ac39632ef03b6b8 Mon Sep 17 00:00:00 2001 From: Alex Spataru Date: Fri, 11 Oct 2024 15:07:03 -0500 Subject: [PATCH] Fix MQTT subscriber dashboard loop --- app/qml/MainWindow/Panes/Toolbar.qml | 6 +- app/qml/MainWindow/Root.qml | 9 +- app/rcc/icons/toolbar/mqtt-publisher.svg | 9 ++ app/rcc/icons/toolbar/mqtt-subscriber.svg | 9 ++ app/rcc/rcc.qrc | 2 + app/src/MQTT/Client.cpp | 6 +- app/src/UI/Dashboard.cpp | 3 + app/translations/qm/de_DE.qm | Bin 49663 -> 49827 bytes app/translations/qm/en_US.qm | Bin 29004 -> 29120 bytes app/translations/qm/es_MX.qm | Bin 50268 -> 50450 bytes app/translations/qm/fr_FR.qm | Bin 51190 -> 51356 bytes app/translations/qm/ru_RU.qm | Bin 48875 -> 49087 bytes app/translations/qm/zh_CN.qm | Bin 35230 -> 35376 bytes app/translations/ts/de_DE.ts | 164 ++++++++++++---------- app/translations/ts/en_US.ts | 164 ++++++++++++---------- app/translations/ts/es_MX.ts | 164 ++++++++++++---------- app/translations/ts/fr_FR.ts | 164 ++++++++++++---------- app/translations/ts/ru_RU.ts | 164 ++++++++++++---------- app/translations/ts/zh_CN.ts | 164 ++++++++++++---------- 19 files changed, 561 insertions(+), 467 deletions(-) create mode 100644 app/rcc/icons/toolbar/mqtt-publisher.svg create mode 100644 app/rcc/icons/toolbar/mqtt-subscriber.svg diff --git a/app/qml/MainWindow/Panes/Toolbar.qml b/app/qml/MainWindow/Panes/Toolbar.qml index ac470625..a8857b69 100644 --- a/app/qml/MainWindow/Panes/Toolbar.qml +++ b/app/qml/MainWindow/Panes/Toolbar.qml @@ -240,7 +240,11 @@ ToolBar { text: qsTr("MQTT") Layout.alignment: Qt.AlignVCenter onClicked: app.showMqttConfiguration() - icon.source: "qrc:/rcc/icons/toolbar/mqtt.svg" + icon.source: Cpp_MQTT_Client.isConnectedToHost ? + (Cpp_MQTT_Client.clientMode === 1 ? + "qrc:/rcc/icons/toolbar/mqtt-subscriber.svg" : + "qrc:/rcc/icons/toolbar/mqtt-publisher.svg") : + "qrc:/rcc/icons/toolbar/mqtt.svg" } // diff --git a/app/qml/MainWindow/Root.qml b/app/qml/MainWindow/Root.qml index 001417da..b04f9aae 100644 --- a/app/qml/MainWindow/Root.qml +++ b/app/qml/MainWindow/Root.qml @@ -151,6 +151,7 @@ Window { // Connections { target: Cpp_UI_Dashboard + function onDataReset() { setup.show() root.showConsole() @@ -168,7 +169,13 @@ Window { if (root.firstValidFrame) return - if ((Cpp_IO_Manager.connected || Cpp_CSV_Player.isOpen) && Cpp_UI_Dashboard.frameValid()) { + const frameValid = Cpp_UI_Dashboard.frameValid() + const deviceConnected = Cpp_IO_Manager.connected + const csvPlayerActive = Cpp_CSV_Player.isOpen + const mqttSubscribed = Cpp_MQTT_Client.isConnectedToHost && Cpp_MQTT_Client.clientMode === 1 + const dataAvailable = deviceConnected || csvPlayerActive || mqttSubscribed + + if (dataAvailable && frameValid) { setup.hide() root.showDashboard() root.firstValidFrame = true diff --git a/app/rcc/icons/toolbar/mqtt-publisher.svg b/app/rcc/icons/toolbar/mqtt-publisher.svg new file mode 100644 index 00000000..913b133e --- /dev/null +++ b/app/rcc/icons/toolbar/mqtt-publisher.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/app/rcc/icons/toolbar/mqtt-subscriber.svg b/app/rcc/icons/toolbar/mqtt-subscriber.svg new file mode 100644 index 00000000..7fc645fd --- /dev/null +++ b/app/rcc/icons/toolbar/mqtt-subscriber.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/app/rcc/rcc.qrc b/app/rcc/rcc.qrc index 018f68c3..18e10682 100644 --- a/app/rcc/rcc.qrc +++ b/app/rcc/rcc.qrc @@ -213,6 +213,8 @@ icons/toolbar/disconnect.svg icons/toolbar/examples.svg icons/toolbar/help.svg + icons/toolbar/mqtt-publisher.svg + icons/toolbar/mqtt-subscriber.svg icons/toolbar/mqtt.svg icons/toolbar/project-setup.svg icons/toolbar/structure.svg diff --git a/app/src/MQTT/Client.cpp b/app/src/MQTT/Client.cpp index 7bda7549..ccaaa86d 100644 --- a/app/src/MQTT/Client.cpp +++ b/app/src/MQTT/Client.cpp @@ -26,7 +26,6 @@ #include "IO/Manager.h" #include "MQTT/Client.h" #include "Misc/Utilities.h" -#include "Misc/TimerEvents.h" //---------------------------------------------------------------------------- // Suppress deprecated warnings @@ -62,8 +61,6 @@ MQTT::Client::Client() // Send data periodically & reset statistics when disconnected/connected to a // device auto io = &IO::Manager::instance(); - auto te = &Misc::TimerEvents::instance(); - connect(te, &Misc::TimerEvents::timeout1Hz, this, &MQTT::Client::sendData); connect(io, &IO::Manager::frameReceived, this, &MQTT::Client::onFrameReceived); connect(io, &IO::Manager::connectedChanged, this, @@ -787,7 +784,10 @@ void MQTT::Client::onFrameReceived(const QByteArray &frame) // Validate frame & append it to frame list if (!frame.isEmpty()) + { m_frames.append(frame); + sendData(); + } } /** diff --git a/app/src/UI/Dashboard.cpp b/app/src/UI/Dashboard.cpp index 5b42bb55..79ad9d20 100644 --- a/app/src/UI/Dashboard.cpp +++ b/app/src/UI/Dashboard.cpp @@ -23,6 +23,7 @@ #include "IO/Manager.h" #include "CSV/Player.h" #include "UI/Dashboard.h" +#include "MQTT/Client.h" #include "JSON/FrameBuilder.h" #include "Misc/CommonFonts.h" @@ -41,6 +42,8 @@ UI::Dashboard::Dashboard() &UI::Dashboard::resetData); connect(&IO::Manager::instance(), &IO::Manager::connectedChanged, this, &UI::Dashboard::resetData); + connect(&MQTT::Client::instance(), &MQTT::Client::connectedChanged, this, + &UI::Dashboard::resetData); connect(&JSON::FrameBuilder::instance(), &JSON::FrameBuilder::frameChanged, this, &UI::Dashboard::processFrame); connect(&JSON::FrameBuilder::instance(), diff --git a/app/translations/qm/de_DE.qm b/app/translations/qm/de_DE.qm index 2ac8d2e3c26a2fb48fb88b766a8d5529a8204e33..b717cd1670d14f46aa44f5a91891c9adfad49e6a 100644 GIT binary patch delta 1799 zcmX|>2~ZPf7>3_$_D{0AF-WAO3I^|Zf+wg|s-i^Eih_cIBZ>!N8FUb}wJIZrfLI{@ zB3Mx%Xrg#T!DAe)N0s8y(T>MVJyB^#ZFLxHwT?2_Pq$-cGS6=E?|$F^zVG+H&(c=s zXp60yo{j)tbN)JjMFJHgiSa=G8;3nWv)7Sijc|nm(;5I*D=>X05b_8}I0t+`Ol4&- za6cUg)I!YT!2Z4vUEc!TGE`O;K|J0JRJJ;<`ex*NLwwdB*!2wJYkFJe1Bh>D)0@-4 zdTgdDzFEZ5;DmTPn#^tR*fdw-!pCL_UmF@<_CDCKU zViEUj2(a}C;+5{e;=71n_!3wjg;|*-$?oNtm34%Q>3M|^pvmE<1&dS)_v%eR@haXZ z*rj*4A5Cu6RPi9KRoLB+M`{CwDjUzx+BK(mgSJP+{#nArrBuXGAtaV20@3}2RbDfJ zS|+TCTno%~3Hdb#fT9+mtnDqJ-B6)2If(XT5%xwrr{Z7b&xEtp3H-o#k)o*Uu=!Zq2PuwA+s;A*2T2(*}#_mOuL4j-%R%( zSn?fjWU(1n*|aZ69lsV9>rX1oKg;HYQELao*`ng(Kv@x6p&tXZjZ;~@nr(Eql0|Kq z`-&6T>CZeD{-GWEv0A$Z=qRw0W2kz;ZC1bj4`92ST?~(+Y7f}uUzY>U?(E7tN^OOU zHSVXV$f>a6(54s7=X{(>uK{E74K+=_)9(EF zmy%T|DCP;$0R5m|H%N~}UL@HE9Fx|p@dA>)q|Agwpnn%BJB?Gct5nwcNx2wEzq_Q3 zE3N}oPOg{3I}|OEo|;ASE?VWG%hKBjMhUsjljPvu+vdqZwPb1Gzw%%wi8#Wfa^hl@ zJ2%LKZx5nq`0@rhQnJf)-wmc?>~kKV*rXluf{D~}^-&(FSTuj}BqhYVRz7cPqTosY z^Dg%&f#&k{3QHm7vdoH9cAn<#25(mEqdiK>IROY?s-zC2mPe+kbk!<3&6LOBg-S(9 zJ+SVc;_OO}W^<+bt`X?bNvUojRz2V=jn?5?9LoJ98j?8~%EK3hWbh^Bd0-gr>5%gL zsSmIx->A)7OU_(1eztuooivAyeMV6LcGmN&Mqi<5Fn?^cb-rVailLe4dea!yyn$+V zG)|AEV=UUGa#tp|wFxylGmIxR%gD|v#*39EAh$1H*~YFp!cVuEEZ0W0sm$TPz8l

ugNC0n8aSGG{P@=lBq|BU6V|Cd&uwfwWclC{7KkJrfs$bG-J8kZCWAlWjw&k zPpF$xH^Qs)x}H7=Lkg0y0I5hvKTN<_3^&l(108+ku$1Hlsp*|2jIA48+)>c@^Ap+a b{bn%Tg=OZ&O6z2vQ@FVWY@-JV zDgkpfK#vV)-oKzi;7bLwFoQdU;NIESVB2vP@1FN89geZ9B4`g$3LQp7_pt*-m$+B3 zYC9u3Y&+m&+*b@sEWV3`i!?dNt1#yb5-#lmHe_JhrEf{oRD~4-khp-RMZ_cV@gQJV zS0w3!fQ7e_H2)cpRgdX*lBD7ure_?ZV#|4v7$}V7r$w_?LdBYGz?R>+SF~vt;BFkb zRprA&B#T(Fi^odAVln4wl1=E%&r3a{t1pN#pHY!Ky*PX4Y#^?mxY~CbaQJg^ZR|Q= zmRroJI!Ftqh^{s_fwqIi;!i^WM~3)SG=;(C70+LIO0Mq5o*&7C&Gmez9HlF$l3JFv19ryp2Xb)7L+Nr#QyI;gEw3IP z2P`tls}GUorC;+9X7=-!UE@vxLryAm*myh(PAo{5kB=q)O?Tvw&G; z3i5_HV$Rw(MfmB&t51UAnRoD9K}&TPd|gCgwdrQPC|?v-=a? z6@1Q5tDT;>ELzM^e3MH8H-diBj*t7c(~e<=t)&oeHafMT%tO5 zl}=;kOV#nF9>BCZh5N3lYVWK7mc3D(`@;lG9j@|*kw$y&sh&pU0OOCVUYO}@>^Py8 z&b$OB+10A*Zlq}__o$OQe5{@lMz&N{s*^%)05jXDXC@6Hb7Qzw6R1s5=f?N}g@bsk zCeSZHeWbnvo&VYDqlIheF1W(eG-2ZAbY82m`dKuiZY&1+?AA=EX`v`p^Ja~uf8hqr z7w5-OH+D@%A!)n!hQ`tQi0+myn*23+KxMjS|HP}ns2ojI)33BUCm*4;h#Ow>WNj#S zX`_Vh+^aQr@X=;2<3No=>p*{?pIf^r^%_ZROHDp}w9PZKi>&jl}2L3#N{I>H(U948p&1xM8lxK3Q-r6-$H!p_zDC?%1 z=blGd=%uiSkHWHezEmIXXVINCHc<{&D$F0tYxTjVg1_}_F$rY9tk=5EQY<6+KYE)G zz(*L&y)62yW(rx@e0|aO24MXzeQ9^HDdVla?6v{u*+pOWnpiTPrx`5b_J4Vi!5q<9 z|Kw3SV1J82a;_tB8x8IEOr&uaL!U_UusqZdR@s%*Yi}5~G6)DAU>Np_l9yY|n+?_u zHp8T;l=JR43{&FhN{VwUEdPs#`wTag{As8YmXjqz3>S-yK(>oJd~8Bj-sm$yceviC zIEw_Yj^tLOMReD3o6)LGG0MG`(DjncR~dVDEI(m%R+4us)){wP?L>N>Fcw%zv#e*l j)|e`8^YRei0I}v2x72hwve;Kxf8_91K|CVzl92xZ9^(f& diff --git a/app/translations/qm/en_US.qm b/app/translations/qm/en_US.qm index 1cae7305b0e8f1addcca8fb4a281d2169e322371..f309b71e445d868444c9e595d06f9afe1c7be81d 100644 GIT binary patch delta 1776 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 diff --git a/app/translations/qm/es_MX.qm b/app/translations/qm/es_MX.qm index f013922f3151ab39494b6acf4473a07b89ef75cf..3791012346e59a05a22d1819d0a93b112eb8bce9 100644 GIT binary patch delta 1827 zcmYk73s6*L7>3_H=lo|cXI)}7n38r4b%{uDkV}|JVM1Vv%Eb$g0tToNR+^Lpk=%9> z6xLsG2?GSVxN0a!Wm!~8WEPa^Op%$1MU+TZRHN1O)oGe`X3ukG&-wn#`@a9T7aZcQ z?P8ThbC=WVWiHnNEFRcbPfP*IpLE7pHP@V3*4Q>6u@5+q0VM4Q!gm5|P69hmsBGE> zT-*%I*apeLfsRd(TAu}`4ykM!gmioiXrAvJ@G96|59#VmpgjrFFEm>55=b{z1IdA4 zw%zo50oc9eK-d7-{1%`z3oLm)&6=n()ekK5OpR`<6;82b=b_qMT_8Woov(cNXa793w(`a z@jbFmOsJm-9C=OLpqmGH{UnxVl4@P&#EuWhhRRQPgA{G3FA~R}ngrB-!^fn+sIJGQ zbwkZm6(nt)n*e0{N?VVR=`FQV!Iges)d|VrBGY1jm#VL>rBVDOS1iSAcDc&3)qD*L zTv@+Rdii0>gt=Gx^bJa2r?>Rk-|5>mDqZ@v7g+v>G~7$itKU#r(;@wtTtYs5#Dv0o zfafPOF{K#T^F0&uslH~G$~`td%#sCrB9D~43OXy+Sa0dqK*J4oI(jM1R>{tM^fa(Pll9-E zfL+c`0)nrx@mvY~oE#BcH(8$Z;QMrz#^w9_mjD69a%|2l zI%99k%ko6v=wW%)=whIxR8D<>1S=Wjky?vyXT0p5v5X$Ckh{-rprv}sFAq%vR_;*Q z-p>oP-gjP-uSb*t3+Kqcc$4b2p<3~s-zXs=TKSMK$@vI>MZ5a;y^=O5j7&OwOq&vP z9!Q&{O--3iR^Q8mbQZ&IyLRUSPugZ6U#7E|%Y(IDZ{7x^rfQGv&7;Zs}i^>g@;yX4>=>TRx#s4{@y_`gW&LKVp{1%665- zWN?+k5Yn_6xbK?E1%oPEKR1L7k|{6T!TSvH`c6aI%@CmNS#DKqh9XZx#sXS$tHR?I zFQIiV&r-t7C835>rXfmbp30iXd503@Ii#>`(yq8j(YsDjUeoxP5*<~$OUXVd0MQqe zoM2k?{i!Mscq=7i6wuHgm4@nGplFfOG_{4)@ll#D7^xAhR+@h&?zi$>qh+=$UAdS= zrzEXh`RY3L?u24xG;khmYpyanG6^_%#V9(SBX2^Dx4uYOI~ZULcz|NiX5#}!Z_Q~w zY_$1yM;VtUQ@5BJZd^LH9Vo0YCM8gFOH5VSHp2ZTM0$Q;d|k7Nd<-?7ZZrXoZk{_K zS~x26o(b{#S0*%;aLRN5_cmEIukvt{&EVc>lKgY1OF4L!$?vvqlj8vS{j}XwbJmBH zO)=H^WzaY}-e$_x{J^aqKAN7cIUZGo!4|~gAxy!e$Uru69$nYdeGWF$bvFH-0Wy6J v^Rm}xrr&aKn_P;u+;+IOS9;Ss$5)-HV_aZ;)oZL0Qcg*|?mp3!$ delta 1690 zcmXApc~Dhl7{;G_&iU@nMbNHE&Lu%1Fu@^~bVLkC5S%1MP=OFh(Uj5Dgmh38fqPkG z`v9*i`>KKhYL5Fth!ixM6=`Z{Q#+U6X4u0v(g*V$swS!tgy$Jn)MvggULW$Go+{VwR92Ei&!Ai1I(qEe(weQ zI0x|U0h?6=WLyA?oJF@TkQwI+mT;Ep8#(Sk&Q5TYnd6E@UAuvtTUgw6o)kSNvmp;rE9lge07O0T0rq+$ zS~me${Wqc$o&aV~#H5iTjX{XnaSW(v1!8k>NEn}T&jFEG+cDF4zEusjwHhCT%L{3Uc;c|eJ zk-(8r;wtq_!1zSWOd!=-J;dhk$%gz%yi5wx?*CmJUOx)hJ%bNP9)T?#(#rlSpgBw0 zJUtvpbdok7A=9g$NU8U_ftb^h#Y(1yypl>Dd_mFLE?GlP15DsF<82Lza3cgS{i7l|4T;8EY(PFA~Pr}?o3Gg5ZLw}6Qk3C zU9*_Dh0d4klv%os53oofvxx^Njj2Zm*~)^GRQoHIqzVK^OqW?Rj^)<9p=1rSy6#G# zrjs>a`4_N8v6f((k+D{GI*@M5<*YsPPoQi8>kOI?ln%14A2$M3=UMklN^ZsH?9O4z z%UU1SHq(bY;kzk7&j&C>N%P z)VWF-^YAm8p1aDp86;SSHxE#moQ^gq8z(I!cUqOluC1a{S1XVAj|ZZ5%B=r@r>aJe zo2q;?B@6g;n)2yrQr()b5--x&hkL7(hny&5wfuxC)?sg~D#DjcI&4ryd)@$+j#9-% zPo;W`xTo5r<$tL1=GXxTEPSEbWS^a@YCSs!h>KIT?MopGKjCJzuaGyyJPOHZi- zZzNJ5P|s}{rf?nO&(tQb1HI~RIzmXQGwL1tNa~9B)#jIjv~I4di&F}LgZ=9IdDnoz z0d-^lJ!hQF7OP2L&w;kP8Z*3r$u64Qr0XQPKeyEe zITR#l2JI!FR*>16t$7j3C zU&j(jp>!Xe#(J5y$0`0y7bI98@BqEhy?&i8V~A4c^H^6_(hlr^uF|=NT29hc-O|%` ziPcrTB35nUsd|&J>ohOZ8>i-5bq@zekx!W{XKjoz{LqBl_Sy{VH@7pkr z1Ps^vZ=68F)am_SP!3ajekAPxXFq*JIIXG$aWd;>azC2@I~V;a#Rghn z`TEXs18oLdZng;$j>PdEn=p-?O?d`M-ju;z4UP(X9&B*YHgp;!w>317eLUIVI>y#u zX(0DDnhmAb#*(DR40~NkHFG>aVMtbla!=c_iZOg$n|o`LZ9-bBdyy!#W)$z7{2#Cm B6O;e| diff --git a/app/translations/qm/fr_FR.qm b/app/translations/qm/fr_FR.qm index 4bede64114c22bb12d798dd5452eaec07625db96..072b2c0eba5aad7510b3fa3975b4b03e8f4e3117 100644 GIT binary patch delta 1842 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 HS^ob3DLynX delta 1689 zcmXAqdr(wW9LK+V_nzIocb6r|K+)Jx1Q7+t2Z&}UjjZ6Pr~xV@VuGe5sflIiDz8QH z!Fm7}0T&m9K!FBQvs6k!G*t3c;xt-5Qd0+=@?F+1@BZ`I**oW+b3WhiIotZLaQ7df z&|B5pX7Y410&E&kcAS_1_F+5%6A!M)QR#nj8><2KHwBi5HD>{-eX;m0)Vz|Pb07M67 z0p;iTRh7Rq2+<+MK&~%$6+-4z^kCLW8a$v=Vcu2D>MRAU+c3M6ER_{2tj@xmg)}VW z80Op?1(YNrK|c^!BqJg9PavxuiCN@i_edmW@1x0%gL~Ctw{tyN=@Eau-A?@+E8c3S=Y`u9+E$4#<8mpeQ%uMj z0(|~GQzzsA+Z;^2hQ=2@QE0owZ?QNbD}sk>JS=lZ!lG(MXBx7$YyOtIU3_HOdtrEd6Xu^gU*J|FL@B^KuhnjI`rUL=Zny95C z=#<^k#Am93J!P82`!T?}49&dpBy8PL9*=~aW@rK z8M#I4>0{754BG%i?bJN>BCk;K z{TvY9t*gI&gU)m@H%lg!mM@e7xLukkI1~9*$-}Ghwv@A+15K%t6~lp`e$u9l^W^(Y z?kb!6=%hRDBBgahVWUQR9?fXiQ+c`^DtXAk&6HumM&2ZQN`dmo%VfF8!Mo&Xk}M~` z7zyk;$o=*HKFM;*WLib#1UaQ9g<7#pq0cjgm6<$UAL=$#ZZlq|X3bJ)3*`s&LGGny zJxe1!mTtXdZ=*sc@F#k+sy7cecnq#e(&zS2-$s0+cNDh+Yisn*0lR6xqQ2@E1K>;i zo47N9TMQE!h+Mh$Kc<`*DxcF&c08pA$BHRQ88N-I{kU5OSqe8_*S)o0!cQUtfaq& z>;v5D5-HUG!Mj|h%8g|%mARz5&XfBaO)8O_jec_VKBE}0lrEbbzRKw5wd;{FzmB3? zR%I+X*N=pD8_WDjTGms3z?dOyJJJYlx~FBOWjhe5Fe%kV=sdF zG|=;}z{b|mDwDyc?gXqZU`bQy`!1D}o`B^Z1=5GAEUN=6&jyrbDhGIgIjE1dMCBYO zu(}q&oqlg@g@W`u&px26lNW2;HJ|a78vo(8eu&z50#9GhSUd{TD#p?c;ZgTn?XkN4)$g=Vd zAyO_*#I<;GY{3;CptT6)i9A;8FBD09sWwW}%iFX*F%FwBy@b}8>nCJw$^t@$3)Rl4 zK-FboaqJRc@+o2U?oX+si_qwD1u!NF+vf$)wl)hN$8^(twL;s;do;&h9wJ(Vd^1lL zy$APcq$bwnCoF{H^)Z#Dmi)1V$(E=OYxk z%CX{=CQ4{lulU=oR$%--@n$Rip1nt9PK@|Csg}~akO?&-D6T0?o3d<-PqSjeeFnq;NoXQCYl)t!aKtHknxS zxh9}w6l*#8H+BD(?T^w>pI&x2oL0|>VXZ5E2jgCWrocquHzw+#afxI z+dVRw4*@9;M%D&qa%nSO4MfH^B<@#N57XiOg{qD{#+FU4~WUvSs zZal*fD7`xD2f8m#@pXpCpwjt<#fzPR$W4Ztj4Z&?U|3$pf$I4Gc*w94LG--Ku*PwT zw9n&`9OZG`aNAWR=TcQxH5(qrFcRY}ZkI!bwaWqf$mdm4m zd6jbE;B9iO;U{@c-)QP}i+d}+hDs8;@1ogc6C{m0;IY7x{##lXCaE%A6N@ zixOadS78MtT*@lN(0GE<>dAYQ$Z-2WrQo;#`1>eDK{WDEPnBiCN^K9t@ukDcwhgU7 za=p^@GC7)hR@rgYNVm>aWyd38(RyBCw2aT4qg=Do83}u!T)(%L4DM38{Uc~sflBx7 z{-klBQM+mhS<`HM;k`JzY>pcJ!YBYG`}ldIyJkJVY4jajYn+utC&F!@aaPZpK+=6< zVmw`BA!RB{L%FZhBy*qfYfU-1IM&#{-9+c&2Cs066e=?KF{hbwb$_SrwVa~#h`XD- zH7z{E-N)Txj+n;b&6ANO|l z(sUh|==>mQuraMEE2O#y(U|hYQ%^Szbo7=Z3g+b$Ef^F%Wjw#0=XD@Bw^8HgiW!JQ g0uuf&d0t?e5tooK=y??{wR>@wJo&&Cd+XqT0g$2)&;S4c delta 1675 zcmXYx2~ZPf7>3_$_D`~#B^=ryieWr}78F`5;8{dRP_R-(ITFNx5COU69+fKMF*8DrFpxR_SOz-DW29WV8GK-}k-myMKL+u$2pI zEt)>nUhb{~02U3*drh|^Pr_d+?W@36 z)dB8wzqT1hB&EOofr4b7t8v#1>ZIRPk( z5f(--0>aJ6TJqM zX=Aqb0*Vi6GYt~})0f(14$`f(TU+-78DUT18^v%r){+AgMDNb6J6Ri^2A zJBzEB#%7Erd0aDDoF~aJp_R>UXr|PNf!sQ|$XEeLmL($Ee!P>u~ zxX6(jc4z9Fg5ms>E?k~luNxC~o;330&U$xOt1hwY6M8`|>Fnd?P@tW7h~8o?xuZKU zG>)V&>yEW$QZt^q#*V?j=q{D{mAd1%3W1OFbY~y90VA!t_F$4|-a_5ukt=~=7j@6w z>HTmx^xE(K0fGh*TpDC)41`x?BYbp4tr zR~l?0k2ZL@PS!V^^q^;k=#Oq$Kxe^eUSSB)4CluUzOKQB@mI5eemRDzN1lebd?i|9r!Nj=MB-6AzUvLQ)N% zEq%airHMjbCvTU`ean87mKJcJJV;uOVSweXw7U2TCG{S6mLojEq)s=H4EjZ7nYZ*Z zlF`gYo-2n)5pv)Wvd#WGuan&+K^}hNL%R2rUy`Gx&2nOz@$xC+O z-HNY=R+%14IXCxLX2#I56jGovuZf2^g}Rn0-)QEOH;qc`b`xN;^W{$ALh&tr$!V%w zw$5pL6$xHc&V5Z@nxQ MQTT::Client - + 0: At most once 0: Höchstens einmal - + 1: At least once 1: Mindestens einmal - + 2: Exactly once 2: Genau einmal - + Publisher Publisher - + Subscriber Abonnent - - + + System default Systemstandard - + Select CA file CA-Datei auswählen - + Cannot open CA file! CA-Datei kann nicht geöffnet werden! - + IP address lookup error IP-Adressensuchfehler - + Unknown error Unbekannter Fehler - + Connection refused Verbindung verweigert - + Remote host closed the connection Der entfernte Host hat die Verbindung geschlossen - + Host not found Host nicht gefunden - + Socket access error Socket-Zugriffsfehler - + Socket resource error Socket-Ressourcenfehler - + Socket timeout Socket-Zeitüberschreitung - + Socket datagram too large Socket-Datagramm zu groß - + Network error Netzwerkfehler - + Address in use Adresse wird verwendet - + Address not available Adresse nicht verfügbar - + Unsupported socket operation Nicht unterstützte Socket-Operation - + Unfinished socket operation Unvollständige Socket-Operation - + Proxy authentication required Proxy-Authentifizierung erforderlich - + SSL handshake failed SSL-Handshake fehlgeschlagen - + Proxy connection refused Proxy-Verbindung verweigert - + Proxy connection closed Proxy-Verbindung geschlossen - + Proxy connection timeout Proxy-Verbindungszeitüberschreitung - + Proxy not found Proxy nicht gefunden - + Proxy protocol error Proxy-Protokollfehler - + Operation error Betriebsfehler - + SSL internal error SSL-interner Fehler - + Invalid SSL user data Ungültige SSL-Benutzerdaten - + Socket temprary error Socket-Übergangsfehler @@ -1734,42 +1734,42 @@ Verwende die Schaltflächen in der Symbolleiste oben, um einen Datensatz zu dies Socket-Übergangsfehler - + Unacceptable MQTT protocol Unzulässiges MQTT-Protokoll - + MQTT identifier rejected MQTT-Kennung abgelehnt - + MQTT server unavailable MQTT-Server nicht verfügbar - + Bad MQTT username or password Ungültiger MQTT-Benutzername oder -Passwort - + MQTT authorization error MQTT-Autorisierungsfehler - + MQTT no ping response Keine MQTT-Ping-Antwort - + MQTT client error MQTT-Client-Fehler - + MQTT client SSL/TLS error, ignore? MQTT-Client SSL/TLS-Fehler, ignorieren? @@ -1782,112 +1782,122 @@ Verwende die Schaltflächen in der Symbolleiste oben, um einen Datensatz zu dies MQTT-Einrichtung - + Version Version - + Mode Modus - + QOS Level QOS-Stufe - + Keep Alive (s) Keep-Alive (s) - + Host Host - + Port Port - + Topic Topic - + Retain Beibehalten - + MQTT Topic MQTT-Topic - + Add Retain Flag Beibehaltungs-Flag hinzufügen - + User Benutzer - + Password Passwort - + MQTT Username MQTT-Benutzername - + MQTT Password MQTT-Passwort - + + Client ID: + Client-ID: + + + Enable SSL/TLS: SSL/TLS aktivieren: - + + MQTT Client ID + MQTT-Client-ID + + + Certificate: Zertifikat: - + Use System Database Systemdatenbank verwenden - + Custom CA File Benutzerdefinierte CA-Datei - + Protocol: Protokoll: - + Close Schließen - + Disconnect Trennen - + Connect Verbinden @@ -2736,32 +2746,32 @@ Verwende die Schaltflächen in der Symbolleiste oben, um einen Datensatz zu dies Kein Parsing (Gerät sendet JSON-Daten) - + Quick Plot (Comma Separated Values) Schnellplot (CSV) - + Parse via JSON Project File Über JSON-Projektdatei parsen - + Change Project File (%1) Projektdatei ändern (%1) - + Select Project File Projektdatei auswählen - + Device Gerät - + Settings Einstellungen @@ -2893,28 +2903,28 @@ Verwende die Schaltflächen in der Symbolleiste oben, um einen Datensatz zu dies MQTT - + Help Hilfe - + Examples Beispiele - + About Über - - + + Disconnect Trennen - + Connect Verbinden @@ -2990,7 +3000,7 @@ Verwende die Schaltflächen in der Symbolleiste oben, um einen Datensatz zu dies UI::Dashboard - + Status Panel Statusanzeige diff --git a/app/translations/ts/en_US.ts b/app/translations/ts/en_US.ts index 5ca86d7a..23276c84 100644 --- a/app/translations/ts/en_US.ts +++ b/app/translations/ts/en_US.ts @@ -1500,208 +1500,208 @@ Use the toolbar buttons above to add a dataset to this group. MQTT::Client - + 0: At most once - + 1: At least once - + 2: Exactly once - + Publisher - + Subscriber - - + + System default - + Select CA file - + Cannot open CA file! - + IP address lookup error - + Unknown error - + Connection refused - + Remote host closed the connection - + Host not found - + Socket access error - + Socket resource error - + Socket timeout - + Socket datagram too large - + Network error - + Address in use - + Address not available - + Unsupported socket operation - + Unfinished socket operation - + Proxy authentication required - + SSL handshake failed - + Proxy connection refused - + Proxy connection closed - + Proxy connection timeout - + Proxy not found - + Proxy protocol error - + Operation error - + SSL internal error - + Invalid SSL user data - + Socket temprary error - + Unacceptable MQTT protocol - + MQTT identifier rejected - + MQTT server unavailable - + Bad MQTT username or password - + MQTT authorization error - + MQTT no ping response - + MQTT client error - + MQTT client SSL/TLS error, ignore? @@ -1714,112 +1714,122 @@ Use the toolbar buttons above to add a dataset to this group. - + Version - + Mode - + QOS Level - + Keep Alive (s) - + Host - + Port - + Topic - + Retain - + MQTT Topic - + Add Retain Flag - + User - + Password - + MQTT Username - + MQTT Password - + + Client ID: + + + + Enable SSL/TLS: - + + MQTT Client ID + + + + Certificate: - + Use System Database - + Custom CA File - + Protocol: - + Close - + Disconnect - + Connect @@ -2194,32 +2204,32 @@ Use the toolbar buttons above to add a dataset to this group. - + Quick Plot (Comma Separated Values) - + Parse via JSON Project File - + Change Project File (%1) - + Select Project File - + Device - + Settings @@ -2343,28 +2353,28 @@ Use the toolbar buttons above to add a dataset to this group. - + Help - + Examples - + About - - + + Disconnect - + Connect @@ -2440,7 +2450,7 @@ Use the toolbar buttons above to add a dataset to this group. UI::Dashboard - + Status Panel diff --git a/app/translations/ts/es_MX.ts b/app/translations/ts/es_MX.ts index 80298347..cac0fbd4 100644 --- a/app/translations/ts/es_MX.ts +++ b/app/translations/ts/es_MX.ts @@ -1556,208 +1556,208 @@ Usa los botones de la barra de herramientas de arriba para agregar un conjunto d MQTT::Client - + 0: At most once 0: Como máximo una vez - + 1: At least once 1: Al menos una vez - + 2: Exactly once 2: Exactamente una vez - + Publisher Publicador - + Subscriber Suscriptor - - + + System default Predeterminado del sistema - + Select CA file Seleccionar archivo CA - + Cannot open CA file! ¡No se puede abrir el archivo CA! - + IP address lookup error Error de búsqueda de dirección IP - + Unknown error Error desconocido - + Connection refused Conexión rechazada - + Remote host closed the connection El host remoto cerró la conexión - + Host not found Host no encontrado - + Socket access error Error de acceso al socket - + Socket resource error Error de recursos del socket - + Socket timeout Tiempo de espera del socket - + Socket datagram too large Datagrama del socket demasiado grande - + Network error Error de red - + Address in use Dirección en uso - + Address not available Dirección no disponible - + Unsupported socket operation Operación de socket no soportada - + Unfinished socket operation Operación de socket no finalizada - + Proxy authentication required Autenticación de proxy requerida - + SSL handshake failed Fallo en el apretón de manos SSL - + Proxy connection refused Conexión de proxy rechazada - + Proxy connection closed Conexión de proxy cerrada - + Proxy connection timeout Tiempo de espera de la conexión de proxy - + Proxy not found Proxy no encontrado - + Proxy protocol error Error de protocolo de proxy - + Operation error Error de operación - + SSL internal error Error interno de SSL - + Invalid SSL user data Datos de usuario SSL inválidos - + Socket temprary error Error temporal de socket - + Unacceptable MQTT protocol Protocolo MQTT inaceptable - + MQTT identifier rejected Identificador MQTT rechazado - + MQTT server unavailable Servidor MQTT no disponible - + Bad MQTT username or password Nombre de usuario o contraseña de MQTT incorrectos - + MQTT authorization error Error de autorización MQTT - + MQTT no ping response Sin respuesta de ping MQTT - + MQTT client error Error del cliente MQTT - + MQTT client SSL/TLS error, ignore? Error SSL/TLS del cliente MQTT, ¿ignorar? @@ -1770,112 +1770,122 @@ Usa los botones de la barra de herramientas de arriba para agregar un conjunto d Configuración MQTT - + Version Versión - + Mode Modo - + QOS Level Nivel de QOS - + Keep Alive (s) Mantener activo (s) - + Host Host - + Port Puerto - + Topic Tema - + Retain Retener - + MQTT Topic Tema MQTT - + Add Retain Flag Agregar bandera de retención - + User Usuario - + Password Contraseña - + MQTT Username Usuario MQTT - + MQTT Password Contraseña MQTT - + + Client ID: + ID del Cliente: + + + Enable SSL/TLS: Habilitar SSL/TLS: - + + MQTT Client ID + ID de Cliente MQTT + + + Certificate: Certificado: - + Use System Database Usar base de datos del sistema - + Custom CA File Archivo CA personalizado - + Protocol: Protocolo: - + Close Cerrar - + Disconnect Desconectar - + Connect Conectar @@ -2724,32 +2734,32 @@ Usa los botones de la barra de herramientas de arriba para agregar un conjunto d El dispositivo envía datos JSON - + Quick Plot (Comma Separated Values) Graficación rápida (Formato CSV) - + Parse via JSON Project File Analizar con proyecto JSON - + Change Project File (%1) Cambiar proyecto (%1) - + Select Project File Seleccionar proyecto - + Device Dispositivo - + Settings Ajustes @@ -2881,28 +2891,28 @@ Usa los botones de la barra de herramientas de arriba para agregar un conjunto d MQTT - + Help Ayuda - + Examples Ejemplos - + About Acerca de - - + + Disconnect Desconectar - + Connect Conectar @@ -2990,7 +3000,7 @@ Usa los botones de la barra de herramientas de arriba para agregar un conjunto d UI::Dashboard - + Status Panel Panel de estado diff --git a/app/translations/ts/fr_FR.ts b/app/translations/ts/fr_FR.ts index e42f4168..fd259c4b 100644 --- a/app/translations/ts/fr_FR.ts +++ b/app/translations/ts/fr_FR.ts @@ -1505,168 +1505,168 @@ Utilisez les boutons de la barre d'outils ci-dessus pour ajouter un ensembl MQTT::Client - + 0: At most once 0: Au plus une fois - + 1: At least once 1: Au moins une fois - + 2: Exactly once 2: Exactement une fois - + Publisher Éditeur - + Subscriber Abonné - - + + System default Paramètre par défaut du système - + Select CA file Sélectionner le fichier CA - + Cannot open CA file! Impossible d'ouvrir le fichier CA ! - + IP address lookup error Erreur de recherche d'adresse IP - + Unknown error Erreur inconnue - + Connection refused Connexion refusée - + Remote host closed the connection L'hôte distant a fermé la connexion - + Host not found Hôte non trouvé - + Socket access error Erreur d'accès au socket - + Socket resource error Erreur de ressource socket - + Socket timeout Délai d'attente du socket - + Socket datagram too large Datagramme de socket trop grand - + Network error Erreur réseau - + Address in use Adresse en cours d'utilisation - + Address not available Adresse non disponible - + Unsupported socket operation Opération socket non prise en charge - + Unfinished socket operation Opération socket inachevée - + Proxy authentication required Authentification du proxy requise - + SSL handshake failed Échec de la poignée de main SSL - + Proxy connection refused Connexion au proxy refusée - + Proxy connection closed Connexion au proxy fermée - + Proxy connection timeout Délai d'attente de la connexion au proxy - + Proxy not found Proxy non trouvé - + Proxy protocol error Erreur de protocole du proxy - + Operation error Erreur d'opération - + SSL internal error Erreur interne SSL - + Invalid SSL user data Données utilisateur SSL invalides - + Socket temprary error Erreur temporaire du socket @@ -1675,42 +1675,42 @@ Utilisez les boutons de la barre d'outils ci-dessus pour ajouter un ensembl Erreur temporaire du socket - + Unacceptable MQTT protocol Protocole MQTT inacceptable - + MQTT identifier rejected Identifiant MQTT rejeté - + MQTT server unavailable Serveur MQTT indisponible - + Bad MQTT username or password Nom d'utilisateur ou mot de passe MQTT incorrect - + MQTT authorization error Erreur d'autorisation MQTT - + MQTT no ping response Aucune réponse au ping MQTT - + MQTT client error Erreur du client MQTT - + MQTT client SSL/TLS error, ignore? Erreur SSL/TLS du client MQTT, ignorer ? @@ -1723,112 +1723,122 @@ Utilisez les boutons de la barre d'outils ci-dessus pour ajouter un ensembl Configuration MQTT - + Version Version - + Mode Mode - + QOS Level Niveau QOS - + Keep Alive (s) Durée de vie (s) - + Host Hôte - + Port Port - + Topic Topic - + Retain Conserver - + MQTT Topic Topic MQTT - + Add Retain Flag Ajouter le drapeau Conserver - + User Utilisateur - + Password Mot de passe - + MQTT Username Nom d'utilisateur MQTT - + MQTT Password Mot de passe MQTT - + + Client ID: + ID Client : + + + Enable SSL/TLS: Activer SSL/TLS : - + + MQTT Client ID + ID Client MQTT + + + Certificate: Certificat : - + Use System Database Utiliser la base de données système - + Custom CA File Fichier CA personnalisé - + Protocol: Protocole : - + Close Fermer - + Disconnect Déconnecter - + Connect Connecter @@ -2207,32 +2217,32 @@ Utilisez les boutons de la barre d'outils ci-dessus pour ajouter un ensembl Pas d'Analyse (L'Appareil Envoie des Données JSON) - + Quick Plot (Comma Separated Values) Graphique Rapide (Valeurs Séparées par des Virgules) - + Parse via JSON Project File Analyser via un Fichier de Projet JSON - + Change Project File (%1) Changer le Fichier de Projet (%1) - + Select Project File Sélectionner le Fichier de Projet - + Device Appareil - + Settings Paramètres @@ -2356,28 +2366,28 @@ Utilisez les boutons de la barre d'outils ci-dessus pour ajouter un ensembl MQTT - + Help Aide - + Examples Exemples - + About À propos - - + + Disconnect Déconnecter - + Connect Connecter @@ -2453,7 +2463,7 @@ Utilisez les boutons de la barre d'outils ci-dessus pour ajouter un ensembl UI::Dashboard - + Status Panel Panneau de Statut diff --git a/app/translations/ts/ru_RU.ts b/app/translations/ts/ru_RU.ts index 8cdbf2f1..d90f0f0c 100644 --- a/app/translations/ts/ru_RU.ts +++ b/app/translations/ts/ru_RU.ts @@ -1560,208 +1560,208 @@ Use the toolbar buttons above to add a dataset to this group. MQTT::Client - + 0: At most once 0: Не более одного раза - + 1: At least once 1: Как минимум один раз - + 2: Exactly once 2: Точно один раз - + Publisher Издатель - + Subscriber Подписчик - - + + System default Системное значение по умолчанию - + Select CA file Выберите файл CA - + Cannot open CA file! Не удается открыть файл CA! - + IP address lookup error Ошибка поиска IP-адреса - + Unknown error Неизвестная ошибка - + Connection refused Соединение отклонено - + Remote host closed the connection Удаленный хост закрыл соединение - + Host not found Хост не найден - + Socket access error Ошибка доступа к сокету - + Socket resource error Ошибка ресурса сокета - + Socket timeout Тайм-аут сокета - + Socket datagram too large Датаграмма сокета слишком велика - + Network error Сетевая ошибка - + Address in use Адрес уже используется - + Address not available Адрес недоступен - + Unsupported socket operation Операция с сокетом не поддерживается - + Unfinished socket operation Незавершенная операция с сокетом - + Proxy authentication required Требуется аутентификация прокси - + SSL handshake failed Ошибка SSL рукопожатия - + Proxy connection refused Соединение через прокси отклонено - + Proxy connection closed Соединение через прокси закрыто - + Proxy connection timeout Тайм-аут соединения через прокси - + Proxy not found Прокси не найден - + Proxy protocol error Ошибка протокола прокси - + Operation error Ошибка операции - + SSL internal error Внутренняя ошибка SSL - + Invalid SSL user data Недопустимые данные пользователя SSL - + Socket temprary error Временная ошибка сокета - + Unacceptable MQTT protocol Неприемлемый протокол MQTT - + MQTT identifier rejected Идентификатор MQTT отклонен - + MQTT server unavailable Сервер MQTT недоступен - + Bad MQTT username or password Неправильное имя пользователя или пароль MQTT - + MQTT authorization error Ошибка авторизации MQTT - + MQTT no ping response Нет ответа на ping MQTT - + MQTT client error Ошибка клиента MQTT - + MQTT client SSL/TLS error, ignore? Ошибка SSL/TLS клиента MQTT, игнорировать? @@ -1774,112 +1774,122 @@ Use the toolbar buttons above to add a dataset to this group. Настройка MQTT - + Version Версия - + Mode Режим - + QOS Level Уровень QOS - + Keep Alive (s) Keep Alive (сек) - + Host Хост - + Port Порт - + Topic Тема - + Retain Сохранить - + MQTT Topic Тема MQTT - + Add Retain Flag Добавить флаг Retain - + User Пользователь - + Password Пароль - + MQTT Username Имя пользователя MQTT - + MQTT Password Пароль MQTT - + + Client ID: + Идентификатор клиента: + + + Enable SSL/TLS: Включить SSL/TLS: - + + MQTT Client ID + MQTT Идентификатор клиента + + + Certificate: Сертификат: - + Use System Database Использовать системную базу данных - + Custom CA File Пользовательский файл CA - + Protocol: Протокол: - + Close Закрыть - + Disconnect Отключиться - + Connect Подключиться @@ -2728,32 +2738,32 @@ Use the toolbar buttons above to add a dataset to this group. Без парсинга - + Quick Plot (Comma Separated Values) Быстрый график (Формат CSV) - + Parse via JSON Project File Парсить через JSON файл проекта - + Change Project File (%1) Изменить файл проекта (%1) - + Select Project File Выбрать файл проекта - + Device Устройство - + Settings Настройки @@ -2885,28 +2895,28 @@ Use the toolbar buttons above to add a dataset to this group. MQTT - + Help Помощь - + Examples Примеры - + About О программе - - + + Disconnect Отключиться - + Connect Подключиться @@ -2994,7 +3004,7 @@ Use the toolbar buttons above to add a dataset to this group. UI::Dashboard - + Status Panel Панель состояния diff --git a/app/translations/ts/zh_CN.ts b/app/translations/ts/zh_CN.ts index 5acec3f1..66a2270a 100644 --- a/app/translations/ts/zh_CN.ts +++ b/app/translations/ts/zh_CN.ts @@ -1564,208 +1564,208 @@ Use the toolbar buttons above to add a dataset to this group. MQTT::Client - + 0: At most once 0:最多一次 - + 1: At least once 1:至少一次 - + 2: Exactly once 2:刚好一次 - + Publisher 发布者 - + Subscriber 订阅者 - - + + System default 系统默认 - + Select CA file 选择CA文件 - + Cannot open CA file! 无法打开CA文件! - + IP address lookup error IP地址查找错误 - + Unknown error 未知错误 - + Connection refused 连接被拒绝 - + Remote host closed the connection 远程主机关闭了连接 - + Host not found 未找到主机 - + Socket access error 套接字访问错误 - + Socket resource error 套接字资源错误 - + Socket timeout 套接字超时 - + Socket datagram too large 套接字数据报太大 - + Network error 网络错误 - + Address in use 地址已在使用 - + Address not available 地址不可用 - + Unsupported socket operation 不支持的套接字操作 - + Unfinished socket operation 未完成的套接字操作 - + Proxy authentication required 需要代理身份验证 - + SSL handshake failed SSL握手失败 - + Proxy connection refused 代理连接被拒绝 - + Proxy connection closed 代理连接关闭 - + Proxy connection timeout 代理连接超时 - + Proxy not found 未找到代理 - + Proxy protocol error 代理协议错误 - + Operation error 操作错误 - + SSL internal error SSL内部错误 - + Invalid SSL user data 无效的SSL用户数据 - + Socket temprary error 套接字临时错误 - + Unacceptable MQTT protocol 不可接受的MQTT协议 - + MQTT identifier rejected MQTT标识符被拒绝 - + MQTT server unavailable MQTT服务器不可用 - + Bad MQTT username or password MQTT用户名或密码错误 - + MQTT authorization error MQTT授权错误 - + MQTT no ping response MQTT无Ping响应 - + MQTT client error MQTT客户端错误 - + MQTT client SSL/TLS error, ignore? MQTT客户端SSL/TLS错误,是否忽略? @@ -1778,112 +1778,122 @@ Use the toolbar buttons above to add a dataset to this group. MQTT 设置 - + Version 版本 - + Mode 模式 - + QOS Level QOS 级别 - + Keep Alive (s) 保持活跃(秒) - + Host 主机 - + Port 端口 - + Topic 主题 - + Retain 保持 - + MQTT Topic MQTT 主题 - + Add Retain Flag 添加保持标志 - + User 用户 - + Password 密码 - + MQTT Username MQTT 用户名 - + MQTT Password MQTT 密码 - + + Client ID: + 客户端ID: + + + Enable SSL/TLS: 启用 SSL/TLS: - + + MQTT Client ID + MQTT客户端ID + + + Certificate: 证书: - + Use System Database 使用系统数据库 - + Custom CA File 自定义 CA 文件 - + Protocol: 协议: - + Close 关闭 - + Disconnect 断开连接 - + Connect 连接 @@ -2732,32 +2742,32 @@ Use the toolbar buttons above to add a dataset to this group. 无解析(设备发送JSON数据) - + Quick Plot (Comma Separated Values) 快速绘图 (CSV格式) - + Parse via JSON Project File 通过JSON项目文件解析 - + Change Project File (%1) 更改项目文件 (%1) - + Select Project File 选择项目文件 - + Device 设备 - + Settings 设置 @@ -2889,28 +2899,28 @@ Use the toolbar buttons above to add a dataset to this group. MQTT - + Help 帮助 - + Examples 示例 - + About 关于 - - + + Disconnect 断开连接 - + Connect 连接 @@ -2986,7 +2996,7 @@ Use the toolbar buttons above to add a dataset to this group. UI::Dashboard - + Status Panel 状态面板