Advertisement
Guest User

Priklad topeni v node red

a guest
Jan 25th, 2021
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 28.77 KB | None | 0 0
  1. [
  2. {
  3. "id": "b419ea46.c63ae8",
  4. "type": "subflow",
  5. "name": "Subflow 1",
  6. "info": "",
  7. "in": [
  8. {
  9. "x": 40,
  10. "y": 80,
  11. "wires": [
  12. {
  13. "id": "c555065e.590fd8"
  14. }
  15. ]
  16. }
  17. ],
  18. "out": [
  19. {
  20. "x": 900,
  21. "y": 120,
  22. "wires": [
  23. {
  24. "id": "ae976dca.67a14",
  25. "port": 0
  26. }
  27. ]
  28. },
  29. {
  30. "x": 900,
  31. "y": 160,
  32. "wires": [
  33. {
  34. "id": "490c4377.cf2ebc",
  35. "port": 0
  36. }
  37. ]
  38. },
  39. {
  40. "x": 900,
  41. "y": 200,
  42. "wires": [
  43. {
  44. "id": "5c174a70.4e1114",
  45. "port": 0
  46. }
  47. ]
  48. }
  49. ]
  50. },
  51. {
  52. "id": "8ec95238.098d6",
  53. "type": "switch",
  54. "z": "b419ea46.c63ae8",
  55. "name": "Topeni zapnuto?",
  56. "property": "VYTAPENI_STAV",
  57. "propertyType": "global",
  58. "rules": [
  59. {
  60. "t": "false"
  61. },
  62. {
  63. "t": "true"
  64. }
  65. ],
  66. "checkall": "true",
  67. "repair": false,
  68. "outputs": 2,
  69. "x": 220,
  70. "y": 140,
  71. "wires": [
  72. [
  73. "490c4377.cf2ebc"
  74. ],
  75. [
  76. "1026cd1a.562053"
  77. ]
  78. ]
  79. },
  80. {
  81. "id": "c555065e.590fd8",
  82. "type": "switch",
  83. "z": "b419ea46.c63ae8",
  84. "name": "Force?",
  85. "property": "VYTAPENI_FORCE",
  86. "propertyType": "global",
  87. "rules": [
  88. {
  89. "t": "true"
  90. },
  91. {
  92. "t": "false"
  93. }
  94. ],
  95. "checkall": "true",
  96. "repair": false,
  97. "outputs": 2,
  98. "x": 200,
  99. "y": 80,
  100. "wires": [
  101. [
  102. "ae976dca.67a14"
  103. ],
  104. [
  105. "8ec95238.098d6"
  106. ]
  107. ]
  108. },
  109. {
  110. "id": "ae976dca.67a14",
  111. "type": "change",
  112. "z": "b419ea46.c63ae8",
  113. "name": "Topení zapnuto - force",
  114. "rules": [
  115. {
  116. "t": "set",
  117. "p": "payload",
  118. "pt": "msg",
  119. "to": "Topení zapnuto - force",
  120. "tot": "str"
  121. }
  122. ],
  123. "action": "",
  124. "property": "",
  125. "from": "",
  126. "to": "",
  127. "reg": false,
  128. "x": 640,
  129. "y": 120,
  130. "wires": [
  131. []
  132. ]
  133. },
  134. {
  135. "id": "5c174a70.4e1114",
  136. "type": "change",
  137. "z": "b419ea46.c63ae8",
  138. "name": "Topení zapnuto",
  139. "rules": [
  140. {
  141. "t": "set",
  142. "p": "payload",
  143. "pt": "msg",
  144. "to": "Topení zapnuto",
  145. "tot": "str"
  146. }
  147. ],
  148. "action": "",
  149. "property": "",
  150. "from": "",
  151. "to": "",
  152. "reg": false,
  153. "x": 620,
  154. "y": 200,
  155. "wires": [
  156. []
  157. ]
  158. },
  159. {
  160. "id": "490c4377.cf2ebc",
  161. "type": "change",
  162. "z": "b419ea46.c63ae8",
  163. "name": "Topení vypnuto",
  164. "rules": [
  165. {
  166. "t": "set",
  167. "p": "payload",
  168. "pt": "msg",
  169. "to": "Topení vypnuto",
  170. "tot": "str"
  171. }
  172. ],
  173. "action": "",
  174. "property": "",
  175. "from": "",
  176. "to": "",
  177. "reg": false,
  178. "x": 620,
  179. "y": 160,
  180. "wires": [
  181. []
  182. ]
  183. },
  184. {
  185. "id": "d599e381.30262",
  186. "type": "switch",
  187. "z": "b419ea46.c63ae8",
  188. "name": "Je kosa mám topit?",
  189. "property": "AKTUALNI_TEPLOTA",
  190. "propertyType": "global",
  191. "rules": [
  192. {
  193. "t": "gt",
  194. "v": "CILOVA_TEPLOTA",
  195. "vt": "global"
  196. },
  197. {
  198. "t": "lte",
  199. "v": "CILOVA_TEPLOTA",
  200. "vt": "global"
  201. }
  202. ],
  203. "checkall": "true",
  204. "repair": false,
  205. "outputs": 2,
  206. "x": 230,
  207. "y": 260,
  208. "wires": [
  209. [
  210. "490c4377.cf2ebc"
  211. ],
  212. [
  213. "5c174a70.4e1114"
  214. ]
  215. ]
  216. },
  217. {
  218. "id": "1026cd1a.562053",
  219. "type": "switch",
  220. "z": "b419ea46.c63ae8",
  221. "name": "Jsou zavřená okna?",
  222. "property": "DUMUZAVREN",
  223. "propertyType": "global",
  224. "rules": [
  225. {
  226. "t": "false"
  227. },
  228. {
  229. "t": "true"
  230. }
  231. ],
  232. "checkall": "true",
  233. "repair": false,
  234. "outputs": 2,
  235. "x": 240,
  236. "y": 200,
  237. "wires": [
  238. [
  239. "490c4377.cf2ebc"
  240. ],
  241. [
  242. "d599e381.30262"
  243. ]
  244. ]
  245. },
  246. {
  247. "id": "a082f74c.9cdb58",
  248. "type": "tab",
  249. "label": "sandbox",
  250. "disabled": false,
  251. "info": ""
  252. },
  253. {
  254. "id": "afea3318.9ec23",
  255. "type": "comment",
  256. "z": "a082f74c.9cdb58",
  257. "name": "mam kurit ? = [ (teplota < 22) AND (rezim=TOPENI)) AND (vsetky okna zavrete) ] OR [topeni = force]",
  258. "info": "",
  259. "x": 420,
  260. "y": 80,
  261. "wires": []
  262. },
  263. {
  264. "id": "c1c6a060.afd7e",
  265. "type": "ui_switch",
  266. "z": "a082f74c.9cdb58",
  267. "name": "",
  268. "label": "Vytápění zap./vyp.",
  269. "tooltip": "",
  270. "group": "5f3f2752.538628",
  271. "order": 0,
  272. "width": 0,
  273. "height": 0,
  274. "passthru": true,
  275. "decouple": "false",
  276. "topic": "",
  277. "style": "",
  278. "onvalue": "true",
  279. "onvalueType": "bool",
  280. "onicon": "",
  281. "oncolor": "",
  282. "offvalue": "false",
  283. "offvalueType": "bool",
  284. "officon": "",
  285. "offcolor": "",
  286. "x": 370,
  287. "y": 300,
  288. "wires": [
  289. [
  290. "7dd103db.463eec"
  291. ]
  292. ]
  293. },
  294. {
  295. "id": "7a54d04d.1d5ca",
  296. "type": "ui_slider",
  297. "z": "a082f74c.9cdb58",
  298. "name": "",
  299. "label": "Cílová teplota {{msg.topic}}",
  300. "tooltip": "",
  301. "group": "5f3f2752.538628",
  302. "order": 14,
  303. "width": 0,
  304. "height": 0,
  305. "passthru": true,
  306. "outs": "all",
  307. "topic": "",
  308. "min": "15",
  309. "max": "30",
  310. "step": "0.5",
  311. "x": 330,
  312. "y": 340,
  313. "wires": [
  314. [
  315. "b0ef72ed.62a6e"
  316. ]
  317. ]
  318. },
  319. {
  320. "id": "47e98b54.f82a74",
  321. "type": "inject",
  322. "z": "a082f74c.9cdb58",
  323. "name": "Okno otevřít",
  324. "props": [
  325. {
  326. "p": "payload"
  327. },
  328. {
  329. "p": "topic",
  330. "vt": "str"
  331. }
  332. ],
  333. "repeat": "",
  334. "crontab": "",
  335. "once": false,
  336. "onceDelay": 0.1,
  337. "topic": "",
  338. "payload": "true",
  339. "payloadType": "bool",
  340. "x": 170,
  341. "y": 520,
  342. "wires": [
  343. [
  344. "a6056da3.f696f"
  345. ]
  346. ]
  347. },
  348. {
  349. "id": "8135d708.1db158",
  350. "type": "inject",
  351. "z": "a082f74c.9cdb58",
  352. "name": "Okno zavřít",
  353. "props": [
  354. {
  355. "p": "payload"
  356. },
  357. {
  358. "p": "topic",
  359. "vt": "str"
  360. }
  361. ],
  362. "repeat": "",
  363. "crontab": "",
  364. "once": true,
  365. "onceDelay": 0.1,
  366. "topic": "",
  367. "payload": "false",
  368. "payloadType": "bool",
  369. "x": 170,
  370. "y": 560,
  371. "wires": [
  372. [
  373. "a6056da3.f696f"
  374. ]
  375. ]
  376. },
  377. {
  378. "id": "a6056da3.f696f",
  379. "type": "change",
  380. "z": "a082f74c.9cdb58",
  381. "name": "Okno 1 - globální proměnná",
  382. "rules": [
  383. {
  384. "t": "set",
  385. "p": "OKNO1",
  386. "pt": "global",
  387. "to": "payload",
  388. "tot": "msg"
  389. }
  390. ],
  391. "action": "",
  392. "property": "",
  393. "from": "",
  394. "to": "",
  395. "reg": false,
  396. "x": 420,
  397. "y": 540,
  398. "wires": [
  399. [
  400. "248f6f19.95ddf"
  401. ]
  402. ]
  403. },
  404. {
  405. "id": "d7b140b1.3f0c9",
  406. "type": "change",
  407. "z": "a082f74c.9cdb58",
  408. "name": "Okno 2 - globální proměnná",
  409. "rules": [
  410. {
  411. "t": "set",
  412. "p": "OKNO2",
  413. "pt": "global",
  414. "to": "payload",
  415. "tot": "msg"
  416. }
  417. ],
  418. "action": "",
  419. "property": "",
  420. "from": "",
  421. "to": "",
  422. "reg": false,
  423. "x": 420,
  424. "y": 640,
  425. "wires": [
  426. [
  427. "248f6f19.95ddf"
  428. ]
  429. ]
  430. },
  431. {
  432. "id": "9d818300.f2619",
  433. "type": "comment",
  434. "z": "a082f74c.9cdb58",
  435. "name": "Simulace stavu okna data získáme např. přes MQTT nebo ze vstupů vašeho zařízení... se stavem true/false otevřeno/zavřeno",
  436. "info": "",
  437. "x": 510,
  438. "y": 480,
  439. "wires": []
  440. },
  441. {
  442. "id": "5d086541.77afbc",
  443. "type": "comment",
  444. "z": "a082f74c.9cdb58",
  445. "name": "Poslední stav okna zůstane uložen v globální proměnné, kterou můžeme použít na kterémkoliv flow",
  446. "info": "",
  447. "x": 660,
  448. "y": 580,
  449. "wires": []
  450. },
  451. {
  452. "id": "7dd103db.463eec",
  453. "type": "change",
  454. "z": "a082f74c.9cdb58",
  455. "name": "",
  456. "rules": [
  457. {
  458. "t": "set",
  459. "p": "VYTAPENI_STAV",
  460. "pt": "global",
  461. "to": "payload",
  462. "tot": "msg"
  463. }
  464. ],
  465. "action": "",
  466. "property": "",
  467. "from": "",
  468. "to": "",
  469. "reg": false,
  470. "x": 760,
  471. "y": 300,
  472. "wires": [
  473. []
  474. ]
  475. },
  476. {
  477. "id": "b0ef72ed.62a6e",
  478. "type": "change",
  479. "z": "a082f74c.9cdb58",
  480. "name": "",
  481. "rules": [
  482. {
  483. "t": "set",
  484. "p": "CILOVA_TEPLOTA",
  485. "pt": "global",
  486. "to": "payload",
  487. "tot": "msg"
  488. }
  489. ],
  490. "action": "",
  491. "property": "",
  492. "from": "",
  493. "to": "",
  494. "reg": false,
  495. "x": 770,
  496. "y": 340,
  497. "wires": [
  498. []
  499. ]
  500. },
  501. {
  502. "id": "248f6f19.95ddf",
  503. "type": "function",
  504. "z": "a082f74c.9cdb58",
  505. "name": "Funkce pro zjištění vzduchotěsnosti domu",
  506. "func": "/*\n* Tato funkce slouží jako příklad toho\n* jak pracovat s globálními proměnnými\n*\n* Kód níže lze jednoduše poskládat pomocí\n* Switch a Change nodů\n*/\n\nvar okno1 = global.get('OKNO1');//TRUE = okno otevřeno\nvar okno2 = global.get('OKNO2');//TRUE = okno otevřeno\n\n\nvar dumUzavren = false;\n\nif(okno1 == true)\n dumUzavren = false;\n \nelse if(okno2 == true)\n dumUzavren = false;\n \nelse\n dumUzavren = true;\n\n\nglobal.set('DUMUZAVREN', dumUzavren);\n\n//Debug\nmsg.payload = global.get('DUMUZAVREN');\nreturn msg;\n\n\n",
  507. "outputs": 1,
  508. "noerr": 0,
  509. "initialize": "",
  510. "finalize": "",
  511. "x": 760,
  512. "y": 760,
  513. "wires": [
  514. [
  515. "7b000ccf.c7a6e4"
  516. ]
  517. ]
  518. },
  519. {
  520. "id": "aeba6558.73b998",
  521. "type": "comment",
  522. "z": "a082f74c.9cdb58",
  523. "name": "Práce s globální proměnnou ve funkčním Node",
  524. "info": "",
  525. "x": 780,
  526. "y": 680,
  527. "wires": []
  528. },
  529. {
  530. "id": "74db555a.91fccc",
  531. "type": "comment",
  532. "z": "a082f74c.9cdb58",
  533. "name": "Po každém otevření/zavření okna dojde ke zjištění...",
  534. "info": "",
  535. "x": 790,
  536. "y": 720,
  537. "wires": []
  538. },
  539. {
  540. "id": "7b000ccf.c7a6e4",
  541. "type": "debug",
  542. "z": "a082f74c.9cdb58",
  543. "name": "",
  544. "active": true,
  545. "tosidebar": true,
  546. "console": false,
  547. "tostatus": false,
  548. "complete": "false",
  549. "statusVal": "",
  550. "statusType": "auto",
  551. "x": 1010,
  552. "y": 760,
  553. "wires": []
  554. },
  555. {
  556. "id": "e45dfbdc.528ee8",
  557. "type": "inject",
  558. "z": "a082f74c.9cdb58",
  559. "name": "Vypiš stav uzavření domu",
  560. "props": [
  561. {
  562. "p": "payload"
  563. },
  564. {
  565. "p": "topic",
  566. "vt": "str"
  567. }
  568. ],
  569. "repeat": "",
  570. "crontab": "",
  571. "once": true,
  572. "onceDelay": 0.1,
  573. "topic": "",
  574. "payload": "",
  575. "payloadType": "date",
  576. "x": 210,
  577. "y": 760,
  578. "wires": [
  579. [
  580. "248f6f19.95ddf"
  581. ]
  582. ]
  583. },
  584. {
  585. "id": "92e32aac.14c298",
  586. "type": "inject",
  587. "z": "a082f74c.9cdb58",
  588. "name": "Okno otevřít",
  589. "props": [
  590. {
  591. "p": "payload"
  592. },
  593. {
  594. "p": "topic",
  595. "vt": "str"
  596. }
  597. ],
  598. "repeat": "",
  599. "crontab": "",
  600. "once": false,
  601. "onceDelay": 0.1,
  602. "topic": "",
  603. "payload": "true",
  604. "payloadType": "bool",
  605. "x": 170,
  606. "y": 620,
  607. "wires": [
  608. [
  609. "d7b140b1.3f0c9"
  610. ]
  611. ]
  612. },
  613. {
  614. "id": "a20be957.dc2c48",
  615. "type": "inject",
  616. "z": "a082f74c.9cdb58",
  617. "name": "Okno zavřít",
  618. "props": [
  619. {
  620. "p": "payload"
  621. },
  622. {
  623. "p": "topic",
  624. "vt": "str"
  625. }
  626. ],
  627. "repeat": "",
  628. "crontab": "",
  629. "once": true,
  630. "onceDelay": 0.1,
  631. "topic": "",
  632. "payload": "false",
  633. "payloadType": "bool",
  634. "x": 170,
  635. "y": 660,
  636. "wires": [
  637. [
  638. "d7b140b1.3f0c9"
  639. ]
  640. ]
  641. },
  642. {
  643. "id": "53c1bc33.9c3cc4",
  644. "type": "ui_switch",
  645. "z": "a082f74c.9cdb58",
  646. "name": "",
  647. "label": "Vytápění force (override all)",
  648. "tooltip": "",
  649. "group": "5f3f2752.538628",
  650. "order": 0,
  651. "width": 0,
  652. "height": 0,
  653. "passthru": true,
  654. "decouple": "false",
  655. "topic": "",
  656. "style": "",
  657. "onvalue": "true",
  658. "onvalueType": "bool",
  659. "onicon": "",
  660. "oncolor": "",
  661. "offvalue": "false",
  662. "offvalueType": "bool",
  663. "officon": "",
  664. "offcolor": "",
  665. "x": 400,
  666. "y": 380,
  667. "wires": [
  668. [
  669. "47956632.69f2e8"
  670. ]
  671. ]
  672. },
  673. {
  674. "id": "47956632.69f2e8",
  675. "type": "change",
  676. "z": "a082f74c.9cdb58",
  677. "name": "",
  678. "rules": [
  679. {
  680. "t": "set",
  681. "p": "VYTAPENI_FORCE",
  682. "pt": "global",
  683. "to": "payload",
  684. "tot": "msg"
  685. }
  686. ],
  687. "action": "",
  688. "property": "",
  689. "from": "",
  690. "to": "",
  691. "reg": false,
  692. "x": 770,
  693. "y": 380,
  694. "wires": [
  695. []
  696. ]
  697. },
  698. {
  699. "id": "c61d0518.0a7408",
  700. "type": "inject",
  701. "z": "a082f74c.9cdb58",
  702. "name": "Kontrola vytápění každých 10 sec.",
  703. "props": [
  704. {
  705. "p": "payload"
  706. },
  707. {
  708. "p": "topic",
  709. "vt": "str"
  710. }
  711. ],
  712. "repeat": "10",
  713. "crontab": "",
  714. "once": false,
  715. "onceDelay": 0.1,
  716. "topic": "",
  717. "payload": "",
  718. "payloadType": "str",
  719. "x": 240,
  720. "y": 1080,
  721. "wires": [
  722. [
  723. "fe577dc6.5d1d"
  724. ]
  725. ]
  726. },
  727. {
  728. "id": "68d6e90d.b47d48",
  729. "type": "inject",
  730. "z": "a082f74c.9cdb58",
  731. "name": "",
  732. "props": [
  733. {
  734. "p": "payload"
  735. },
  736. {
  737. "p": "topic",
  738. "vt": "str"
  739. }
  740. ],
  741. "repeat": "",
  742. "crontab": "",
  743. "once": true,
  744. "onceDelay": 0.1,
  745. "topic": "",
  746. "payload": "20.6",
  747. "payloadType": "num",
  748. "x": 150,
  749. "y": 900,
  750. "wires": [
  751. [
  752. "7f6ac0b2.dbcc5"
  753. ]
  754. ]
  755. },
  756. {
  757. "id": "ca06025b.31e1b",
  758. "type": "inject",
  759. "z": "a082f74c.9cdb58",
  760. "name": "",
  761. "props": [
  762. {
  763. "p": "payload"
  764. },
  765. {
  766. "p": "topic",
  767. "vt": "str"
  768. }
  769. ],
  770. "repeat": "",
  771. "crontab": "",
  772. "once": false,
  773. "onceDelay": 0.1,
  774. "topic": "",
  775. "payload": "23",
  776. "payloadType": "num",
  777. "x": 150,
  778. "y": 940,
  779. "wires": [
  780. [
  781. "7f6ac0b2.dbcc5"
  782. ]
  783. ]
  784. },
  785. {
  786. "id": "a4ead19a.87d8d",
  787. "type": "comment",
  788. "z": "a082f74c.9cdb58",
  789. "name": "Simulace vstupu hodnot pokojové teploty...",
  790. "info": "",
  791. "x": 240,
  792. "y": 860,
  793. "wires": []
  794. },
  795. {
  796. "id": "7f6ac0b2.dbcc5",
  797. "type": "change",
  798. "z": "a082f74c.9cdb58",
  799. "name": "",
  800. "rules": [
  801. {
  802. "t": "set",
  803. "p": "AKTUALNI_TEPLOTA",
  804. "pt": "global",
  805. "to": "payload",
  806. "tot": "msg"
  807. }
  808. ],
  809. "action": "",
  810. "property": "",
  811. "from": "",
  812. "to": "",
  813. "reg": false,
  814. "x": 430,
  815. "y": 920,
  816. "wires": [
  817. []
  818. ]
  819. },
  820. {
  821. "id": "1f771045.018e",
  822. "type": "debug",
  823. "z": "a082f74c.9cdb58",
  824. "name": "",
  825. "active": true,
  826. "tosidebar": true,
  827. "console": false,
  828. "tostatus": false,
  829. "complete": "false",
  830. "statusVal": "",
  831. "statusType": "auto",
  832. "x": 1330,
  833. "y": 1180,
  834. "wires": []
  835. },
  836. {
  837. "id": "825c0888.7b2e78",
  838. "type": "inject",
  839. "z": "a082f74c.9cdb58",
  840. "name": "",
  841. "props": [
  842. {
  843. "p": "payload"
  844. },
  845. {
  846. "p": "topic",
  847. "vt": "str"
  848. }
  849. ],
  850. "repeat": "",
  851. "crontab": "",
  852. "once": true,
  853. "onceDelay": "1",
  854. "topic": "",
  855. "payload": "true",
  856. "payloadType": "bool",
  857. "x": 150,
  858. "y": 300,
  859. "wires": [
  860. [
  861. "c1c6a060.afd7e"
  862. ]
  863. ]
  864. },
  865. {
  866. "id": "4fa32315.26055c",
  867. "type": "inject",
  868. "z": "a082f74c.9cdb58",
  869. "name": "",
  870. "props": [
  871. {
  872. "p": "payload"
  873. },
  874. {
  875. "p": "topic",
  876. "vt": "str"
  877. }
  878. ],
  879. "repeat": "",
  880. "crontab": "",
  881. "once": true,
  882. "onceDelay": "1",
  883. "topic": "",
  884. "payload": "21",
  885. "payloadType": "num",
  886. "x": 150,
  887. "y": 340,
  888. "wires": [
  889. [
  890. "7a54d04d.1d5ca"
  891. ]
  892. ]
  893. },
  894. {
  895. "id": "fcf04308.8f8a4",
  896. "type": "inject",
  897. "z": "a082f74c.9cdb58",
  898. "name": "",
  899. "props": [
  900. {
  901. "p": "payload"
  902. },
  903. {
  904. "p": "topic",
  905. "vt": "str"
  906. }
  907. ],
  908. "repeat": "",
  909. "crontab": "",
  910. "once": true,
  911. "onceDelay": "1",
  912. "topic": "",
  913. "payload": "false",
  914. "payloadType": "bool",
  915. "x": 150,
  916. "y": 380,
  917. "wires": [
  918. [
  919. "53c1bc33.9c3cc4"
  920. ]
  921. ]
  922. },
  923. {
  924. "id": "2ffc8cdd.875a74",
  925. "type": "comment",
  926. "z": "a082f74c.9cdb58",
  927. "name": "Logika vytápění",
  928. "info": "",
  929. "x": 160,
  930. "y": 1040,
  931. "wires": []
  932. },
  933. {
  934. "id": "17cb3534.6c3f1b",
  935. "type": "comment",
  936. "z": "a082f74c.9cdb58",
  937. "name": "Uživatelské rozhraní v Dashboardu pro základní nastavení - je třeba mít nainstalovaný modul : node-red-dashboard",
  938. "info": "",
  939. "x": 480,
  940. "y": 260,
  941. "wires": []
  942. },
  943. {
  944. "id": "4b5f2356.dbd73c",
  945. "type": "switch",
  946. "z": "a082f74c.9cdb58",
  947. "name": "Topeni zapnuto?",
  948. "property": "VYTAPENI_STAV",
  949. "propertyType": "global",
  950. "rules": [
  951. {
  952. "t": "false"
  953. },
  954. {
  955. "t": "true"
  956. }
  957. ],
  958. "checkall": "true",
  959. "repair": false,
  960. "outputs": 2,
  961. "x": 500,
  962. "y": 1140,
  963. "wires": [
  964. [
  965. "2f737f01.c6d3"
  966. ],
  967. [
  968. "6e92e469.7d1eac"
  969. ]
  970. ]
  971. },
  972. {
  973. "id": "fe577dc6.5d1d",
  974. "type": "switch",
  975. "z": "a082f74c.9cdb58",
  976. "name": "Force?",
  977. "property": "VYTAPENI_FORCE",
  978. "propertyType": "global",
  979. "rules": [
  980. {
  981. "t": "true"
  982. },
  983. {
  984. "t": "false"
  985. }
  986. ],
  987. "checkall": "true",
  988. "repair": false,
  989. "outputs": 2,
  990. "x": 480,
  991. "y": 1080,
  992. "wires": [
  993. [
  994. "805a33af.e247c"
  995. ],
  996. [
  997. "4b5f2356.dbd73c"
  998. ]
  999. ]
  1000. },
  1001. {
  1002. "id": "805a33af.e247c",
  1003. "type": "change",
  1004. "z": "a082f74c.9cdb58",
  1005. "name": "Topení zapnuto - force",
  1006. "rules": [
  1007. {
  1008. "t": "set",
  1009. "p": "payload",
  1010. "pt": "msg",
  1011. "to": "Topení zapnuto - force",
  1012. "tot": "str"
  1013. }
  1014. ],
  1015. "action": "",
  1016. "property": "",
  1017. "from": "",
  1018. "to": "",
  1019. "reg": false,
  1020. "x": 920,
  1021. "y": 1120,
  1022. "wires": [
  1023. [
  1024. "1f771045.018e",
  1025. "b715e1df.8ddad"
  1026. ]
  1027. ]
  1028. },
  1029. {
  1030. "id": "30fed446.4af8cc",
  1031. "type": "change",
  1032. "z": "a082f74c.9cdb58",
  1033. "name": "Topení zapnuto",
  1034. "rules": [
  1035. {
  1036. "t": "set",
  1037. "p": "payload",
  1038. "pt": "msg",
  1039. "to": "Topení zapnuto",
  1040. "tot": "str"
  1041. }
  1042. ],
  1043. "action": "",
  1044. "property": "",
  1045. "from": "",
  1046. "to": "",
  1047. "reg": false,
  1048. "x": 900,
  1049. "y": 1200,
  1050. "wires": [
  1051. [
  1052. "1f771045.018e",
  1053. "b715e1df.8ddad"
  1054. ]
  1055. ]
  1056. },
  1057. {
  1058. "id": "2f737f01.c6d3",
  1059. "type": "change",
  1060. "z": "a082f74c.9cdb58",
  1061. "name": "Topení vypnuto",
  1062. "rules": [
  1063. {
  1064. "t": "set",
  1065. "p": "payload",
  1066. "pt": "msg",
  1067. "to": "Topení vypnuto",
  1068. "tot": "str"
  1069. }
  1070. ],
  1071. "action": "",
  1072. "property": "",
  1073. "from": "",
  1074. "to": "",
  1075. "reg": false,
  1076. "x": 900,
  1077. "y": 1160,
  1078. "wires": [
  1079. [
  1080. "1f771045.018e",
  1081. "b715e1df.8ddad"
  1082. ]
  1083. ]
  1084. },
  1085. {
  1086. "id": "fe803d85.c9759",
  1087. "type": "switch",
  1088. "z": "a082f74c.9cdb58",
  1089. "name": "Je kosa mám topit?",
  1090. "property": "AKTUALNI_TEPLOTA",
  1091. "propertyType": "global",
  1092. "rules": [
  1093. {
  1094. "t": "gt",
  1095. "v": "CILOVA_TEPLOTA",
  1096. "vt": "global"
  1097. },
  1098. {
  1099. "t": "lte",
  1100. "v": "CILOVA_TEPLOTA",
  1101. "vt": "global"
  1102. }
  1103. ],
  1104. "checkall": "true",
  1105. "repair": false,
  1106. "outputs": 2,
  1107. "x": 510,
  1108. "y": 1260,
  1109. "wires": [
  1110. [
  1111. "2f737f01.c6d3"
  1112. ],
  1113. [
  1114. "30fed446.4af8cc"
  1115. ]
  1116. ]
  1117. },
  1118. {
  1119. "id": "6e92e469.7d1eac",
  1120. "type": "switch",
  1121. "z": "a082f74c.9cdb58",
  1122. "name": "Jsou zavřená okna?",
  1123. "property": "DUMUZAVREN",
  1124. "propertyType": "global",
  1125. "rules": [
  1126. {
  1127. "t": "false"
  1128. },
  1129. {
  1130. "t": "true"
  1131. }
  1132. ],
  1133. "checkall": "true",
  1134. "repair": false,
  1135. "outputs": 2,
  1136. "x": 520,
  1137. "y": 1200,
  1138. "wires": [
  1139. [
  1140. "2f737f01.c6d3"
  1141. ],
  1142. [
  1143. "fe803d85.c9759"
  1144. ]
  1145. ]
  1146. },
  1147. {
  1148. "id": "abb7074.36ceaf8",
  1149. "type": "subflow:b419ea46.c63ae8",
  1150. "z": "a082f74c.9cdb58",
  1151. "name": "Logika vytápění do subflow",
  1152. "env": [],
  1153. "x": 700,
  1154. "y": 1400,
  1155. "wires": [
  1156. [],
  1157. [],
  1158. []
  1159. ]
  1160. },
  1161. {
  1162. "id": "b715e1df.8ddad",
  1163. "type": "ui_text",
  1164. "z": "a082f74c.9cdb58",
  1165. "group": "5f3f2752.538628",
  1166. "order": 2,
  1167. "width": 0,
  1168. "height": 0,
  1169. "name": "",
  1170. "label": "Stav topení",
  1171. "format": "{{msg.payload}}",
  1172. "layout": "row-spread",
  1173. "x": 1330,
  1174. "y": 1140,
  1175. "wires": []
  1176. },
  1177. {
  1178. "id": "c42e7095.69966",
  1179. "type": "comment",
  1180. "z": "a082f74c.9cdb58",
  1181. "name": "Nakonec celou logiku vytápění výše je možno pro přehlednost zabalit do tzv. subflow",
  1182. "info": "",
  1183. "x": 680,
  1184. "y": 1340,
  1185. "wires": []
  1186. },
  1187. {
  1188. "id": "e2ccce15.c338f",
  1189. "type": "comment",
  1190. "z": "a082f74c.9cdb58",
  1191. "name": "Tento flow slouží jako ukázka toho jak kontrolovat vytápění na základě různých hodnot uložených v globálních proměnných",
  1192. "info": "",
  1193. "x": 430,
  1194. "y": 140,
  1195. "wires": []
  1196. },
  1197. {
  1198. "id": "d6b1a9af.91a288",
  1199. "type": "comment",
  1200. "z": "a082f74c.9cdb58",
  1201. "name": "Veškeré vstupní informace je třeba ošetřit proti chybovosti dat atp. toto zde není řešeno",
  1202. "info": "",
  1203. "x": 320,
  1204. "y": 180,
  1205. "wires": []
  1206. },
  1207. {
  1208. "id": "6d60ba2a.74b8b4",
  1209. "type": "comment",
  1210. "z": "a082f74c.9cdb58",
  1211. "name": "Příklad který uvedl msk:",
  1212. "info": "",
  1213. "x": 180,
  1214. "y": 40,
  1215. "wires": []
  1216. },
  1217. {
  1218. "id": "5f3f2752.538628",
  1219. "type": "ui_group",
  1220. "name": "Sandbox",
  1221. "tab": "18b9495d.a516b7",
  1222. "order": 1,
  1223. "disp": true,
  1224. "width": "6",
  1225. "collapse": false
  1226. },
  1227. {
  1228. "id": "18b9495d.a516b7",
  1229. "type": "ui_tab",
  1230. "name": "Sandbox",
  1231. "icon": "border_clear",
  1232. "disabled": false,
  1233. "hidden": false
  1234. }
  1235. ]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement