fork download
  1. [
  2. {
  3. "id": "beb272e1.718f2",
  4. "type": "subflow",
  5. "name": "Lấy dữ từ iNut",
  6. "info": "",
  7. "in": [
  8. {
  9. "x": 50,
  10. "y": 30,
  11. "wires": [
  12. {
  13. "id": "a1b88fc4.64d4b"
  14. }
  15. ]
  16. }
  17. ],
  18. "out": [
  19. {
  20. "x": 1000,
  21. "y": 180,
  22. "wires": [
  23. {
  24. "id": "88c2dcd2.643f1",
  25. "port": 0
  26. }
  27. ]
  28. },
  29. {
  30. "x": 1000,
  31. "y": 260,
  32. "wires": [
  33. {
  34. "id": "88c2dcd2.643f1",
  35. "port": 1
  36. }
  37. ]
  38. },
  39. {
  40. "x": 980,
  41. "y": 320,
  42. "wires": [
  43. {
  44. "id": "88c2dcd2.643f1",
  45. "port": 2
  46. }
  47. ]
  48. }
  49. ],
  50. "inputLabels": [
  51. "Nhận đầu vào MQTT IN từ iNut cảm biến"
  52. ],
  53. "outputLabels": [
  54. "Luồng cảm biến 1",
  55. "Luồng cảm biến 2",
  56. "Luồng cảm biến 3",
  57. "Luồng cảm biến 4",
  58. "Luồng cảm biến 5",
  59. "Luồng cảm biến 6",
  60. "Luồng cảm biến 7",
  61. "Luồng cảm biến 8"
  62. ]
  63. },
  64. {
  65. "id": "a1b88fc4.64d4b",
  66. "type": "json",
  67. "z": "beb272e1.718f2",
  68. "name": "",
  69. "property": "payload",
  70. "action": "",
  71. "pretty": false,
  72. "x": 165,
  73. "y": 84,
  74. "wires": [
  75. [
  76. "539af8f6.6de3f8"
  77. ]
  78. ]
  79. },
  80. {
  81. "id": "88c2dcd2.643f1",
  82. "type": "switch",
  83. "z": "beb272e1.718f2",
  84. "name": "Phân luồn",
  85. "property": "relayId",
  86. "propertyType": "msg",
  87. "rules": [
  88. {
  89. "t": "eq",
  90. "v": "0",
  91. "vt": "num"
  92. },
  93. {
  94. "t": "eq",
  95. "v": "1",
  96. "vt": "num"
  97. },
  98. {
  99. "t": "eq",
  100. "v": "2",
  101. "vt": "num"
  102. }
  103. ],
  104. "checkall": "true",
  105. "repair": false,
  106. "outputs": 3,
  107. "x": 825.9869575500488,
  108. "y": 288.1562738418579,
  109. "wires": [
  110. [],
  111. [],
  112. []
  113. ]
  114. },
  115. {
  116. "id": "539af8f6.6de3f8",
  117. "type": "function",
  118. "z": "beb272e1.718f2",
  119. "name": "Lặp",
  120. "func": "if (!msg.states) {\n msg.states = msg.payload\n msg.i = 0\n return msg;\n} else {\n msg.i++\n if (msg.states[msg.i])\n return msg;\n}\n",
  121. "outputs": 1,
  122. "noerr": 0,
  123. "x": 327.89060974121094,
  124. "y": 83.33600330352783,
  125. "wires": [
  126. [
  127. "c5938e3d.d1fbb"
  128. ]
  129. ]
  130. },
  131. {
  132. "id": "c5938e3d.d1fbb",
  133. "type": "function",
  134. "z": "beb272e1.718f2",
  135. "name": "Lấy trạng thái thiết bị",
  136. "func": "msg.relayId = msg.i\nmsg.payload = msg.states[msg.i].state\nreturn msg;",
  137. "outputs": 1,
  138. "noerr": 0,
  139. "x": 477.89060974121094,
  140. "y": 183.33600330352783,
  141. "wires": [
  142. [
  143. "539af8f6.6de3f8",
  144. "88c2dcd2.643f1"
  145. ]
  146. ]
  147. },
  148. {
  149. "id": "689bf8e4.989f18",
  150. "type": "ui_gauge",
  151. "z": "78f7e2bb.3b2d9c",
  152. "name": "",
  153. "group": "352403e1.779a5c",
  154. "order": 1,
  155. "width": "6",
  156. "height": "3",
  157. "gtype": "gage",
  158. "title": "Hướng Gió",
  159. "label": "",
  160. "format": "{{value}}",
  161. "min": 0,
  162. "max": "15",
  163. "colors": [
  164. "#1f964f",
  165. "#e6e600",
  166. "#ca3838"
  167. ],
  168. "seg1": "",
  169. "seg2": "",
  170. "x": 790,
  171. "y": 660,
  172. "wires": []
  173. },
  174. {
  175. "id": "960a236b.cc49c",
  176. "type": "ui_gauge",
  177. "z": "78f7e2bb.3b2d9c",
  178. "name": "",
  179. "group": "156c2391.cc456c",
  180. "order": 1,
  181. "width": "6",
  182. "height": "3",
  183. "gtype": "gage",
  184. "title": "Gió",
  185. "label": "m/s",
  186. "format": "{{value}}",
  187. "min": 0,
  188. "max": "1000",
  189. "colors": [
  190. "#1f964f",
  191. "#e6e600",
  192. "#ca3838"
  193. ],
  194. "seg1": "",
  195. "seg2": "",
  196. "x": 730,
  197. "y": 480,
  198. "wires": []
  199. },
  200. {
  201. "id": "a0b0981d.3c98b8",
  202. "type": "subflow:beb272e1.718f2",
  203. "z": "78f7e2bb.3b2d9c",
  204. "name": "",
  205. "x": 380,
  206. "y": 600,
  207. "wires": [
  208. [
  209. "79c342d6.f2cabc"
  210. ],
  211. [
  212. "482febe8.68e5a4"
  213. ],
  214. [
  215. "62ab0033.45abf"
  216. ]
  217. ]
  218. },
  219. {
  220. "id": "62ca446c.63776c",
  221. "type": "ui_gauge",
  222. "z": "78f7e2bb.3b2d9c",
  223. "name": "",
  224. "group": "add3a25d.5ad48",
  225. "order": 1,
  226. "width": "6",
  227. "height": "3",
  228. "gtype": "gage",
  229. "title": "Lưu Lượng Mưa",
  230. "label": "mm",
  231. "format": "{{value}}",
  232. "min": 0,
  233. "max": "1000",
  234. "colors": [
  235. "#1f964f",
  236. "#e6e600",
  237. "#ca3838"
  238. ],
  239. "seg1": "",
  240. "seg2": "",
  241. "x": 760,
  242. "y": 720,
  243. "wires": []
  244. },
  245. {
  246. "id": "79c342d6.f2cabc",
  247. "type": "change",
  248. "z": "78f7e2bb.3b2d9c",
  249. "name": "",
  250. "rules": [
  251. {
  252. "t": "set",
  253. "p": "topic",
  254. "pt": "msg",
  255. "to": "Gió",
  256. "tot": "str"
  257. }
  258. ],
  259. "action": "",
  260. "property": "",
  261. "from": "",
  262. "to": "",
  263. "reg": false,
  264. "x": 550,
  265. "y": 480,
  266. "wires": [
  267. [
  268. "5806ccec.5559b4",
  269. "960a236b.cc49c"
  270. ]
  271. ]
  272. },
  273. {
  274. "id": "5806ccec.5559b4",
  275. "type": "ui_chart",
  276. "z": "78f7e2bb.3b2d9c",
  277. "name": "",
  278. "group": "156c2391.cc456c",
  279. "order": 2,
  280. "width": "6",
  281. "height": "6",
  282. "label": "Biểu Đồ Gió",
  283. "chartType": "line",
  284. "legend": "false",
  285. "xformat": "HH:mm:ss",
  286. "interpolate": "linear",
  287. "nodata": "Biểu Đồ Gió",
  288. "dot": false,
  289. "ymin": "-5",
  290. "ymax": "1000",
  291. "removeOlder": "2",
  292. "removeOlderPoints": "2000",
  293. "removeOlderUnit": "60",
  294. "cutout": 0,
  295. "useOneColor": false,
  296. "colors": [
  297. "#1f77b4",
  298. "#aec7e8",
  299. "#ff7f0e",
  300. "#2ca02c",
  301. "#98df8a",
  302. "#d62728",
  303. "#ff9896",
  304. "#9467bd",
  305. "#c5b0d5"
  306. ],
  307. "useOldStyle": false,
  308. "outputs": 1,
  309. "x": 730,
  310. "y": 400,
  311. "wires": [
  312. []
  313. ]
  314. },
  315. {
  316. "id": "62ab0033.45abf",
  317. "type": "change",
  318. "z": "78f7e2bb.3b2d9c",
  319. "name": "",
  320. "rules": [
  321. {
  322. "t": "set",
  323. "p": "topic",
  324. "pt": "msg",
  325. "to": "Lưu Lượng Mưa",
  326. "tot": "str"
  327. }
  328. ],
  329. "action": "",
  330. "property": "",
  331. "from": "",
  332. "to": "",
  333. "reg": false,
  334. "x": 550,
  335. "y": 720,
  336. "wires": [
  337. [
  338. "f69684ef.eef1f8",
  339. "62ca446c.63776c"
  340. ]
  341. ]
  342. },
  343. {
  344. "id": "f69684ef.eef1f8",
  345. "type": "ui_chart",
  346. "z": "78f7e2bb.3b2d9c",
  347. "name": "",
  348. "group": "add3a25d.5ad48",
  349. "order": 2,
  350. "width": "6",
  351. "height": "6",
  352. "label": "Biểu Đồ Lưu Lượng Mưa",
  353. "chartType": "line",
  354. "legend": "false",
  355. "xformat": "HH:mm:ss",
  356. "interpolate": "linear",
  357. "nodata": "Biểu Đồ Lưu Lượng Mưa",
  358. "dot": false,
  359. "ymin": "-5",
  360. "ymax": "1000",
  361. "removeOlder": "2",
  362. "removeOlderPoints": "2000",
  363. "removeOlderUnit": "60",
  364. "cutout": 0,
  365. "useOneColor": false,
  366. "colors": [
  367. "#1f77b4",
  368. "#aec7e8",
  369. "#ff7f0e",
  370. "#2ca02c",
  371. "#98df8a",
  372. "#d62728",
  373. "#ff9896",
  374. "#9467bd",
  375. "#c5b0d5"
  376. ],
  377. "useOldStyle": false,
  378. "outputs": 1,
  379. "x": 770,
  380. "y": 780,
  381. "wires": [
  382. []
  383. ]
  384. },
  385. {
  386. "id": "482febe8.68e5a4",
  387. "type": "change",
  388. "z": "78f7e2bb.3b2d9c",
  389. "name": "",
  390. "rules": [
  391. {
  392. "t": "set",
  393. "p": "topic",
  394. "pt": "msg",
  395. "to": "Hướng Gió",
  396. "tot": "str"
  397. }
  398. ],
  399. "action": "",
  400. "property": "",
  401. "from": "",
  402. "to": "",
  403. "reg": false,
  404. "x": 570,
  405. "y": 600,
  406. "wires": [
  407. [
  408. "689bf8e4.989f18",
  409. "845ebb19.3c9908",
  410. "a5c752c0.0f0dd"
  411. ]
  412. ]
  413. },
  414. {
  415. "id": "845ebb19.3c9908",
  416. "type": "ui_gauge",
  417. "z": "78f7e2bb.3b2d9c",
  418. "name": "",
  419. "group": "352403e1.779a5c",
  420. "order": 2,
  421. "width": "6",
  422. "height": "5",
  423. "gtype": "compass",
  424. "title": "La Bàn",
  425. "label": "NEWS",
  426. "format": "{{value}}",
  427. "min": "0",
  428. "max": "16",
  429. "colors": [
  430. "#00b500",
  431. "#e6e600",
  432. "#ca3838"
  433. ],
  434. "seg1": "",
  435. "seg2": "",
  436. "x": 780,
  437. "y": 540,
  438. "wires": []
  439. },
  440. {
  441. "id": "a5c752c0.0f0dd",
  442. "type": "function",
  443. "z": "78f7e2bb.3b2d9c",
  444. "name": "Set Hướng Theo Yêu Cầu",
  445. "func": "var huong;\nif (msg.payload == 0) {\n huong = \"Bắc\";\n}\nelse if (msg.payload == 1) {\n huong = \"Bắc Đông Bắc\";\n}\nelse if (msg.payload == 2) {\n huong = \"Đông Bắc\";\n}\nelse if (msg.payload == 3) {\n huong = \"Đông Đông Bắc\";\n}\nelse if (msg.payload == 4) {\n huong = \"Đông\";\n}\nelse if (msg.payload == 5) {\n huong = \"Đông Đông Nam\";\n}\nelse if (msg.payload == 6) {\n huong = \"Đông Nam\";\n}\nelse if (msg.payload == 7) {\n huong = \"Nam Đông Nam\";\n}\nelse if (msg.payload == 8) {\n huong = \"Nam\";\n}\nelse if (msg.payload == 9) {\n huong = \"Nam Tây Nam\";\n}\nelse if (msg.payload == 10) {\n huong = \"Tây Nam\";\n}\nelse if (msg.payload == 11) {\n huong = \"Tây Tây Nam\";\n}\nelse if (msg.payload == 12) {\n huong = \"Tây\";\n}\nelse if (msg.payload == 13) {\n huong = \"Tây Tây Bắc\";\n}\nelse if (msg.payload == 14) {\n huong = \"Tây Bắc\";\n}\nelse if (msg.payload == 15) {\n huong = \"Bắc Tây Bắc\";\n}\nmsg.payload = huong;\nreturn msg;",
  446. "outputs": 1,
  447. "noerr": 0,
  448. "x": 810,
  449. "y": 600,
  450. "wires": [
  451. [
  452. "554fc50e.66f75c"
  453. ]
  454. ]
  455. },
  456. {
  457. "id": "554fc50e.66f75c",
  458. "type": "ui_text",
  459. "z": "78f7e2bb.3b2d9c",
  460. "group": "352403e1.779a5c",
  461. "order": 2,
  462. "width": 0,
  463. "height": 0,
  464. "name": "",
  465. "label": "Hướng:",
  466. "format": "{{msg.payload}}",
  467. "layout": "row-center",
  468. "x": 1020,
  469. "y": 600,
  470. "wires": []
  471. },
  472. {
  473. "id": "1880698b.af4b96",
  474. "type": "mqtt in",
  475. "z": "78f7e2bb.3b2d9c",
  476. "name": "[MQTT-IN]LaCrosse",
  477. "topic": "request/5Wl5TpkHs7Sy2Zxav1W4GWlv6Yl1/H1Mlh33UN/4b9f9dc914442ac7bc3be38377832957717354287137",
  478. "qos": "2",
  479. "broker": "869a4e98.9ec2",
  480. "x": 150,
  481. "y": 560,
  482. "wires": [
  483. [
  484. "a0b0981d.3c98b8"
  485. ]
  486. ]
  487. },
  488. {
  489. "id": "235eeb7b.65a7d4",
  490. "type": "http request",
  491. "z": "78f7e2bb.3b2d9c",
  492. "name": "[REST][GET]LaCrosse",
  493. "method": "GET",
  494. "ret": "txt",
  495. "url": "https://c...content-available-to-author-only...e.vn/api/1.0/request/5Wl5TpkHs7Sy2Zxav1W4GWlv6Yl1/H1Mlh33UN/4b9f9dc914442ac7bc3be38377832957717354287137/req_device",
  496. "tls": "",
  497. "x": 380,
  498. "y": 400,
  499. "wires": [
  500. []
  501. ]
  502. },
  503. {
  504. "id": "4df422ed.0787cc",
  505. "type": "http request",
  506. "z": "78f7e2bb.3b2d9c",
  507. "name": "[REST][POST]LaCrosse",
  508. "method": "POST",
  509. "ret": "txt",
  510. "url": "https://c...content-available-to-author-only...e.vn/api/1.0/request/5Wl5TpkHs7Sy2Zxav1W4GWlv6Yl1/H1Mlh33UN/4b9f9dc914442ac7bc3be38377832957717354287137/req_device_toggle",
  511. "tls": "",
  512. "x": 120,
  513. "y": 400,
  514. "wires": [
  515. []
  516. ]
  517. },
  518. {
  519. "id": "145fa4ea.902d0b",
  520. "type": "mqtt in",
  521. "z": "78f7e2bb.3b2d9c",
  522. "name": "[MQTT-IN]iNut cảm biến - iNut S1",
  523. "topic": "request/5Wl5TpkHs7Sy2Zxav1W4GWlv6Yl1/By7KqT8pm/3083ebabca806130bb0f7a9eb703fa7d858976875246",
  524. "qos": "2",
  525. "broker": "c180542c.84e2d8",
  526. "x": 130,
  527. "y": 620,
  528. "wires": [
  529. []
  530. ]
  531. },
  532. {
  533. "id": "74454c1e.8ab6e4",
  534. "type": "inject",
  535. "z": "78f7e2bb.3b2d9c",
  536. "name": "",
  537. "topic": "",
  538. "payload": "3",
  539. "payloadType": "num",
  540. "repeat": "",
  541. "crontab": "",
  542. "once": false,
  543. "onceDelay": 0.1,
  544. "x": 350,
  545. "y": 700,
  546. "wires": [
  547. [
  548. "482febe8.68e5a4"
  549. ]
  550. ]
  551. },
  552. {
  553. "id": "352403e1.779a5c",
  554. "type": "ui_group",
  555. "z": "",
  556. "name": "DATA 3",
  557. "tab": "418ca3dd.8ead5c",
  558. "order": 3,
  559. "disp": true,
  560. "width": "6",
  561. "collapse": true
  562. },
  563. {
  564. "id": "156c2391.cc456c",
  565. "type": "ui_group",
  566. "z": "",
  567. "name": "DATA 1",
  568. "tab": "418ca3dd.8ead5c",
  569. "order": 1,
  570. "disp": true,
  571. "width": "6",
  572. "collapse": true
  573. },
  574. {
  575. "id": "add3a25d.5ad48",
  576. "type": "ui_group",
  577. "z": "",
  578. "name": "DATA 2",
  579. "tab": "418ca3dd.8ead5c",
  580. "order": 2,
  581. "disp": true,
  582. "width": "6",
  583. "collapse": true
  584. },
  585. {
  586. "id": "869a4e98.9ec2",
  587. "type": "mqtt-broker",
  588. "name": "",
  589. "broker": "mqtt.mysmarthome.vn",
  590. "port": "1883",
  591. "clientid": "",
  592. "usetls": false,
  593. "compatmode": true,
  594. "keepalive": "60",
  595. "cleansession": true,
  596. "willTopic": "",
  597. "willQos": "0",
  598. "willPayload": "",
  599. "birthTopic": "",
  600. "birthQos": "0",
  601. "birthPayload": ""
  602. },
  603. {
  604. "id": "c180542c.84e2d8",
  605. "type": "mqtt-broker",
  606. "name": "",
  607. "broker": "mqtt.mysmarthome.vn",
  608. "port": "1883",
  609. "clientid": "",
  610. "usetls": false,
  611. "compatmode": true,
  612. "keepalive": "60",
  613. "cleansession": true,
  614. "willTopic": "",
  615. "willQos": "0",
  616. "willPayload": "",
  617. "birthTopic": "",
  618. "birthQos": "0",
  619. "birthPayload": ""
  620. },
  621. {
  622. "id": "418ca3dd.8ead5c",
  623. "type": "ui_tab",
  624. "z": "",
  625. "name": "Thời Tiết",
  626. "icon": "dashboard",
  627. "order": 1,
  628. "disabled": false,
  629. "hidden": false
  630. }
  631. ]
Success #stdin #stdout 0.34s 2247168KB
stdin
Standard input is empty
stdout
Standard output is empty