Guest User

Untitled

a guest
Sep 3rd, 2019
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 46.26 KB | None | 0 0
  1. [
  2. {
  3. "id": "58b78185.c44a5",
  4. "type": "tab",
  5. "label": "Solar Panels",
  6. "disabled": false,
  7. "info": ""
  8. },
  9. {
  10. "id": "1248a3fb.e201cc",
  11. "type": "tab",
  12. "label": "Read Victron BMV",
  13. "disabled": false,
  14. "info": ""
  15. },
  16. {
  17. "id": "8be735f2.3402c8",
  18. "type": "tab",
  19. "label": "Automations",
  20. "disabled": false,
  21. "info": ""
  22. },
  23. {
  24. "id": "9564f63a.05e388",
  25. "type": "server",
  26. "z": "",
  27. "name": "Home Assistant"
  28. },
  29. {
  30. "id": "219c759.73a028a",
  31. "type": "serial-port",
  32. "z": "",
  33. "serialport": "/dev/serial/by-id/usb-VictronEnergy_BV_VE_Direct_cable_VE3B3Q0X-if00-port0",
  34. "serialbaud": "19200",
  35. "databits": "8",
  36. "parity": "none",
  37. "stopbits": "1",
  38. "newline": "\\n",
  39. "bin": "false",
  40. "out": "char",
  41. "addchar": false,
  42. "responsetimeout": "10000"
  43. },
  44. {
  45. "id": "c3857c6e.4c937",
  46. "type": "mqtt-broker",
  47. "z": "",
  48. "name": "homeassistant",
  49. "broker": "localhost",
  50. "port": "1883",
  51. "clientid": "",
  52. "usetls": false,
  53. "compatmode": false,
  54. "keepalive": "60",
  55. "cleansession": true,
  56. "birthTopic": "",
  57. "birthQos": "0",
  58. "birthPayload": "",
  59. "closeTopic": "",
  60. "closeQos": "0",
  61. "closePayload": "",
  62. "willTopic": "",
  63. "willQos": "0",
  64. "willPayload": ""
  65. },
  66. {
  67. "id": "a7648dab.0118a",
  68. "type": "serial-port",
  69. "z": "",
  70. "serialport": "/dev/ttyUSB0",
  71. "serialbaud": "19200",
  72. "databits": "8",
  73. "parity": "none",
  74. "stopbits": "1",
  75. "newline": "\\n",
  76. "bin": "false",
  77. "out": "char",
  78. "addchar": false,
  79. "responsetimeout": "600"
  80. },
  81. {
  82. "id": "ae94b9c.e02f648",
  83. "type": "mqtt-broker",
  84. "z": "",
  85. "name": "homeassistant-delete",
  86. "broker": "localhost",
  87. "port": "1883",
  88. "clientid": "",
  89. "usetls": false,
  90. "compatmode": false,
  91. "keepalive": "60",
  92. "cleansession": true,
  93. "birthTopic": "",
  94. "birthQos": "0",
  95. "birthPayload": "",
  96. "closeTopic": "",
  97. "closeQos": "0",
  98. "closePayload": "",
  99. "willTopic": "",
  100. "willQos": "0",
  101. "willPayload": ""
  102. },
  103. {
  104. "id": "b3a2ecc4.b349",
  105. "type": "mqtt-broker",
  106. "z": "",
  107. "name": "localhost",
  108. "broker": "localhost",
  109. "port": "1883",
  110. "tls": "",
  111. "clientid": "",
  112. "usetls": true,
  113. "compatmode": true,
  114. "keepalive": "60",
  115. "cleansession": true,
  116. "birthTopic": "",
  117. "birthQos": "0",
  118. "birthPayload": "",
  119. "closeTopic": "",
  120. "closeQos": "0",
  121. "closePayload": "",
  122. "willTopic": "",
  123. "willQos": "0",
  124. "willPayload": ""
  125. },
  126. {
  127. "id": "919a2834.429b58",
  128. "type": "serial-port",
  129. "z": "",
  130. "serialport": "/dev/serial/by-id/usb-VictronEnergy_BV_VE_Direct_cable_VE26ZM61-if00-port0",
  131. "serialbaud": "19200",
  132. "databits": "8",
  133. "parity": "none",
  134. "stopbits": "1",
  135. "waitfor": "",
  136. "newline": "\\n",
  137. "bin": "false",
  138. "out": "char",
  139. "addchar": "",
  140. "responsetimeout": "10000"
  141. },
  142. {
  143. "id": "8168b04d.8f5f2",
  144. "type": "server",
  145. "z": "",
  146. "name": "Home Assistant",
  147. "legacy": true,
  148. "hassio": true,
  149. "rejectUnauthorizedCerts": true,
  150. "ha_boolean": "y|yes|true|on|home|open",
  151. "connectionDelay": true
  152. },
  153. {
  154. "id": "bea7d6fe.b77288",
  155. "type": "serial in",
  156. "z": "58b78185.c44a5",
  157. "name": "MPPT",
  158. "serial": "219c759.73a028a",
  159. "x": 100,
  160. "y": 40,
  161. "wires": [
  162. [
  163. "71a7e419.99387c",
  164. "37bdf89.083a408"
  165. ]
  166. ]
  167. },
  168. {
  169. "id": "71a7e419.99387c",
  170. "type": "debug",
  171. "z": "58b78185.c44a5",
  172. "name": "",
  173. "active": false,
  174. "tosidebar": true,
  175. "console": false,
  176. "tostatus": false,
  177. "complete": "false",
  178. "x": 590,
  179. "y": 40,
  180. "wires": []
  181. },
  182. {
  183. "id": "d470ca37.0ccdc8",
  184. "type": "split",
  185. "z": "58b78185.c44a5",
  186. "name": "",
  187. "splt": "\\n",
  188. "spltType": "str",
  189. "arraySplt": 1,
  190. "arraySpltType": "len",
  191. "stream": true,
  192. "addname": "topic",
  193. "x": 150,
  194. "y": 140,
  195. "wires": [
  196. [
  197. "ea07f69f.b70cd8",
  198. "183e624d.7a455e"
  199. ]
  200. ]
  201. },
  202. {
  203. "id": "ea07f69f.b70cd8",
  204. "type": "switch",
  205. "z": "58b78185.c44a5",
  206. "name": "Routing",
  207. "property": "parts.key",
  208. "propertyType": "msg",
  209. "rules": [
  210. {
  211. "t": "eq",
  212. "v": "VPV",
  213. "vt": "str"
  214. },
  215. {
  216. "t": "eq",
  217. "v": "PPV",
  218. "vt": "str"
  219. },
  220. {
  221. "t": "eq",
  222. "v": "V",
  223. "vt": "str"
  224. },
  225. {
  226. "t": "eq",
  227. "v": "I",
  228. "vt": "str"
  229. },
  230. {
  231. "t": "eq",
  232. "v": "H21",
  233. "vt": "str"
  234. },
  235. {
  236. "t": "eq",
  237. "v": "H23",
  238. "vt": "str"
  239. },
  240. {
  241. "t": "eq",
  242. "v": "H21",
  243. "vt": "str"
  244. },
  245. {
  246. "t": "eq",
  247. "v": "H22",
  248. "vt": "str"
  249. },
  250. {
  251. "t": "eq",
  252. "v": "H19",
  253. "vt": "str"
  254. }
  255. ],
  256. "checkall": "true",
  257. "repair": false,
  258. "outputs": 9,
  259. "x": 180,
  260. "y": 320,
  261. "wires": [
  262. [
  263. "391f3cdd.75cb24"
  264. ],
  265. [
  266. "c0d42df5.a0d3"
  267. ],
  268. [
  269. "43ef1fc.e6f90e"
  270. ],
  271. [
  272. "7057316a.0ac6f"
  273. ],
  274. [
  275. "4376a0b3.6ec1f"
  276. ],
  277. [
  278. "fce43672.70f0d8"
  279. ],
  280. [
  281. "f3023499.2ef918"
  282. ],
  283. [
  284. "28595d77.2e7662"
  285. ],
  286. [
  287. "e790abfb.d0bf08"
  288. ]
  289. ]
  290. },
  291. {
  292. "id": "183e624d.7a455e",
  293. "type": "debug",
  294. "z": "58b78185.c44a5",
  295. "name": "",
  296. "active": false,
  297. "tosidebar": true,
  298. "console": false,
  299. "tostatus": false,
  300. "complete": "false",
  301. "x": 390,
  302. "y": 140,
  303. "wires": []
  304. },
  305. {
  306. "id": "ce5dd878.fa0d88",
  307. "type": "debug",
  308. "z": "58b78185.c44a5",
  309. "name": "",
  310. "active": false,
  311. "tosidebar": true,
  312. "console": false,
  313. "tostatus": false,
  314. "complete": "payload",
  315. "x": 730,
  316. "y": 160,
  317. "wires": []
  318. },
  319. {
  320. "id": "24bd53e6.98484c",
  321. "type": "debug",
  322. "z": "58b78185.c44a5",
  323. "name": "",
  324. "active": false,
  325. "tosidebar": true,
  326. "console": false,
  327. "tostatus": false,
  328. "complete": "false",
  329. "x": 730,
  330. "y": 240,
  331. "wires": []
  332. },
  333. {
  334. "id": "934ddaf3.c6fa48",
  335. "type": "debug",
  336. "z": "58b78185.c44a5",
  337. "name": "",
  338. "active": false,
  339. "tosidebar": true,
  340. "console": false,
  341. "tostatus": false,
  342. "complete": "false",
  343. "x": 730,
  344. "y": 320,
  345. "wires": []
  346. },
  347. {
  348. "id": "5433bdc8.32aa54",
  349. "type": "debug",
  350. "z": "58b78185.c44a5",
  351. "name": "",
  352. "active": false,
  353. "tosidebar": true,
  354. "console": false,
  355. "tostatus": false,
  356. "complete": "false",
  357. "x": 730,
  358. "y": 400,
  359. "wires": []
  360. },
  361. {
  362. "id": "37bdf89.083a408",
  363. "type": "function",
  364. "z": "58b78185.c44a5",
  365. "name": "Convert",
  366. "func": "// 'msg' is the message object the Function node receives\nvar myVars = msg.payload.split(\"\\r\\n\");\nvar result = {};\nmyVars.forEach(function(v) {\n // The following split uses ' = ' - because your example output appears to\n // have spaces around the equals sign.\n var parts = v.split(\"\\t\");\n result[parts[0]] = parts[1];\n});\nmsg.payload = result;\n// The Function node returns the message to be sent to the next node(s) in the flow\nreturn msg;",
  367. "outputs": 1,
  368. "noerr": 0,
  369. "x": 300,
  370. "y": 80,
  371. "wires": [
  372. [
  373. "d470ca37.0ccdc8"
  374. ]
  375. ]
  376. },
  377. {
  378. "id": "391f3cdd.75cb24",
  379. "type": "change",
  380. "z": "58b78185.c44a5",
  381. "name": "Solar V",
  382. "rules": [
  383. {
  384. "t": "set",
  385. "p": "payload",
  386. "pt": "msg",
  387. "to": "$number(msg.payload)/1000",
  388. "tot": "jsonata"
  389. }
  390. ],
  391. "action": "",
  392. "property": "",
  393. "from": "",
  394. "to": "",
  395. "reg": false,
  396. "x": 440,
  397. "y": 200,
  398. "wires": [
  399. [
  400. "ce5dd878.fa0d88",
  401. "fad7a11d.81dfa"
  402. ]
  403. ]
  404. },
  405. {
  406. "id": "c0d42df5.a0d3",
  407. "type": "change",
  408. "z": "58b78185.c44a5",
  409. "name": "Solar Power",
  410. "rules": [
  411. {
  412. "t": "set",
  413. "p": "payload",
  414. "pt": "msg",
  415. "to": "$number(msg.payload)",
  416. "tot": "jsonata"
  417. }
  418. ],
  419. "action": "",
  420. "property": "",
  421. "from": "",
  422. "to": "",
  423. "reg": false,
  424. "x": 450,
  425. "y": 280,
  426. "wires": [
  427. [
  428. "24bd53e6.98484c",
  429. "90a501d2.2f5e8"
  430. ]
  431. ]
  432. },
  433. {
  434. "id": "43ef1fc.e6f90e",
  435. "type": "change",
  436. "z": "58b78185.c44a5",
  437. "name": "Batt V",
  438. "rules": [
  439. {
  440. "t": "set",
  441. "p": "payload",
  442. "pt": "msg",
  443. "to": "$number(msg.payload)/1000",
  444. "tot": "jsonata"
  445. }
  446. ],
  447. "action": "",
  448. "property": "",
  449. "from": "",
  450. "to": "",
  451. "reg": false,
  452. "x": 430,
  453. "y": 360,
  454. "wires": [
  455. [
  456. "934ddaf3.c6fa48",
  457. "67344b05.beab74"
  458. ]
  459. ]
  460. },
  461. {
  462. "id": "7057316a.0ac6f",
  463. "type": "change",
  464. "z": "58b78185.c44a5",
  465. "name": "Solar Amp",
  466. "rules": [
  467. {
  468. "t": "set",
  469. "p": "payload",
  470. "pt": "msg",
  471. "to": "$number(msg.payload)/1000",
  472. "tot": "jsonata"
  473. }
  474. ],
  475. "action": "",
  476. "property": "",
  477. "from": "",
  478. "to": "",
  479. "reg": false,
  480. "x": 450,
  481. "y": 440,
  482. "wires": [
  483. [
  484. "5433bdc8.32aa54",
  485. "1f71772c.c3d2c9"
  486. ]
  487. ]
  488. },
  489. {
  490. "id": "fad7a11d.81dfa",
  491. "type": "mqtt out",
  492. "z": "58b78185.c44a5",
  493. "name": "Volt",
  494. "topic": "homeassistant/sensor/solarV/state",
  495. "qos": "",
  496. "retain": "",
  497. "broker": "c3857c6e.4c937",
  498. "x": 710,
  499. "y": 200,
  500. "wires": []
  501. },
  502. {
  503. "id": "1f71772c.c3d2c9",
  504. "type": "mqtt out",
  505. "z": "58b78185.c44a5",
  506. "name": "Amp",
  507. "topic": "homeassistant/sensor/solarA/state",
  508. "qos": "",
  509. "retain": "",
  510. "broker": "c3857c6e.4c937",
  511. "x": 710,
  512. "y": 440,
  513. "wires": []
  514. },
  515. {
  516. "id": "67344b05.beab74",
  517. "type": "mqtt out",
  518. "z": "58b78185.c44a5",
  519. "name": "Volt",
  520. "topic": "homeassistant/sensor/solarbattV/state",
  521. "qos": "",
  522. "retain": "",
  523. "broker": "c3857c6e.4c937",
  524. "x": 710,
  525. "y": 360,
  526. "wires": []
  527. },
  528. {
  529. "id": "90a501d2.2f5e8",
  530. "type": "mqtt out",
  531. "z": "58b78185.c44a5",
  532. "name": "Watt",
  533. "topic": "homeassistant/sensor/solarW/state",
  534. "qos": "",
  535. "retain": "",
  536. "broker": "c3857c6e.4c937",
  537. "x": 710,
  538. "y": 280,
  539. "wires": []
  540. },
  541. {
  542. "id": "6d98f134.a5e72",
  543. "type": "inject",
  544. "z": "58b78185.c44a5",
  545. "name": "powjson",
  546. "topic": "",
  547. "payload": "{\"name\":\"Solceller Effekt\",\"state_topic\":\"homeassistant/sensor/solarW/state\",\"unit_of_measurement\":\"W\",\"icon\":\"mdi:resistor\"}",
  548. "payloadType": "json",
  549. "repeat": "",
  550. "crontab": "",
  551. "once": true,
  552. "onceDelay": "240",
  553. "x": 980,
  554. "y": 120,
  555. "wires": [
  556. [
  557. "34120993.2afdd6"
  558. ]
  559. ]
  560. },
  561. {
  562. "id": "34120993.2afdd6",
  563. "type": "mqtt out",
  564. "z": "58b78185.c44a5",
  565. "name": "wattconfig",
  566. "topic": "homeassistant/sensor/solarW/config",
  567. "qos": "",
  568. "retain": "false",
  569. "broker": "c3857c6e.4c937",
  570. "x": 1240,
  571. "y": 120,
  572. "wires": []
  573. },
  574. {
  575. "id": "cccc492a.c06e38",
  576. "type": "inject",
  577. "z": "58b78185.c44a5",
  578. "name": "vjson",
  579. "topic": "",
  580. "payload": "{\"name\":\"Forbruksbatteri (sol)\",\"state_topic\":\"homeassistant/sensor/solarbattV/state\",\"unit_of_measurement\":\"V\",\"device_class\":\"current-dc\"}",
  581. "payloadType": "json",
  582. "repeat": "",
  583. "crontab": "",
  584. "once": true,
  585. "onceDelay": "240",
  586. "x": 970,
  587. "y": 160,
  588. "wires": [
  589. [
  590. "dca29649.1cb2b8"
  591. ]
  592. ]
  593. },
  594. {
  595. "id": "dca29649.1cb2b8",
  596. "type": "mqtt out",
  597. "z": "58b78185.c44a5",
  598. "name": "battVconfig",
  599. "topic": "homeassistant/sensor/solarbattV/config",
  600. "qos": "",
  601. "retain": "false",
  602. "broker": "c3857c6e.4c937",
  603. "x": 1250,
  604. "y": 160,
  605. "wires": []
  606. },
  607. {
  608. "id": "77412ace.e8ba24",
  609. "type": "inject",
  610. "z": "58b78185.c44a5",
  611. "name": "voltjson",
  612. "topic": "",
  613. "payload": "{\"name\":\"Solcellespenning\",\"state_topic\":\"homeassistant/sensor/solarV/state\",\"unit_of_measurement\":\"V\",\"icon\":\"mdi:current-dc\"}",
  614. "payloadType": "json",
  615. "repeat": "",
  616. "crontab": "",
  617. "once": true,
  618. "onceDelay": "240",
  619. "x": 980,
  620. "y": 80,
  621. "wires": [
  622. [
  623. "623a4194.5117b",
  624. "86a41eb6.5f16b"
  625. ]
  626. ]
  627. },
  628. {
  629. "id": "623a4194.5117b",
  630. "type": "mqtt out",
  631. "z": "58b78185.c44a5",
  632. "name": "voltconfig",
  633. "topic": "homeassistant/sensor/solarV/config",
  634. "qos": "",
  635. "retain": "false",
  636. "broker": "c3857c6e.4c937",
  637. "x": 1240,
  638. "y": 80,
  639. "wires": []
  640. },
  641. {
  642. "id": "40dd02ac.0be99c",
  643. "type": "mqtt out",
  644. "z": "58b78185.c44a5",
  645. "name": "ampconfig",
  646. "topic": "homeassistant/sensor/solarA/config",
  647. "qos": "",
  648. "retain": "false",
  649. "broker": "c3857c6e.4c937",
  650. "x": 1250,
  651. "y": 200,
  652. "wires": []
  653. },
  654. {
  655. "id": "9c8baf7d.3d6e9",
  656. "type": "inject",
  657. "z": "58b78185.c44a5",
  658. "name": "ajson",
  659. "topic": "",
  660. "payload": "{\"name\":\"Lading Solceller\",\"state_topic\":\"homeassistant/sensor/solarA/state\",\"unit_of_measurement\":\"A\",\"icon\":\"mdi:resistor\"}",
  661. "payloadType": "json",
  662. "repeat": "",
  663. "crontab": "",
  664. "once": true,
  665. "onceDelay": "240",
  666. "x": 970,
  667. "y": 200,
  668. "wires": [
  669. [
  670. "40dd02ac.0be99c"
  671. ]
  672. ]
  673. },
  674. {
  675. "id": "86a41eb6.5f16b",
  676. "type": "debug",
  677. "z": "58b78185.c44a5",
  678. "name": "",
  679. "active": false,
  680. "tosidebar": true,
  681. "console": false,
  682. "tostatus": false,
  683. "complete": "false",
  684. "x": 1190,
  685. "y": 40,
  686. "wires": []
  687. },
  688. {
  689. "id": "4376a0b3.6ec1f",
  690. "type": "change",
  691. "z": "58b78185.c44a5",
  692. "name": "Max Power Today",
  693. "rules": [
  694. {
  695. "t": "set",
  696. "p": "payload",
  697. "pt": "msg",
  698. "to": "$number(msg.payload)",
  699. "tot": "jsonata"
  700. }
  701. ],
  702. "action": "",
  703. "property": "",
  704. "from": "",
  705. "to": "",
  706. "reg": false,
  707. "x": 470,
  708. "y": 520,
  709. "wires": [
  710. [
  711. "fb8ee719.fe6428",
  712. "65a84815.c27688"
  713. ]
  714. ]
  715. },
  716. {
  717. "id": "fce43672.70f0d8",
  718. "type": "change",
  719. "z": "58b78185.c44a5",
  720. "name": "Max Power Yesterday",
  721. "rules": [
  722. {
  723. "t": "set",
  724. "p": "payload",
  725. "pt": "msg",
  726. "to": "$number(msg.payload)",
  727. "tot": "jsonata"
  728. }
  729. ],
  730. "action": "",
  731. "property": "",
  732. "from": "",
  733. "to": "",
  734. "reg": false,
  735. "x": 480,
  736. "y": 600,
  737. "wires": [
  738. [
  739. "a8c87522.1c5d38",
  740. "217fddf.05f9722"
  741. ]
  742. ]
  743. },
  744. {
  745. "id": "f3023499.2ef918",
  746. "type": "change",
  747. "z": "58b78185.c44a5",
  748. "name": "Yeld Today",
  749. "rules": [
  750. {
  751. "t": "set",
  752. "p": "payload",
  753. "pt": "msg",
  754. "to": "$number(msg.payload)/1000",
  755. "tot": "jsonata"
  756. }
  757. ],
  758. "action": "",
  759. "property": "",
  760. "from": "",
  761. "to": "",
  762. "reg": false,
  763. "x": 450,
  764. "y": 680,
  765. "wires": [
  766. [
  767. "dfba5021.07c89"
  768. ]
  769. ]
  770. },
  771. {
  772. "id": "28595d77.2e7662",
  773. "type": "change",
  774. "z": "58b78185.c44a5",
  775. "name": "Yeld Yesterday",
  776. "rules": [
  777. {
  778. "t": "set",
  779. "p": "payload",
  780. "pt": "msg",
  781. "to": "$number(msg.payload)/1000",
  782. "tot": "jsonata"
  783. }
  784. ],
  785. "action": "",
  786. "property": "",
  787. "from": "",
  788. "to": "",
  789. "reg": false,
  790. "x": 460,
  791. "y": 760,
  792. "wires": [
  793. [
  794. "e9bf2576.097e78"
  795. ]
  796. ]
  797. },
  798. {
  799. "id": "e790abfb.d0bf08",
  800. "type": "change",
  801. "z": "58b78185.c44a5",
  802. "name": "Yeld Total",
  803. "rules": [
  804. {
  805. "t": "set",
  806. "p": "payload",
  807. "pt": "msg",
  808. "to": "$number(msg.payload)",
  809. "tot": "jsonata"
  810. }
  811. ],
  812. "action": "",
  813. "property": "",
  814. "from": "",
  815. "to": "",
  816. "reg": false,
  817. "x": 440,
  818. "y": 840,
  819. "wires": [
  820. [
  821. "9ff15b1b.e12f48"
  822. ]
  823. ]
  824. },
  825. {
  826. "id": "dfba5021.07c89",
  827. "type": "debug",
  828. "z": "58b78185.c44a5",
  829. "name": "",
  830. "active": false,
  831. "tosidebar": true,
  832. "console": false,
  833. "tostatus": false,
  834. "complete": "false",
  835. "x": 730,
  836. "y": 640,
  837. "wires": []
  838. },
  839. {
  840. "id": "a8c87522.1c5d38",
  841. "type": "debug",
  842. "z": "58b78185.c44a5",
  843. "name": "",
  844. "active": false,
  845. "tosidebar": true,
  846. "console": false,
  847. "tostatus": false,
  848. "complete": "false",
  849. "x": 730,
  850. "y": 560,
  851. "wires": []
  852. },
  853. {
  854. "id": "fb8ee719.fe6428",
  855. "type": "debug",
  856. "z": "58b78185.c44a5",
  857. "name": "",
  858. "active": false,
  859. "tosidebar": true,
  860. "console": false,
  861. "tostatus": false,
  862. "complete": "false",
  863. "x": 730,
  864. "y": 480,
  865. "wires": []
  866. },
  867. {
  868. "id": "e9bf2576.097e78",
  869. "type": "debug",
  870. "z": "58b78185.c44a5",
  871. "name": "",
  872. "active": false,
  873. "tosidebar": true,
  874. "console": false,
  875. "tostatus": false,
  876. "complete": "false",
  877. "x": 730,
  878. "y": 720,
  879. "wires": []
  880. },
  881. {
  882. "id": "9ff15b1b.e12f48",
  883. "type": "debug",
  884. "z": "58b78185.c44a5",
  885. "name": "",
  886. "active": false,
  887. "tosidebar": true,
  888. "console": false,
  889. "tostatus": false,
  890. "complete": "false",
  891. "x": 730,
  892. "y": 800,
  893. "wires": []
  894. },
  895. {
  896. "id": "e787bb23.ac74d8",
  897. "type": "inject",
  898. "z": "58b78185.c44a5",
  899. "name": "solarmxpwtdyWjson",
  900. "topic": "",
  901. "payload": "{\"name\":\"Maks effekt i dag\",\"state_topic\":\"homeassistant/sensor/solarmxpwtdyW/state\",\"unit_of_measurement\":\"W\",\"icon\":\"mdi:resistor\"}",
  902. "payloadType": "json",
  903. "repeat": "",
  904. "crontab": "",
  905. "once": true,
  906. "onceDelay": "240",
  907. "x": 1020,
  908. "y": 240,
  909. "wires": [
  910. [
  911. "88bbcbe2.1173e8"
  912. ]
  913. ]
  914. },
  915. {
  916. "id": "88bbcbe2.1173e8",
  917. "type": "mqtt out",
  918. "z": "58b78185.c44a5",
  919. "name": "wattconfig",
  920. "topic": "homeassistant/sensor/solarmxpwtdyW/config",
  921. "qos": "",
  922. "retain": "false",
  923. "broker": "c3857c6e.4c937",
  924. "x": 1240,
  925. "y": 240,
  926. "wires": []
  927. },
  928. {
  929. "id": "65a84815.c27688",
  930. "type": "mqtt out",
  931. "z": "58b78185.c44a5",
  932. "name": "Watt",
  933. "topic": "homeassistant/sensor/solarmxpwtdyW/state",
  934. "qos": "",
  935. "retain": "",
  936. "broker": "c3857c6e.4c937",
  937. "x": 710,
  938. "y": 520,
  939. "wires": []
  940. },
  941. {
  942. "id": "217fddf.05f9722",
  943. "type": "mqtt out",
  944. "z": "58b78185.c44a5",
  945. "name": "Watt",
  946. "topic": "homeassistant/sensor/solarmxpwydyW/state",
  947. "qos": "",
  948. "retain": "",
  949. "broker": "c3857c6e.4c937",
  950. "x": 710,
  951. "y": 600,
  952. "wires": []
  953. },
  954. {
  955. "id": "d4303b67.4b4aa8",
  956. "type": "inject",
  957. "z": "58b78185.c44a5",
  958. "name": "solarmxpwydyWjson",
  959. "topic": "",
  960. "payload": "{\"name\":\"Maks effekt i går\",\"state_topic\":\"homeassistant/sensor/solarmxpwydyW/state\",\"unit_of_measurement\":\"W\",\"icon\":\"mdi:resistor\"}",
  961. "payloadType": "json",
  962. "repeat": "",
  963. "crontab": "",
  964. "once": true,
  965. "onceDelay": "240",
  966. "x": 1020,
  967. "y": 280,
  968. "wires": [
  969. [
  970. "b2ac78c9.64fe28"
  971. ]
  972. ]
  973. },
  974. {
  975. "id": "b2ac78c9.64fe28",
  976. "type": "mqtt out",
  977. "z": "58b78185.c44a5",
  978. "name": "wattconfig",
  979. "topic": "homeassistant/sensor/solarmxpwydyW/config",
  980. "qos": "",
  981. "retain": "false",
  982. "broker": "c3857c6e.4c937",
  983. "x": 1240,
  984. "y": 280,
  985. "wires": []
  986. },
  987. {
  988. "id": "abf3360d.515ab8",
  989. "type": "serial in",
  990. "z": "1248a3fb.e201cc",
  991. "name": "Victron Monitor",
  992. "serial": "919a2834.429b58",
  993. "x": 100,
  994. "y": 20,
  995. "wires": [
  996. [
  997. "15a86d6a.4ed843",
  998. "3aeab4d.cb2334c"
  999. ]
  1000. ]
  1001. },
  1002. {
  1003. "id": "15a86d6a.4ed843",
  1004. "type": "debug",
  1005. "z": "1248a3fb.e201cc",
  1006. "name": "",
  1007. "active": false,
  1008. "tosidebar": true,
  1009. "console": false,
  1010. "tostatus": false,
  1011. "complete": "payload",
  1012. "x": 850,
  1013. "y": 20,
  1014. "wires": []
  1015. },
  1016. {
  1017. "id": "b061fc1c.c58ea",
  1018. "type": "debug",
  1019. "z": "1248a3fb.e201cc",
  1020. "name": "",
  1021. "active": false,
  1022. "tosidebar": true,
  1023. "console": false,
  1024. "tostatus": false,
  1025. "complete": "payload",
  1026. "x": 850,
  1027. "y": 60,
  1028. "wires": []
  1029. },
  1030. {
  1031. "id": "3aeab4d.cb2334c",
  1032. "type": "function",
  1033. "z": "1248a3fb.e201cc",
  1034. "name": "Convert_obj",
  1035. "func": "// 'msg' is the message object the Function node receives\nvar myVars = msg.payload.split(\"\\r\\n\");\nvar result = {};\nmyVars.forEach(function(v) {\n // The following split uses ' = ' - because your example output appears to\n // have spaces around the equals sign.\n var parts = v.split(\"\\t\");\n result[parts[0]] = parts[1];\n});\nmsg.payload = result;\n// The Function node returns the message to be sent to the next node(s) in the flow\nreturn msg;",
  1036. "outputs": 1,
  1037. "noerr": 0,
  1038. "x": 210,
  1039. "y": 60,
  1040. "wires": [
  1041. [
  1042. "b061fc1c.c58ea",
  1043. "e80d983b.58d088"
  1044. ]
  1045. ]
  1046. },
  1047. {
  1048. "id": "f603268b.a24d48",
  1049. "type": "debug",
  1050. "z": "1248a3fb.e201cc",
  1051. "name": "",
  1052. "active": false,
  1053. "tosidebar": true,
  1054. "console": false,
  1055. "tostatus": false,
  1056. "complete": "true",
  1057. "x": 830,
  1058. "y": 120,
  1059. "wires": []
  1060. },
  1061. {
  1062. "id": "e80d983b.58d088",
  1063. "type": "split",
  1064. "z": "1248a3fb.e201cc",
  1065. "name": "",
  1066. "splt": "\\n",
  1067. "spltType": "str",
  1068. "arraySplt": 1,
  1069. "arraySpltType": "len",
  1070. "stream": true,
  1071. "addname": "topic",
  1072. "x": 190,
  1073. "y": 120,
  1074. "wires": [
  1075. [
  1076. "f603268b.a24d48",
  1077. "7e8fa6c1.839ee8"
  1078. ]
  1079. ]
  1080. },
  1081. {
  1082. "id": "7e8fa6c1.839ee8",
  1083. "type": "switch",
  1084. "z": "1248a3fb.e201cc",
  1085. "name": "Route",
  1086. "property": "parts.key",
  1087. "propertyType": "msg",
  1088. "rules": [
  1089. {
  1090. "t": "eq",
  1091. "v": "V",
  1092. "vt": "str"
  1093. },
  1094. {
  1095. "t": "eq",
  1096. "v": "I",
  1097. "vt": "str"
  1098. },
  1099. {
  1100. "t": "eq",
  1101. "v": "SOC",
  1102. "vt": "str"
  1103. },
  1104. {
  1105. "t": "eq",
  1106. "v": "VS",
  1107. "vt": "str"
  1108. }
  1109. ],
  1110. "checkall": "true",
  1111. "repair": false,
  1112. "outputs": 4,
  1113. "x": 190,
  1114. "y": 256,
  1115. "wires": [
  1116. [
  1117. "b06e03d1.0d794"
  1118. ],
  1119. [
  1120. "7024a40c.a4fcac"
  1121. ],
  1122. [
  1123. "f9b638a6.6bcca8"
  1124. ],
  1125. [
  1126. "ca255fb3.6d65"
  1127. ]
  1128. ]
  1129. },
  1130. {
  1131. "id": "9e70d012.46da9",
  1132. "type": "debug",
  1133. "z": "1248a3fb.e201cc",
  1134. "name": "",
  1135. "active": false,
  1136. "tosidebar": true,
  1137. "console": false,
  1138. "tostatus": false,
  1139. "complete": "false",
  1140. "x": 890,
  1141. "y": 180,
  1142. "wires": []
  1143. },
  1144. {
  1145. "id": "c6400c4d.b7d57",
  1146. "type": "debug",
  1147. "z": "1248a3fb.e201cc",
  1148. "name": "",
  1149. "active": false,
  1150. "tosidebar": true,
  1151. "console": false,
  1152. "tostatus": false,
  1153. "complete": "payload",
  1154. "x": 891,
  1155. "y": 261,
  1156. "wires": []
  1157. },
  1158. {
  1159. "id": "b06e03d1.0d794",
  1160. "type": "change",
  1161. "z": "1248a3fb.e201cc",
  1162. "name": "V to num",
  1163. "rules": [
  1164. {
  1165. "t": "set",
  1166. "p": "payload",
  1167. "pt": "msg",
  1168. "to": "$number(msg.payload)/1000",
  1169. "tot": "jsonata"
  1170. }
  1171. ],
  1172. "action": "",
  1173. "property": "",
  1174. "from": "",
  1175. "to": "",
  1176. "reg": false,
  1177. "x": 400,
  1178. "y": 224,
  1179. "wires": [
  1180. [
  1181. "4c2d5cca.e6cf84"
  1182. ]
  1183. ]
  1184. },
  1185. {
  1186. "id": "7024a40c.a4fcac",
  1187. "type": "change",
  1188. "z": "1248a3fb.e201cc",
  1189. "name": "I to num",
  1190. "rules": [
  1191. {
  1192. "t": "set",
  1193. "p": "payload",
  1194. "pt": "msg",
  1195. "to": "$number(msg.payload)/1000",
  1196. "tot": "jsonata"
  1197. }
  1198. ],
  1199. "action": "",
  1200. "property": "",
  1201. "from": "",
  1202. "to": "",
  1203. "reg": false,
  1204. "x": 400,
  1205. "y": 304,
  1206. "wires": [
  1207. [
  1208. "4d8fdfcb.bced8"
  1209. ]
  1210. ]
  1211. },
  1212. {
  1213. "id": "4da5c91c.907828",
  1214. "type": "debug",
  1215. "z": "1248a3fb.e201cc",
  1216. "name": "",
  1217. "active": false,
  1218. "tosidebar": true,
  1219. "console": false,
  1220. "tostatus": false,
  1221. "complete": "false",
  1222. "x": 890,
  1223. "y": 358,
  1224. "wires": []
  1225. },
  1226. {
  1227. "id": "e72165b5.590b78",
  1228. "type": "mqtt out",
  1229. "z": "1248a3fb.e201cc",
  1230. "name": "Volt",
  1231. "topic": "homeassistant/sensor/battV/state",
  1232. "qos": "",
  1233. "retain": "",
  1234. "broker": "c3857c6e.4c937",
  1235. "x": 710,
  1236. "y": 224,
  1237. "wires": []
  1238. },
  1239. {
  1240. "id": "f9b638a6.6bcca8",
  1241. "type": "change",
  1242. "z": "1248a3fb.e201cc",
  1243. "name": "SoC to num",
  1244. "rules": [
  1245. {
  1246. "t": "set",
  1247. "p": "payload",
  1248. "pt": "msg",
  1249. "to": "$number(msg.payload)/10",
  1250. "tot": "jsonata"
  1251. }
  1252. ],
  1253. "action": "",
  1254. "property": "",
  1255. "from": "",
  1256. "to": "",
  1257. "reg": false,
  1258. "x": 410,
  1259. "y": 404,
  1260. "wires": [
  1261. [
  1262. "5e314c82.dd3384"
  1263. ]
  1264. ]
  1265. },
  1266. {
  1267. "id": "faa99bc8.82e9b8",
  1268. "type": "mqtt out",
  1269. "z": "1248a3fb.e201cc",
  1270. "name": "Current",
  1271. "topic": "homeassistant/sensor/battA/state",
  1272. "qos": "",
  1273. "retain": "",
  1274. "broker": "c3857c6e.4c937",
  1275. "x": 720,
  1276. "y": 304,
  1277. "wires": []
  1278. },
  1279. {
  1280. "id": "52a32ea4.2675c",
  1281. "type": "mqtt out",
  1282. "z": "1248a3fb.e201cc",
  1283. "name": "SOC",
  1284. "topic": "homeassistant/sensor/battSOC/state",
  1285. "qos": "",
  1286. "retain": "",
  1287. "broker": "c3857c6e.4c937",
  1288. "x": 710,
  1289. "y": 404,
  1290. "wires": []
  1291. },
  1292. {
  1293. "id": "4d8fdfcb.bced8",
  1294. "type": "smooth",
  1295. "z": "1248a3fb.e201cc",
  1296. "name": "Two dec",
  1297. "property": "payload",
  1298. "action": "mean",
  1299. "count": "5",
  1300. "round": "2",
  1301. "mult": "multi",
  1302. "x": 560,
  1303. "y": 304,
  1304. "wires": [
  1305. [
  1306. "faa99bc8.82e9b8",
  1307. "c6400c4d.b7d57"
  1308. ]
  1309. ]
  1310. },
  1311. {
  1312. "id": "5e314c82.dd3384",
  1313. "type": "smooth",
  1314. "z": "1248a3fb.e201cc",
  1315. "name": "No dec",
  1316. "property": "payload",
  1317. "action": "mean",
  1318. "count": "5",
  1319. "round": "0",
  1320. "mult": "multi",
  1321. "x": 560,
  1322. "y": 404,
  1323. "wires": [
  1324. [
  1325. "52a32ea4.2675c",
  1326. "4da5c91c.907828",
  1327. "99c57c5a.1f1ac"
  1328. ]
  1329. ]
  1330. },
  1331. {
  1332. "id": "ca255fb3.6d65",
  1333. "type": "change",
  1334. "z": "1248a3fb.e201cc",
  1335. "name": "V to num",
  1336. "rules": [
  1337. {
  1338. "t": "set",
  1339. "p": "payload",
  1340. "pt": "msg",
  1341. "to": "$number(msg.payload)/1000",
  1342. "tot": "jsonata"
  1343. }
  1344. ],
  1345. "action": "",
  1346. "property": "",
  1347. "from": "",
  1348. "to": "",
  1349. "reg": false,
  1350. "x": 400,
  1351. "y": 484,
  1352. "wires": [
  1353. [
  1354. "6eecd797.740b88"
  1355. ]
  1356. ]
  1357. },
  1358. {
  1359. "id": "c08493ae.d9862",
  1360. "type": "mqtt out",
  1361. "z": "1248a3fb.e201cc",
  1362. "name": "Start Volt",
  1363. "topic": "homeassistant/sensor/battVS/state",
  1364. "qos": "",
  1365. "retain": "",
  1366. "broker": "c3857c6e.4c937",
  1367. "x": 720,
  1368. "y": 484,
  1369. "wires": []
  1370. },
  1371. {
  1372. "id": "e9b0a5b6.fa5288",
  1373. "type": "debug",
  1374. "z": "1248a3fb.e201cc",
  1375. "name": "",
  1376. "active": false,
  1377. "tosidebar": true,
  1378. "console": false,
  1379. "tostatus": false,
  1380. "complete": "false",
  1381. "x": 890,
  1382. "y": 444,
  1383. "wires": []
  1384. },
  1385. {
  1386. "id": "4c2d5cca.e6cf84",
  1387. "type": "smooth",
  1388. "z": "1248a3fb.e201cc",
  1389. "name": "Two dec",
  1390. "property": "payload",
  1391. "action": "mean",
  1392. "count": "5",
  1393. "round": "2",
  1394. "mult": "multi",
  1395. "x": 560,
  1396. "y": 224,
  1397. "wires": [
  1398. [
  1399. "e72165b5.590b78",
  1400. "9e70d012.46da9"
  1401. ]
  1402. ]
  1403. },
  1404. {
  1405. "id": "6eecd797.740b88",
  1406. "type": "smooth",
  1407. "z": "1248a3fb.e201cc",
  1408. "name": "Two dec",
  1409. "property": "payload",
  1410. "action": "mean",
  1411. "count": "5",
  1412. "round": "2",
  1413. "mult": "multi",
  1414. "x": 560,
  1415. "y": 484,
  1416. "wires": [
  1417. [
  1418. "c08493ae.d9862",
  1419. "e9b0a5b6.fa5288"
  1420. ]
  1421. ]
  1422. },
  1423. {
  1424. "id": "9e554b79.8b4d68",
  1425. "type": "inject",
  1426. "z": "1248a3fb.e201cc",
  1427. "name": "ajsonn",
  1428. "topic": "",
  1429. "payload": "{\"name\":\"Øyeblikksforbruk\",\"state_topic\":\"homeassistant/sensor/battA/state\",\"unit_of_measurement\":\"A\",\"icon\":\"mdi:resistor\"}",
  1430. "payloadType": "json",
  1431. "repeat": "",
  1432. "crontab": "",
  1433. "once": true,
  1434. "onceDelay": "240",
  1435. "x": 150,
  1436. "y": 620,
  1437. "wires": [
  1438. [
  1439. "2c4785ba.d07aca"
  1440. ]
  1441. ]
  1442. },
  1443. {
  1444. "id": "2c4785ba.d07aca",
  1445. "type": "mqtt out",
  1446. "z": "1248a3fb.e201cc",
  1447. "name": "ampconfig",
  1448. "topic": "homeassistant/sensor/battA/config",
  1449. "qos": "",
  1450. "retain": "true",
  1451. "broker": "c3857c6e.4c937",
  1452. "x": 310,
  1453. "y": 620,
  1454. "wires": []
  1455. },
  1456. {
  1457. "id": "60c967a6.571758",
  1458. "type": "inject",
  1459. "z": "1248a3fb.e201cc",
  1460. "name": "socjson",
  1461. "topic": "",
  1462. "payload": "{\"name\":\"Batterinivå\",\"state_topic\":\"homeassistant/sensor/battSOC/state\",\"unit_of_measurement\":\"%\",\"device_class\":\"battery\"}",
  1463. "payloadType": "json",
  1464. "repeat": "",
  1465. "crontab": "",
  1466. "once": true,
  1467. "onceDelay": "240",
  1468. "x": 160,
  1469. "y": 660,
  1470. "wires": [
  1471. [
  1472. "d107693b.425388"
  1473. ]
  1474. ]
  1475. },
  1476. {
  1477. "id": "d107693b.425388",
  1478. "type": "mqtt out",
  1479. "z": "1248a3fb.e201cc",
  1480. "name": "socconfig",
  1481. "topic": "homeassistant/sensor/battSOC/config",
  1482. "qos": "",
  1483. "retain": "true",
  1484. "broker": "c3857c6e.4c937",
  1485. "x": 300,
  1486. "y": 660,
  1487. "wires": []
  1488. },
  1489. {
  1490. "id": "32c8f506.da7d9a",
  1491. "type": "inject",
  1492. "z": "1248a3fb.e201cc",
  1493. "name": "voltjson",
  1494. "topic": "",
  1495. "payload": "{\"name\":\"Forbruksbatteri\",\"state_topic\":\"homeassistant/sensor/battV/state\",\"unit_of_measurement\":\"V\",\"icon\":\"mdi:current-dc\"}",
  1496. "payloadType": "json",
  1497. "repeat": "",
  1498. "crontab": "",
  1499. "once": true,
  1500. "onceDelay": "240",
  1501. "x": 160,
  1502. "y": 580,
  1503. "wires": [
  1504. [
  1505. "8a3e88d4.588b78",
  1506. "1f74b02a.d311c"
  1507. ]
  1508. ]
  1509. },
  1510. {
  1511. "id": "8a3e88d4.588b78",
  1512. "type": "mqtt out",
  1513. "z": "1248a3fb.e201cc",
  1514. "name": "voltconfig",
  1515. "topic": "homeassistant/sensor/battV/config",
  1516. "qos": "",
  1517. "retain": "true",
  1518. "broker": "c3857c6e.4c937",
  1519. "x": 300,
  1520. "y": 580,
  1521. "wires": []
  1522. },
  1523. {
  1524. "id": "5ad0d5c4.f317bc",
  1525. "type": "mqtt out",
  1526. "z": "1248a3fb.e201cc",
  1527. "name": "voltsconfig",
  1528. "topic": "homeassistant/sensor/battVS/config",
  1529. "qos": "",
  1530. "retain": "true",
  1531. "broker": "c3857c6e.4c937",
  1532. "x": 310,
  1533. "y": 700,
  1534. "wires": []
  1535. },
  1536. {
  1537. "id": "515d2304.14cfbc",
  1538. "type": "inject",
  1539. "z": "1248a3fb.e201cc",
  1540. "name": "vsjson",
  1541. "topic": "",
  1542. "payload": "{\"name\":\"Startbatteri\",\"state_topic\":\"homeassistant/sensor/battVS/state\",\"unit_of_measurement\":\"V\",\"icon\":\"mdi:current-dc\"}",
  1543. "payloadType": "json",
  1544. "repeat": "",
  1545. "crontab": "",
  1546. "once": true,
  1547. "onceDelay": "240",
  1548. "x": 150,
  1549. "y": 700,
  1550. "wires": [
  1551. [
  1552. "5ad0d5c4.f317bc"
  1553. ]
  1554. ]
  1555. },
  1556. {
  1557. "id": "1f74b02a.d311c",
  1558. "type": "debug",
  1559. "z": "1248a3fb.e201cc",
  1560. "name": "",
  1561. "active": false,
  1562. "tosidebar": true,
  1563. "console": false,
  1564. "tostatus": false,
  1565. "complete": "false",
  1566. "x": 410,
  1567. "y": 544,
  1568. "wires": []
  1569. },
  1570. {
  1571. "id": "ce1df2c7.17257",
  1572. "type": "link in",
  1573. "z": "8be735f2.3402c8",
  1574. "name": "State of Charge",
  1575. "links": [
  1576. "99c57c5a.1f1ac"
  1577. ],
  1578. "x": 75,
  1579. "y": 60,
  1580. "wires": [
  1581. [
  1582. "b6318b69.0808c8"
  1583. ]
  1584. ]
  1585. },
  1586. {
  1587. "id": "979499b2.2c64c8",
  1588. "type": "api-current-state",
  1589. "z": "8be735f2.3402c8",
  1590. "name": "target",
  1591. "server": "8168b04d.8f5f2",
  1592. "version": 1,
  1593. "outputs": 1,
  1594. "halt_if": "",
  1595. "halt_if_type": "str",
  1596. "halt_if_compare": "is",
  1597. "override_topic": true,
  1598. "entity_id": "input_number.ladeprosent",
  1599. "state_type": "num",
  1600. "state_location": "payload",
  1601. "override_payload": "msg",
  1602. "entity_location": "data",
  1603. "override_data": "msg",
  1604. "blockInputOverrides": false,
  1605. "x": 210,
  1606. "y": 160,
  1607. "wires": [
  1608. [
  1609. "440dec3b.c54964"
  1610. ]
  1611. ]
  1612. },
  1613. {
  1614. "id": "440dec3b.c54964",
  1615. "type": "function",
  1616. "z": "8be735f2.3402c8",
  1617. "name": "Time to Charge?",
  1618. "func": "\n\n// Current state of Charge of batteries\nif (msg.topic == 'SOC') {\n context.set('status', msg.payload);\n}\n\n// Target for charge \nif (msg.topic == 'input_number.ladeprosent') {\n context.set('target', msg.payload);\n}\n\n// Check if status is 3% below target\nvar diff = context.get('target') - context.get('status');\n\nif ( diff > 3 ) { // Start to charge if 3% below target\n msg.payload = \"charge\";\n} else if ( diff < 0 ) { // Stop charging when target reached\n msg.payload = \"stop\";\n}\n\nreturn msg;",
  1619. "outputs": 1,
  1620. "noerr": 0,
  1621. "x": 420,
  1622. "y": 160,
  1623. "wires": [
  1624. [
  1625. "5c40e320.57bdac",
  1626. "bbeb3e31.d7f9b"
  1627. ]
  1628. ]
  1629. },
  1630. {
  1631. "id": "5c40e320.57bdac",
  1632. "type": "switch",
  1633. "z": "8be735f2.3402c8",
  1634. "name": "charge on or off",
  1635. "property": "payload",
  1636. "propertyType": "msg",
  1637. "rules": [
  1638. {
  1639. "t": "eq",
  1640. "v": "charge",
  1641. "vt": "str"
  1642. },
  1643. {
  1644. "t": "eq",
  1645. "v": "stop",
  1646. "vt": "str"
  1647. }
  1648. ],
  1649. "checkall": "false",
  1650. "repair": false,
  1651. "outputs": 2,
  1652. "x": 645,
  1653. "y": 160,
  1654. "wires": [
  1655. [
  1656. "9c20b3fd.5dabb",
  1657. "d01a2df1.d90e6"
  1658. ],
  1659. [
  1660. "3f022e2a.e704f2",
  1661. "d46defa5.15052"
  1662. ]
  1663. ]
  1664. },
  1665. {
  1666. "id": "748e4eda.120d4",
  1667. "type": "api-call-service",
  1668. "z": "8be735f2.3402c8",
  1669. "name": "start charge",
  1670. "server": "8168b04d.8f5f2",
  1671. "version": 1,
  1672. "service_domain": "switch",
  1673. "service": "turn_on",
  1674. "entityId": "switch.osram_plug_01_000d1a23_3",
  1675. "data": "",
  1676. "dataType": "json",
  1677. "mergecontext": "",
  1678. "output_location": "payload",
  1679. "output_location_type": "msg",
  1680. "mustacheAltTags": false,
  1681. "x": 1070,
  1682. "y": 140,
  1683. "wires": [
  1684. []
  1685. ]
  1686. },
  1687. {
  1688. "id": "d01a2df1.d90e6",
  1689. "type": "api-current-state",
  1690. "z": "8be735f2.3402c8",
  1691. "name": "charging?",
  1692. "server": "8168b04d.8f5f2",
  1693. "version": "1",
  1694. "outputs": 2,
  1695. "halt_if": "on",
  1696. "halt_if_type": "str",
  1697. "halt_if_compare": "is",
  1698. "override_topic": true,
  1699. "entity_id": "switch.osram_plug_01_000d1a23_3",
  1700. "state_type": "str",
  1701. "state_location": "payload",
  1702. "override_payload": "msg",
  1703. "entity_location": "data",
  1704. "override_data": "msg",
  1705. "blockInputOverrides": false,
  1706. "x": 880,
  1707. "y": 143,
  1708. "wires": [
  1709. [],
  1710. [
  1711. "748e4eda.120d4"
  1712. ]
  1713. ]
  1714. },
  1715. {
  1716. "id": "d60378e5.588fe8",
  1717. "type": "api-call-service",
  1718. "z": "8be735f2.3402c8",
  1719. "name": "stop charge",
  1720. "server": "8168b04d.8f5f2",
  1721. "version": 1,
  1722. "service_domain": "switch",
  1723. "service": "turn_off",
  1724. "entityId": "switch.osram_plug_01_000d1a23_3",
  1725. "data": "",
  1726. "dataType": "json",
  1727. "mergecontext": "",
  1728. "output_location": "payload",
  1729. "output_location_type": "msg",
  1730. "mustacheAltTags": false,
  1731. "x": 1070,
  1732. "y": 220,
  1733. "wires": [
  1734. []
  1735. ]
  1736. },
  1737. {
  1738. "id": "d46defa5.15052",
  1739. "type": "api-current-state",
  1740. "z": "8be735f2.3402c8",
  1741. "name": "charging?",
  1742. "server": "8168b04d.8f5f2",
  1743. "version": "1",
  1744. "outputs": 2,
  1745. "halt_if": "off",
  1746. "halt_if_type": "str",
  1747. "halt_if_compare": "is",
  1748. "override_topic": true,
  1749. "entity_id": "switch.osram_plug_01_000d1a23_3",
  1750. "state_type": "str",
  1751. "state_location": "payload",
  1752. "override_payload": "msg",
  1753. "entity_location": "data",
  1754. "override_data": "msg",
  1755. "blockInputOverrides": false,
  1756. "x": 880,
  1757. "y": 203,
  1758. "wires": [
  1759. [],
  1760. [
  1761. "d60378e5.588fe8"
  1762. ]
  1763. ]
  1764. },
  1765. {
  1766. "id": "b6318b69.0808c8",
  1767. "type": "api-current-state",
  1768. "z": "8be735f2.3402c8",
  1769. "name": "automation on?",
  1770. "server": "8168b04d.8f5f2",
  1771. "version": 1,
  1772. "outputs": 2,
  1773. "halt_if": "off",
  1774. "halt_if_type": "str",
  1775. "halt_if_compare": "is",
  1776. "override_topic": false,
  1777. "entity_id": "input_boolean.charge_automation",
  1778. "state_type": "str",
  1779. "state_location": "",
  1780. "override_payload": "none",
  1781. "entity_location": "",
  1782. "override_data": "none",
  1783. "blockInputOverrides": false,
  1784. "x": 200,
  1785. "y": 60,
  1786. "wires": [
  1787. [],
  1788. [
  1789. "440dec3b.c54964",
  1790. "979499b2.2c64c8"
  1791. ]
  1792. ]
  1793. },
  1794. {
  1795. "id": "9c20b3fd.5dabb",
  1796. "type": "debug",
  1797. "z": "8be735f2.3402c8",
  1798. "name": "below - start",
  1799. "active": false,
  1800. "tosidebar": true,
  1801. "console": false,
  1802. "tostatus": false,
  1803. "complete": "payload",
  1804. "x": 890,
  1805. "y": 80,
  1806. "wires": []
  1807. },
  1808. {
  1809. "id": "3f022e2a.e704f2",
  1810. "type": "debug",
  1811. "z": "8be735f2.3402c8",
  1812. "name": "above - stop",
  1813. "active": false,
  1814. "tosidebar": true,
  1815. "console": false,
  1816. "tostatus": false,
  1817. "complete": "payload",
  1818. "x": 890,
  1819. "y": 260,
  1820. "wires": []
  1821. },
  1822. {
  1823. "id": "bbeb3e31.d7f9b",
  1824. "type": "debug",
  1825. "z": "8be735f2.3402c8",
  1826. "name": "SOC",
  1827. "active": false,
  1828. "tosidebar": true,
  1829. "console": false,
  1830. "tostatus": false,
  1831. "complete": "payload",
  1832. "x": 615,
  1833. "y": 200,
  1834. "wires": []
  1835. },
  1836. {
  1837. "id": "99c57c5a.1f1ac",
  1838. "type": "link out",
  1839. "z": "1248a3fb.e201cc",
  1840. "name": "SOC",
  1841. "links": [
  1842. "ce1df2c7.17257"
  1843. ],
  1844. "x": 835,
  1845. "y": 400,
  1846. "wires": []
  1847. }
  1848. ]
Advertisement
Add Comment
Please, Sign In to add comment