[ { "id": "ab51b1e8cad7b700", "type": "tab", "label": "K.Kernel", "disabled": false, "info": "", "env": [] }, { "id": "3a98a00afc60d7cd", "type": "group", "z": "ab51b1e8cad7b700", "name": "auto - device", "style": { "fill": "#777777", "fill-opacity": "0.05", "label": true }, "nodes": [ "63149b5b57a97c5b", "3110fe9246e63b1e", "5a56612ef35c5fd3", "1e45572f1b441732", "9592590beaf63cd3" ], "x": 42, "y": 5187, "w": 3596, "h": 1566 }, { "id": "50456628f56ade66", "type": "group", "z": "ab51b1e8cad7b700", "name": "device - system kernel version", "style": { "fill": "#777777", "fill-opacity": "0.05", "label": true }, "nodes": [ "f67a857ae75d906f", "a8dc4fab59fdefb4" ], "x": 68, "y": 7073, "w": 1154, "h": 134, "info": "this is a fake device for kernel boot (ensure that one device is registered)" }, { "id": "96d8990f6a4978cc", "type": "group", "z": "ab51b1e8cad7b700", "name": "kernel", "style": { "fill": "#777777", "fill-opacity": "0.05", "label": true }, "nodes": [ "a762a7a552cb9f03", "bc29c56f900c8d36", "3e71b89d61df9fd3", "6386e9a459469b53", "e9bd98a0b6e0d58c", "20b116b788ef3f27", "e456c4e7cfd87c26", "220c62e3365abccb", "89e3a9e072e3026b", "014c7a6e2061521c" ], "x": 68, "y": 2633, "w": 5014, "h": 2474 }, { "id": "648d078d534a93be", "type": "group", "z": "ab51b1e8cad7b700", "name": "catch error", "style": { "fill": "#ff0000", "fill-opacity": "0.05", "label": true, "stroke": "#ff0000" }, "nodes": [ "d248a5e5ab11c9d7", "4781986f3e559778", "243984ca9c174883" ], "x": 534, "y": 19, "w": 422, "h": 82 }, { "id": "818a8590288d6409", "type": "group", "z": "ab51b1e8cad7b700", "name": "kernel - about", "style": { "fill": "#ff0000", "fill-opacity": "0.05", "label": true }, "nodes": [ "797eac89000183db", "d49116054bd5cd56", "d9b8f97fb0897586" ], "x": 94, "y": 19, "w": 342, "h": 82 }, { "id": "93fb3d4a50d16da0", "type": "group", "z": "ab51b1e8cad7b700", "name": "mqtt server for nodered", "style": { "label": true, "fill": "#ffffff", "fill-opacity": "0.5", "stroke": "#0070c0" }, "nodes": [ "d1b208e623179a25", "c706245ab487b7e2" ], "x": 68, "y": 6833, "w": 2664, "h": 194 }, { "id": "d0df5b3e8770d40b", "type": "group", "z": "ab51b1e8cad7b700", "name": "boot", "style": { "label": true, "fill": "#777777", "fill-opacity": "0.05" }, "nodes": [ "0aad38bc7c7fc52c", "b275fd7f45bdbb21", "3e8ea39ffdb422c0", "8c9efe133dabdae7", "7e85ca5b11887906", "89ff0d2f726ec1fc", "e5bf46d1b71f880e", "3cfc986cc7920ab6", "7a4b3188c2585365", "666fb3757c3b2f1c", "c41724b0a7d79959", "9de0cb5fad576e92", "8743bc87eb8d2a91", "5429d0542d3e1152", "ea98356204959d40" ], "x": 68, "y": 173, "w": 2854, "h": 1994 }, { "id": "5a56612ef35c5fd3", "type": "group", "z": "ab51b1e8cad7b700", "g": "3a98a00afc60d7cd", "name": "", "style": { "fill": "#ffffff", "label": true, "stroke": "#92d04f", "fill-opacity": "0.5" }, "nodes": [ "874075d44d19869a", "d9548e9b1a2e6f36" ], "x": 68, "y": 6473, "w": 1794, "h": 254 }, { "id": "3110fe9246e63b1e", "type": "group", "z": "ab51b1e8cad7b700", "g": "3a98a00afc60d7cd", "name": "", "style": { "fill": "#ffffff", "label": true, "stroke": "#0070c0", "fill-opacity": "0.5" }, "nodes": [ "3be00f677c6457bd", "266f4436dc45ce89" ], "x": 68, "y": 6113, "w": 2934, "h": 314 }, { "id": "63149b5b57a97c5b", "type": "group", "z": "ab51b1e8cad7b700", "g": "3a98a00afc60d7cd", "name": "", "style": { "fill": "#ffffff", "label": true, "stroke": "#ffC000", "fill-opacity": "0.5" }, "nodes": [ "bd21a8b1786d3ed2", "4937527cddd45b61" ], "x": 68, "y": 5753, "w": 3544, "h": 314 }, { "id": "a8dc4fab59fdefb4", "type": "group", "z": "ab51b1e8cad7b700", "g": "50456628f56ade66", "name": "", "style": { "fill": "#ffC000", "fill-opacity": "0.05", "label": true }, "nodes": [ "840c05ce502e7fdd", "eed8990163b1ca81", "7f76434616f622dc" ], "x": 94, "y": 7099, "w": 542, "h": 82 }, { "id": "f67a857ae75d906f", "type": "group", "z": "ab51b1e8cad7b700", "g": "50456628f56ade66", "name": "", "style": { "fill": "#0070c0", "fill-opacity": "0.05", "label": true }, "nodes": [ "33f7a250a7341c43", "1b98c37b3b7502e4", "f02b4584af0d800c" ], "x": 734, "y": 7099, "w": 462, "h": 82 }, { "id": "a762a7a552cb9f03", "type": "group", "z": "ab51b1e8cad7b700", "g": "96d8990f6a4978cc", "name": "kernel - cron", "style": { "fill": "#ff0000", "fill-opacity": "0.05", "label": true }, "nodes": [ "caa3c5097468f133", "722c773f6314dd40", "867a71b7dae9c844", "004bb30c27c94fb4", "287d719de575c01f", "074a67bf0fcf09ad", "d4146047c079ac62", "764da2d0527c1ef6", "7fa17301839c0fa6", "412878f8c488a0f4", "c367834c9cccbe38", "ca442e58e65b32f8", "c24a1a94daaabeb7", "54d6b2cd150e1e9f", "db59beff27b22a84", "37e59604679e90f9", "d43d725dc388931c" ], "x": 94, "y": 2659, "w": 912, "h": 322, "info": "cron minute = every minutes from flow start\r\ncron hour = every hours from flow start\r\ncron day = every day at 3 am" }, { "id": "bc29c56f900c8d36", "type": "group", "z": "ab51b1e8cad7b700", "g": "96d8990f6a4978cc", "name": "kernel - write to file", "style": { "fill": "#ff0000", "fill-opacity": "0.05", "label": true, "stroke": "#ff0000" }, "nodes": [ "b1e2b474e4c77892", "ede79ed6b82aa804", "9d4a1f539c9bf58c", "432e8063fae7039e", "1ec6a11cfb7fa3fc", "e8b0c3f8741a0a4c", "7b3cd053cd0845dd", "943864bb6bac6f36" ], "x": 94, "y": 4219, "w": 1182, "h": 142 }, { "id": "3e71b89d61df9fd3", "type": "group", "z": "ab51b1e8cad7b700", "g": "96d8990f6a4978cc", "name": "kernel - write to InfluxDB", "style": { "fill": "#ff0000", "fill-opacity": "0.05", "label": true }, "nodes": [ "58359ad51f36d68e", "0aca727fc835e615", "5c4a3b8ce0220dd9", "14a5f0183ce7ec8d", "ec2704a8e18114ea", "e287e4f4d7f3a174", "b43439c6ab36fbfc", "61b310386916497a", "a98fde87c6b47e6e", "7c75b6b921f30409", "27e3bd6cada7b554", "4280a1f889505f0c", "4163673982458b27", "faeff76a4321bee2", "28b6c3fdb407e73b", "13f75c57c57e7423" ], "x": 94, "y": 3979, "w": 2692, "h": 202 }, { "id": "6386e9a459469b53", "type": "group", "z": "ab51b1e8cad7b700", "g": "96d8990f6a4978cc", "name": "kernel - write to MQTT", "style": { "fill": "#ff0000", "fill-opacity": "0.05", "label": true }, "nodes": [ "b425ab40ef97a294", "1102208726a88a10", "4176c5d5bc97709c", "1cbff7f3a7317c5b", "c5465d5f64db4b45" ], "x": 94, "y": 3799, "w": 792, "h": 142 }, { "id": "e9bd98a0b6e0d58c", "type": "group", "z": "ab51b1e8cad7b700", "g": "96d8990f6a4978cc", "name": "kernel - write to journal", "style": { "fill": "#ff0000", "fill-opacity": "0.05", "label": true }, "nodes": [ "e4e85a27e4775ac9", "5a49d1f4b12618a7", "234620fe148e1dca", "285c9ffa2f524440", "a441e9df790a0c3c", "074313bb4e48de6f", "c5dc4f8c357a596f", "592483f2183c6711" ], "x": 94, "y": 3499, "w": 1052, "h": 262 }, { "id": "20b116b788ef3f27", "type": "group", "z": "ab51b1e8cad7b700", "g": "96d8990f6a4978cc", "name": "kernel - metric", "style": { "fill": "#ff0000", "fill-opacity": "0.05", "label": true }, "nodes": [ "12f02c43a82b46f9", "a974cddec777bd94", "7cd303d0aadd1433", "eca0e6f3657f0564", "1e908b6060a584ea", "3743db17cb401840", "6473c46ecd9304c7", "582f8e6b17a9d9d1", "dd79805b7971cbbb", "0831bd7e7daa4915", "ae5e8ae05adac7fd", "9f055c7cccb634c1", "c785aed10e83430a", "68ad3074767eb2c3", "0d78bebcc5541e02", "fc88fb69cac1e5a5", "82229e46e51f94f5", "895db12fd6d94a67", "4689a4035be0c82e", "6466ac9bacd083e2", "ca80e5fe27609a11", "d7f0ba2534f27b82", "206c1fb4a48067df", "031a6afd8300356a", "4264ed01f3943e2f", "c15d0c66ed5af79f", "e2ef5706b35de7b0", "8bbf418d277b4df7", "357c6d106dec5efd", "3a4c72588bb27ab4", "56d131373d4e2f78", "a9b3a11e9a293e92", "3f5c348f99494011", "dec821295a7e7458", "472fc7b2574a8069", "00721a78ef7c76ef", "4ab6ae8d75f33216", "86c0417f75592b29", "d4c051fdcf3414f6", "50597b4a81f39149", "86ce0c124789fd0d", "b5c48a301d98335a", "61d22e09bde69211", "503349dbea6cdfc6", "68c1fe82aaee4b1b", "de5de22f333ae09b", "ab62f258e01d8e30" ], "x": 94, "y": 3019, "w": 4962, "h": 442 }, { "id": "c706245ab487b7e2", "type": "group", "z": "ab51b1e8cad7b700", "g": "93fb3d4a50d16da0", "name": "", "style": { "fill": "#0070c0", "fill-opacity": "0.05", "label": true }, "nodes": [ "630dfeb0e033a476", "d40db95f9a154c3a", "0f1e413815ecc824", "19a5c46ec6c71456", "ea12553cbabf2ffb", "acb5a947386c9b74" ], "x": 1834, "y": 6859, "w": 872, "h": 142 }, { "id": "d1b208e623179a25", "type": "group", "z": "ab51b1e8cad7b700", "g": "93fb3d4a50d16da0", "name": "", "style": { "fill": "#0070c0", "fill-opacity": "0.05", "label": true }, "nodes": [ "e12bb3f8258f4439", "b961d989c357e6d6", "2cc2cdcf0b1f710e", "56d93c268a656fc4", "d02f1b2f2c3a2a30", "208df23ea752ffdf", "18e9d5a1fd096ab2", "a4f59906627b6ae2", "6e55698d1398bc7c", "529a05416b2791b3", "5bf1d90326c0f62a" ], "x": 94, "y": 6859, "w": 1642, "h": 142 }, { "id": "e456c4e7cfd87c26", "type": "group", "z": "ab51b1e8cad7b700", "g": "96d8990f6a4978cc", "name": "kernel - catch error", "style": { "fill": "#ff0000", "fill-opacity": "0.05", "label": true }, "nodes": [ "a52f0e788cd4dca3", "2b16dee056f4ac27", "26ee3b5b75b8d83f" ], "x": 94, "y": 4939, "w": 352, "h": 142 }, { "id": "1e45572f1b441732", "type": "group", "z": "ab51b1e8cad7b700", "g": "3a98a00afc60d7cd", "name": "", "style": { "stroke": "#001f60", "fill": "#ffffff", "label": true, "fill-opacity": "0.5" }, "nodes": [ "abae3c836f2269b3", "b96253f786c81415" ], "x": 68, "y": 5513, "w": 2154, "h": 194 }, { "id": "220c62e3365abccb", "type": "group", "z": "ab51b1e8cad7b700", "g": "96d8990f6a4978cc", "name": "kernel - globals backup auto", "style": { "fill": "#ff0000", "fill-opacity": "0.05", "label": true }, "nodes": [ "ee6803ada17495f7", "89536711b1832785", "0a06deb10c6bfb73", "652fac9e798d902c", "4b78e717c0cdd9be", "49e3a0945c3b8a8b" ], "x": 94, "y": 4699, "w": 1032, "h": 202 }, { "id": "89e3a9e072e3026b", "type": "group", "z": "ab51b1e8cad7b700", "g": "96d8990f6a4978cc", "name": "kernel - read from file", "style": { "stroke": "#ff0000", "fill": "#ff0000", "fill-opacity": "0.05", "label": true }, "nodes": [ "dfb4b5350a9383c9", "43c695b9490f5104", "44308739c0f759ad", "be0beee97ed2d572", "2356f963725e84c6", "d3064571c2fde064", "360839bebc94f209", "7168c4d9dc0fcb70", "055855f94de1a116", "bf0025a0413f56d0", "6e108f19774095c4", "2ebfa25bf5157bf9", "f230b923f6d52e3d", "739c9d29fe42eef2", "108c661c26333b42", "c45005063315dda8", "b83a724b3219d3cb", "43ded5e3990e4740", "3ff34eda25d3565c", "c226f7f432d28eaf", "99374b56d2d55b84", "97219476911c3635", "1be0f3ea14646012", "63a56a707e7af1d1", "de3f9bee9c60560a", "6517bd2882846359" ], "x": 94, "y": 4399, "w": 4262, "h": 142 }, { "id": "9592590beaf63cd3", "type": "group", "z": "ab51b1e8cad7b700", "g": "3a98a00afc60d7cd", "name": "", "style": { "fill": "#ffffff", "fill-opacity": "0.5", "label": true, "stroke": "#ff0000" }, "nodes": [ "d62c9cf0cb81a537" ], "x": 68, "y": 5213, "w": 1444, "h": 254 }, { "id": "014c7a6e2061521c", "type": "group", "z": "ab51b1e8cad7b700", "g": "96d8990f6a4978cc", "name": "kernet - reset globals", "style": { "stroke": "#ff0000", "fill": "#ff0000", "fill-opacity": "0.05", "label": true }, "nodes": [ "da5c4af310dfc518", "2b4359a348c810a9", "dd0d5e40cc4e4720" ], "x": 94, "y": 4579, "w": 382, "h": 82 }, { "id": "0aad38bc7c7fc52c", "type": "group", "z": "ab51b1e8cad7b700", "g": "d0df5b3e8770d40b", "name": "boot - ui", "style": { "stroke": "#ff0000", "fill": "#ff0000", "fill-opacity": "0.05", "label": true }, "nodes": [ "e509e8b44c9007e1", "e7ad39a80d1fe019", "d6f403ba291b1b17", "c5fb211c91dfecd9", "f2b60619986117f0", "5055e9faa70a605e", "88c3ff2a107f882e", "f8a803c79526f098", "67fe8560e3a5ea8b", "cbce1107a4000a53", "2690d0c451f0a6fb", "6d2567ef31684111" ], "x": 94, "y": 1999, "w": 1302, "h": 142 }, { "id": "b275fd7f45bdbb21", "type": "group", "z": "ab51b1e8cad7b700", "g": "d0df5b3e8770d40b", "name": "boot - target", "style": { "stroke": "#ff0000", "fill": "#ff0000", "fill-opacity": "0.05", "label": true }, "nodes": [ "655a5cf856c9ceaf", "7867d8054bf06206", "ac95c7d7701c1217", "badca31e722b250c", "e773784d5211c65f", "f51c48a7b12787c4", "c9799d253d22c02c", "91208239fbe15797", "65ca2d9dc3ae858d", "8c26e5e59e5939b0", "9f1da32513c2e9f7", "540a4408ff1d85b1" ], "x": 94, "y": 1819, "w": 1302, "h": 142 }, { "id": "3e8ea39ffdb422c0", "type": "group", "z": "ab51b1e8cad7b700", "g": "d0df5b3e8770d40b", "name": "boot - source", "style": { "stroke": "#ff0000", "fill": "#ff0000", "fill-opacity": "0.05", "label": true }, "nodes": [ "13af35e83310ba58", "edbc4831f0f54cc7", "c7219bbb3399eb52", "a849455254731ba3", "7985145f1ef06222", "558c564831d752d6", "735be69fe65e996e", "e83e0bde60108cf0", "441347a44abdcdd1", "4b31e327ec827081", "3d7b06c6e468092c", "a9e0aedc47d23df0" ], "x": 94, "y": 1639, "w": 1302, "h": 142 }, { "id": "8c9efe133dabdae7", "type": "group", "z": "ab51b1e8cad7b700", "g": "d0df5b3e8770d40b", "name": "boot - metric", "style": { "stroke": "#ff0000", "fill": "#ff0000", "fill-opacity": "0.05", "label": true }, "nodes": [ "9caf1f4f5fa6e06f", "328ff4712348d1ce", "a85250fbceb2ddc3", "06b6001416bcae48", "306af7dd14895858", "d8fe299ad01229d9", "7074b27a2ba9fa43", "9063c8e998532e1c", "6df8e501fdf43d1d", "0b27931075fedc60", "5bdc08d812013590", "337b32e93ceab701" ], "x": 94, "y": 1459, "w": 1302, "h": 142 }, { "id": "7e85ca5b11887906", "type": "group", "z": "ab51b1e8cad7b700", "g": "d0df5b3e8770d40b", "name": "boot - device", "style": { "stroke": "#ff0000", "fill": "#ff0000", "fill-opacity": "0.05", "label": true }, "nodes": [ "3fe55eddaf0140ee", "96ad022ea9d454d9", "d065878b964a95b9", "f8e0f90e214e5ff9", "fbfdc7db2904aa04", "9b1b78a9a20ce588", "76c80637c0ae864d", "0446e708929e4ba7", "053978e43d953de7", "f92f6dcc3724dd04", "3c377256ce6452b1", "e57e9117be76de70" ], "x": 94, "y": 1279, "w": 1302, "h": 142 }, { "id": "89ff0d2f726ec1fc", "type": "group", "z": "ab51b1e8cad7b700", "g": "d0df5b3e8770d40b", "name": "boot - model", "style": { "stroke": "#ff0000", "fill": "#ff0000", "fill-opacity": "0.05", "label": true }, "nodes": [ "8fcde35bc940d97d", "395376d7e73da017", "bc08df821dc21092", "4083e0b5aa07b391", "b07b1a52baf0899b", "9cba9db4d6ba4792", "31e397def3c2efa3", "fb76a5fab82dfe07", "4a9ebf6c413b8cce", "2184c8fc6df4c103", "9d227dc0fe3db54e", "19884a3c55ef01e0" ], "x": 94, "y": 1099, "w": 1302, "h": 142 }, { "id": "e5bf46d1b71f880e", "type": "group", "z": "ab51b1e8cad7b700", "g": "d0df5b3e8770d40b", "name": "boot - room", "style": { "stroke": "#ff0000", "fill": "#ff0000", "fill-opacity": "0.05", "label": true }, "nodes": [ "a0f0f63b3934f168", "4a37f8f670a1c789", "2696413f79392626", "ab95e932d610db1d", "9fefafa2d9c783e4", "e03bf8b0eb75bb57", "8b26a936cafd0c35", "067bd84f68076a3e", "17ea7f224128b5c0", "20d67c2a6d0b8edb", "b879ca6cfab8067b", "2bf2a3570ad9a4a9" ], "x": 94, "y": 919, "w": 1302, "h": 142 }, { "id": "3cfc986cc7920ab6", "type": "group", "z": "ab51b1e8cad7b700", "g": "d0df5b3e8770d40b", "name": "inject", "style": { "label": true, "fill": "#ff0000", "fill-opacity": "0.05" }, "nodes": [ "33eda67559c36431", "b8e0e2e88c603fca", "545f1b4d3138c6ac", "fe1e1ea9af5e5f7a", "d4df4da5210bac26", "2c10cdbc0032073a", "c79aa834b70e4674", "0ec7eb2b525d4265", "c0e7c42d02244806", "70f875cf6e3f8f48", "7946b5daf9746284", "b76dfebb811b14bd", "7f34b93be6dd1ae0", "2081f5ebb7403922", "778b2cff1fa0da1f", "9bac1aa814ac44eb", "4c15a34defab8369", "ea9e1a4ab2b74ceb", "c43fe34582a0b3eb", "a112027247cda662", "97bff4775fd91b54", "dd10b513ac7a04ec", "f45ee744052bb2d6", "db21979f63985719", "64ea196fcdd442ae", "84052fb7696fd419", "754b9e0944158828", "67d67876268d5804", "f17d156bf6d2ea64", "e2bf4b31ba67aab2", "0bc70d755d037eeb", "3e16cec67e6dfe9b", "ba7189be579ed3f7", "8b72b7cb338a2d68", "3cc6bbbc6844b7b1", "419ed058d98d30ad", "cb927baab479c03f", "cfe7a728431d4432" ], "x": 94, "y": 199, "w": 2802, "h": 682 }, { "id": "7a4b3188c2585365", "type": "group", "z": "ab51b1e8cad7b700", "g": "d0df5b3e8770d40b", "name": "gate - metric", "style": { "fill": "#ff0000", "fill-opacity": "0.05", "label": true }, "nodes": [ "2ed07fe223d2313f", "62899a3642eec3a6", "0834ba091c1e77d9", "92ceeb434c3fc82a", "064e02a8998b5685", "fcb2ec1001ceb323" ], "x": 1494, "y": 1039, "w": 502, "h": 142 }, { "id": "666fb3757c3b2f1c", "type": "group", "z": "ab51b1e8cad7b700", "g": "d0df5b3e8770d40b", "name": "gate - source", "style": { "fill": "#ff0000", "fill-opacity": "0.05", "label": true }, "nodes": [ "ef8370083ab88ead", "aa0c22b1ba7c2676", "f1a09e5456fe03fe", "b70a3e673499fb87", "833b9eac78de9c81", "4b2af8c17ceca370" ], "x": 1494, "y": 1219, "w": 502, "h": 142 }, { "id": "c41724b0a7d79959", "type": "group", "z": "ab51b1e8cad7b700", "g": "d0df5b3e8770d40b", "name": "gate - target", "style": { "fill": "#ff0000", "fill-opacity": "0.05", "label": true }, "nodes": [ "1f0f01c3fc8e207b", "8df0f11b7b695158", "95ce18294052c029", "fd307e7cbbb08a89", "8014ec6e193d9901", "5a779f9b34c8259b" ], "x": 1494, "y": 1399, "w": 502, "h": 142 }, { "id": "9de0cb5fad576e92", "type": "group", "z": "ab51b1e8cad7b700", "g": "d0df5b3e8770d40b", "name": "gate - loop", "style": { "fill": "#ff0000", "fill-opacity": "0.05", "label": true }, "nodes": [ "094771ea30e6c0b6", "3736e2a70e80e34c", "da3a9220d88fc434", "6df2ba0f14893390", "2af94d148cf723c0", "3a35aa53aaedf198" ], "x": 1494, "y": 1579, "w": 502, "h": 142 }, { "id": "8743bc87eb8d2a91", "type": "group", "z": "ab51b1e8cad7b700", "g": "d0df5b3e8770d40b", "name": "gate - scene", "style": { "fill": "#ff0000", "fill-opacity": "0.05", "label": true }, "nodes": [ "69ed4e47589ccc68", "05f0bbf93f1d5bf5", "427c0a5a050502e2", "eafdb7e55edcd0a2", "988dc67119f59ece", "2e871c6f42a5b449" ], "x": 1494, "y": 1759, "w": 502, "h": 142 }, { "id": "5429d0542d3e1152", "type": "group", "z": "ab51b1e8cad7b700", "g": "d0df5b3e8770d40b", "name": "gate - cron", "style": { "fill": "#ff0000", "fill-opacity": "0.05", "label": true }, "nodes": [ "1f25921d9d3cd9af", "504daced117e4792", "b3b28a9a5646ac9c", "504eeb064b15edb2", "29e7b98cef832784", "2016081ae13486e5" ], "x": 1494, "y": 1939, "w": 502, "h": 142 }, { "id": "ea98356204959d40", "type": "group", "z": "ab51b1e8cad7b700", "g": "d0df5b3e8770d40b", "name": "boot - step message", "style": { "fill": "#ff0000", "fill-opacity": "0.05", "label": true }, "nodes": [ "c0cbe8411bd6dfcc", "0639c6cf728f6b70" ], "x": 1494, "y": 919, "w": 372, "h": 82 }, { "id": "d9548e9b1a2e6f36", "type": "group", "z": "ab51b1e8cad7b700", "g": "5a56612ef35c5fd3", "name": "auto - metric - out", "style": { "fill": "#92d04f", "fill-opacity": "0.05", "label": true }, "nodes": [ "e93e8daa30075ae6", "89d2eebcaafb5013", "9c89a41128573752", "b2ccb6a2a248015d", "d318afa2a81e4ff9", "9262e99e20e0e654", "69041daa92bc0a8b" ], "x": 1074, "y": 6499, "w": 762, "h": 202 }, { "id": "874075d44d19869a", "type": "group", "z": "ab51b1e8cad7b700", "g": "5a56612ef35c5fd3", "name": "auto - metric - in", "style": { "fill": "#92d04f", "fill-opacity": "0.05", "label": true }, "nodes": [ "7d45ca7ad7f363fe", "a4e3db9cc35fc9eb", "a2d25db2ace537ae", "282bb73eb4892ab9", "637b84024e725f38", "f61f5fe80ddf6ff1" ], "x": 94, "y": 6559, "w": 882, "h": 82 }, { "id": "266f4436dc45ce89", "type": "group", "z": "ab51b1e8cad7b700", "g": "3110fe9246e63b1e", "name": "auto - source - out", "style": { "fill": "#0070c0", "fill-opacity": "0.05", "label": true }, "nodes": [ "14a0a0839924964f", "06581753b7673f83", "5e3cb9bb3266089b", "0b32686fe74c253f", "bb1e8e34559c5a7f", "460af327d1804def", "58d409f277d9b23d" ], "x": 1974, "y": 6199, "w": 1002, "h": 142 }, { "id": "3be00f677c6457bd", "type": "group", "z": "ab51b1e8cad7b700", "g": "3110fe9246e63b1e", "name": "auto - source - in", "style": { "label": true, "fill": "#0070c0", "fill-opacity": "0.05" }, "nodes": [ "ba77500cd9f7f6da", "30220f4fe07e35a4", "ac4653be6ea01477", "1ceced58d0c32e85", "24058eec92534b27", "5460a158225a328b", "d34f38f155583ff7", "aa275d99ba85bee2", "5891781e4a61525a", "4908c2284e498338", "411b13dfb3e989f0", "cf2b3440a4b8c304", "28fedc6e108ba847", "fc538fdbc98d0eff" ], "x": 94, "y": 6139, "w": 1772, "h": 262 }, { "id": "4937527cddd45b61", "type": "group", "z": "ab51b1e8cad7b700", "g": "63149b5b57a97c5b", "name": "auto - device - out", "style": { "fill": "#ffC000", "fill-opacity": "0.05", "label": true }, "nodes": [ "3e1b4213132404be", "e6d11d0438e20b80", "0ff47b07b863d0ae", "561aaceffe076a5d", "8f4503a19f2f639e", "b08802b0dbd9a58b", "9d71ae848c07c4ab", "bfa594bf1f876c92", "d747b2b7044fc49f", "c0f805841b9314df", "35c936be0ce55676", "c1d2a5b213c6568a", "6d65af0eaae695a3", "d3ac50a83c871cc8", "fabb645e0d88c91c", "f1898b7dbc641cd6", "a5622ff7c0c0c55c" ], "x": 1614, "y": 5779, "w": 1972, "h": 262 }, { "id": "bd21a8b1786d3ed2", "type": "group", "z": "ab51b1e8cad7b700", "g": "63149b5b57a97c5b", "name": "auto - device - in", "style": { "fill": "#ffC000", "fill-opacity": "0.05", "label": true }, "nodes": [ "d85fe6335a6eae7b", "c3d88e1872a9789b", "7f1a03ba2d4eb5d1", "546f190f3ec0c90d", "25579c2b6bf10a53", "03f2f5c00addae38", "1fe7191fde26e8cb", "8c9e51e853c941fe" ], "x": 94, "y": 5899, "w": 1392, "h": 142 }, { "id": "b96253f786c81415", "type": "group", "z": "ab51b1e8cad7b700", "g": "1e45572f1b441732", "name": "auto - model - in", "style": { "fill": "#001f60", "fill-opacity": "0.05", "label": true }, "nodes": [ "a330cf9fee227d5f", "9cb906bf8066d37e", "66f70658751b68f3" ], "x": 94, "y": 5599, "w": 382, "h": 82 }, { "id": "abae3c836f2269b3", "type": "group", "z": "ab51b1e8cad7b700", "g": "1e45572f1b441732", "name": "auto - model - out", "style": { "fill": "#001f60", "fill-opacity": "0.05", "label": true }, "nodes": [ "1266c0d95b69ccf5", "94aa726ce8973d2c", "13f4c9a49f9902dc", "5d553844550b821e", "1a40c588514eddb2", "b8199d733a66766b", "b9656cfcd1a2011e", "3055080b9f38dbe8", "9573e23ffd1bd3ec", "37838aa1f7d06a7b", "21fbe912a43d9c26" ], "x": 574, "y": 5539, "w": 1622, "h": 142 }, { "id": "d62c9cf0cb81a537", "type": "group", "z": "ab51b1e8cad7b700", "g": "9592590beaf63cd3", "name": "auto - room", "style": { "label": true, "fill": "#ff0000", "fill-opacity": "0.05" }, "nodes": [ "69a45eebaa58325f", "6eafb2a9c1ec95c0", "39740b8338a622fd", "4e5188bf59004a54", "cc946bae3f4b46d8", "fc14608145819575", "6b5dd5979114ad9c", "a1dbeb8cf51c3366", "92d4def3b42f658e", "ad2e79ba72ebd223", "f7cc8fb174a23f1a" ], "x": 94, "y": 5239, "w": 1392, "h": 202 }, { "id": "69041daa92bc0a8b", "type": "change", "z": "ab51b1e8cad7b700", "g": "d9548e9b1a2e6f36", "name": "set prefix", "rules": [ { "t": "set", "p": "prefix", "pt": "msg", "to": "'rfxcom2mqtt/devices/'&msg.id", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1480, "y": 6660, "wires": [ [ "b2ccb6a2a248015d" ] ] }, { "id": "9262e99e20e0e654", "type": "change", "z": "ab51b1e8cad7b700", "g": "d9548e9b1a2e6f36", "name": "set prefix", "rules": [ { "t": "set", "p": "prefix", "pt": "msg", "to": "'zigbee/'&msg.id", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1480, "y": 6600, "wires": [ [ "b2ccb6a2a248015d" ] ] }, { "id": "d318afa2a81e4ff9", "type": "change", "z": "ab51b1e8cad7b700", "g": "d9548e9b1a2e6f36", "name": "set prefix", "rules": [ { "t": "set", "p": "prefix", "pt": "msg", "to": "'zwave/'&msg.id", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1480, "y": 6540, "wires": [ [ "b2ccb6a2a248015d" ] ] }, { "id": "b2ccb6a2a248015d", "type": "change", "z": "ab51b1e8cad7b700", "g": "d9548e9b1a2e6f36", "name": "set topic", "rules": [ { "t": "set", "p": "topic", "pt": "msg", "to": "msg.prefix&'/'&msg.topic", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1660, "y": 6600, "wires": [ [ "89d2eebcaafb5013" ] ] }, { "id": "9c89a41128573752", "type": "switch", "z": "ab51b1e8cad7b700", "g": "d9548e9b1a2e6f36", "name": "select protocol", "property": "protocol", "propertyType": "msg", "rules": [ { "t": "eq", "v": "zwave", "vt": "str" }, { "t": "eq", "v": "zigbee", "vt": "str" }, { "t": "eq", "v": "rfxcom", "vt": "str" } ], "checkall": "false", "repair": false, "outputs": 3, "x": 1280, "y": 6600, "wires": [ [ "d318afa2a81e4ff9" ], [ "9262e99e20e0e654" ], [ "69041daa92bc0a8b" ] ] }, { "id": "89d2eebcaafb5013", "type": "link out", "z": "ab51b1e8cad7b700", "g": "d9548e9b1a2e6f36", "name": "auto - metric - out", "mode": "link", "links": [ "62dd3e8d6c87a0f9", "6c324b24ca028984", "de0c34e8104574b0" ], "x": 1795, "y": 6600, "wires": [] }, { "id": "e93e8daa30075ae6", "type": "link in", "z": "ab51b1e8cad7b700", "g": "d9548e9b1a2e6f36", "name": "auto - metric - out", "links": [ "3a56ad77ed759c12", "dc8432cb11ffb0d6", "7906a1e6360e1d26", "6129043e9e44e401", "4949856273c96f31", "787259a3f73535a8", "04c8ea40e1416dd8", "b851d81e54e34734", "9141d766151544f5", "a0599f25333072be", "a405297eaa582a12", "8e7510f792d7e993", "d8d03ddc7ce6b361", "5d02e59fc60d15bd", "23cb7e24572f04c1", "c0f4a64aed2d48b8" ], "x": 1115, "y": 6600, "wires": [ [ "9c89a41128573752" ] ] }, { "id": "f61f5fe80ddf6ff1", "type": "switch", "z": "ab51b1e8cad7b700", "g": "874075d44d19869a", "name": "protocol", "property": "protocol", "propertyType": "msg", "rules": [ { "t": "nempty" } ], "checkall": "false", "repair": false, "outputs": 1, "x": 480, "y": 6600, "wires": [ [ "a2d25db2ace537ae" ] ] }, { "id": "637b84024e725f38", "type": "link out", "z": "ab51b1e8cad7b700", "g": "874075d44d19869a", "name": "auto - metric - in", "mode": "link", "links": [ "0f053409eacfc57b", "c7ca4f7a643b3a2c", "25b1ac0e4bf27db0", "45b3204fc96f986e", "d381cd4b08e2f495", "c1256035b49c2bb1", "2818a7a29e3d6043", "26c8f66f641451ac", "07cfbb3cf7a1c47a", "b776ddbdb4b51028", "cd0939042b525b67", "366f7377fd513760", "e3cb6f56cade1ab5", "937769a5cdaa76db", "d0fa99cc77ef787c", "13fb777c8e39f531" ], "x": 935, "y": 6600, "wires": [] }, { "id": "282bb73eb4892ab9", "type": "switch", "z": "ab51b1e8cad7b700", "g": "874075d44d19869a", "name": "id", "property": "id", "propertyType": "msg", "rules": [ { "t": "nempty" } ], "checkall": "false", "repair": false, "outputs": 1, "x": 810, "y": 6600, "wires": [ [ "637b84024e725f38" ] ] }, { "id": "a2d25db2ace537ae", "type": "switch", "z": "ab51b1e8cad7b700", "g": "874075d44d19869a", "name": "model", "property": "model", "propertyType": "msg", "rules": [ { "t": "nempty" } ], "checkall": "false", "repair": false, "outputs": 1, "x": 650, "y": 6600, "wires": [ [ "282bb73eb4892ab9" ] ] }, { "id": "a4e3db9cc35fc9eb", "type": "change", "z": "ab51b1e8cad7b700", "g": "874075d44d19869a", "name": "from device", "rules": [ { "t": "set", "p": "protocol", "pt": "msg", "to": "devices[msg.bucket][msg.measurement][msg.field]protocol", "tot": "global" }, { "t": "set", "p": "model", "pt": "msg", "to": "devices[msg.bucket][msg.measurement][msg.field]model", "tot": "global" }, { "t": "set", "p": "id", "pt": "msg", "to": "devices[msg.bucket][msg.measurement][msg.field]id", "tot": "global" }, { "t": "set", "p": "option", "pt": "msg", "to": "devices[msg.bucket][msg.measurement][msg.field]option", "tot": "global" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 290, "y": 6600, "wires": [ [ "f61f5fe80ddf6ff1" ] ] }, { "id": "7d45ca7ad7f363fe", "type": "link in", "z": "ab51b1e8cad7b700", "g": "874075d44d19869a", "name": "auto - metric - in", "links": [ "031a6afd8300356a" ], "x": 135, "y": 6600, "wires": [ [ "a4e3db9cc35fc9eb" ] ] }, { "id": "bb1e8e34559c5a7f", "type": "trigger", "z": "ab51b1e8cad7b700", "g": "266f4436dc45ce89", "name": "1 s by path", "op1": "", "op2": "", "op1type": "nul", "op2type": "payl", "duration": "1", "extend": true, "overrideDelay": false, "units": "s", "reset": "", "bytopic": "topic", "topic": "path", "outputs": 1, "x": 2410, "y": 6300, "wires": [ [ "0b32686fe74c253f" ] ] }, { "id": "0b32686fe74c253f", "type": "switch", "z": "ab51b1e8cad7b700", "g": "266f4436dc45ce89", "name": "limit to 15 min", "property": "metrics[msg.bucket][msg.measurement][msg.field]", "propertyType": "global", "rules": [ { "t": "null" }, { "t": "lt", "v": "$number(msg.payload) - 900000", "vt": "jsonata" } ], "checkall": "false", "repair": false, "outputs": 2, "x": 2780, "y": 6300, "wires": [ [ "06581753b7673f83" ], [ "06581753b7673f83" ] ] }, { "id": "5e3cb9bb3266089b", "type": "change", "z": "ab51b1e8cad7b700", "g": "266f4436dc45ce89", "name": "set measurement", "rules": [ { "t": "set", "p": "measurement", "pt": "msg", "to": "seen", "tot": "str" }, { "t": "set", "p": "path", "pt": "msg", "to": "msg.bucket & '/' & msg.measurement & '/' & msg.field", "tot": "jsonata" }, { "t": "set", "p": "payload", "pt": "msg", "to": "", "tot": "date" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 2190, "y": 6300, "wires": [ [ "bb1e8e34559c5a7f" ] ] }, { "id": "06581753b7673f83", "type": "link out", "z": "ab51b1e8cad7b700", "g": "266f4436dc45ce89", "name": "auto - source - out", "mode": "link", "links": [ "206c1fb4a48067df" ], "x": 2935, "y": 6240, "wires": [] }, { "id": "14a0a0839924964f", "type": "link in", "z": "ab51b1e8cad7b700", "g": "266f4436dc45ce89", "name": "auto - source - out", "links": [ "0a2fa3c2042de32b", "1ed7593011ad6d9d", "8a80d7d04901125e", "6d3f4589b84a4ae0", "61d409cdd6107520", "8f6759a268add92e", "f11a044ad0e20908", "4385665e61ddeef1", "162055ff0b298da7", "1e1a6a213e5bed71", "b2f041d50556adbe", "9c2e6f0785e3d15e", "7eff7f2e1f0574d0", "2ab7993499d31bbd", "8ab95bcfe737b310", "8ad2befe24b148fa", "a14747cc11f09dca", "a5e2d099050bf1a9", "18c9f623b0f8f8ba", "f5c2ab1d8a9d4f05", "465fd39cc57093ae", "4a66fcf836959d2c", "13a43ea0c63dc053", "5d76905ae805599d", "81d1299edeeec856", "a5360e4799f9e170", "2154dfc072f5104e", "facc68a5ef39eb24", "dd58c47d1106a4bf", "bd25515e42e5e7c6" ], "x": 2015, "y": 6240, "wires": [ [ "460af327d1804def", "5e3cb9bb3266089b" ] ] }, { "id": "411b13dfb3e989f0", "type": "change", "z": "ab51b1e8cad7b700", "g": "3be00f677c6457bd", "name": "by _id", "rules": [ { "t": "set", "p": "device", "pt": "msg", "to": "protocols[msg.protocol][msg.id]", "tot": "global" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1270, "y": 6300, "wires": [ [ "28fedc6e108ba847" ] ] }, { "id": "4908c2284e498338", "type": "switch", "z": "ab51b1e8cad7b700", "g": "3be00f677c6457bd", "name": "exists", "property": "device", "propertyType": "msg", "rules": [ { "t": "istype", "v": "object", "vt": "object" }, { "t": "else" } ], "checkall": "false", "repair": false, "outputs": 2, "x": 1110, "y": 6240, "wires": [ [ "28fedc6e108ba847" ], [ "411b13dfb3e989f0" ] ] }, { "id": "5891781e4a61525a", "type": "change", "z": "ab51b1e8cad7b700", "g": "3be00f677c6457bd", "name": "by full id", "rules": [ { "t": "set", "p": "full_id", "pt": "msg", "to": "msg.id&'.'&msg.subid", "tot": "jsonata" }, { "t": "set", "p": "device", "pt": "msg", "to": "protocols[msg.protocol][msg.full_id]", "tot": "global" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 940, "y": 6240, "wires": [ [ "4908c2284e498338" ] ] }, { "id": "aa275d99ba85bee2", "type": "change", "z": "ab51b1e8cad7b700", "g": "3be00f677c6457bd", "name": "extract protocol values", "rules": [ { "t": "set", "p": "protocol", "pt": "msg", "to": "rfxcom", "tot": "str" }, { "t": "set", "p": "id", "pt": "msg", "to": "input[2]", "tot": "msg" }, { "t": "set", "p": "subid", "pt": "msg", "to": "input[3]", "tot": "msg" }, { "t": "set", "p": "prefix", "pt": "msg", "to": "'rfxcom2mqtt/devices/'&msg.id", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 720, "y": 6300, "wires": [ [ "5891781e4a61525a" ] ] }, { "id": "d34f38f155583ff7", "type": "change", "z": "ab51b1e8cad7b700", "g": "3be00f677c6457bd", "name": "device", "rules": [ { "t": "set", "p": "model", "pt": "msg", "to": "device.model", "tot": "msg" }, { "t": "set", "p": "option", "pt": "msg", "to": "device.option", "tot": "msg" }, { "t": "set", "p": "bucket", "pt": "msg", "to": "device.bucket", "tot": "msg" }, { "t": "set", "p": "measurement", "pt": "msg", "to": "device.measurement", "tot": "msg" }, { "t": "set", "p": "field", "pt": "msg", "to": "device.field", "tot": "msg" }, { "t": "set", "p": "repeat", "pt": "msg", "to": "false", "tot": "bool" }, { "t": "delete", "p": "device", "pt": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1590, "y": 6240, "wires": [ [ "24058eec92534b27" ] ] }, { "id": "5460a158225a328b", "type": "change", "z": "ab51b1e8cad7b700", "g": "3be00f677c6457bd", "name": "extract protocol values", "rules": [ { "t": "set", "p": "protocol", "pt": "msg", "to": "zigbee", "tot": "str" }, { "t": "set", "p": "id", "pt": "msg", "to": "input[1]", "tot": "msg" }, { "t": "set", "p": "subid", "pt": "msg", "to": "0", "tot": "str" }, { "t": "set", "p": "prefix", "pt": "msg", "to": "'zigbee/'&msg.id", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 720, "y": 6240, "wires": [ [ "5891781e4a61525a" ] ] }, { "id": "24058eec92534b27", "type": "link out", "z": "ab51b1e8cad7b700", "g": "3be00f677c6457bd", "name": "auto - source - in", "mode": "link", "links": [ "40abdc0a6d9a02e0", "e75839a08fe8026b", "fbf9779ea5af2111", "db5251d07949a8c0", "e357d03ad7d6882e", "0dc72fc23588671b", "ada7d594f73cc361", "3b6e494f3b2508cf", "e93a07a5851a14f2", "42c7380d496e1a14", "3a92525692be8c0a", "7327ac2371d2c61e", "b8a506ad585dedf8", "d6f83986f164d9d1", "b618882d7f713f12", "9bdd13282dd84b6c", "9565abec6d5582d4", "c54c02a1bb45d163", "f0366fead862ee6e", "0c68f6b037bb2c3f", "a12c8ea8c9ebce6e", "63ccb5cc65d41db0", "9c89f8ad918445b3", "2095d2a63909780c", "ddda7783f50a0db4", "b3091e70cd5211b4", "a735610c7cb844e6", "f6a43d93fa9caf56", "e46d811a29ddc59e", "85217d0a7ee82761" ], "x": 1715, "y": 6240, "wires": [] }, { "id": "1ceced58d0c32e85", "type": "change", "z": "ab51b1e8cad7b700", "g": "3be00f677c6457bd", "name": "extract protocol values", "rules": [ { "t": "set", "p": "protocol", "pt": "msg", "to": "zwave", "tot": "str" }, { "t": "set", "p": "id", "pt": "msg", "to": "input[1]", "tot": "msg" }, { "t": "set", "p": "subid", "pt": "msg", "to": "input[3]", "tot": "msg" }, { "t": "set", "p": "prefix", "pt": "msg", "to": "'zwave/'&msg.id", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 720, "y": 6180, "wires": [ [ "5891781e4a61525a" ] ] }, { "id": "ac4653be6ea01477", "type": "switch", "z": "ab51b1e8cad7b700", "g": "3be00f677c6457bd", "name": "select protocol", "property": "input[0]", "propertyType": "msg", "rules": [ { "t": "eq", "v": "zwave", "vt": "str" }, { "t": "eq", "v": "zigbee", "vt": "str" }, { "t": "eq", "v": "rfxcom2mqtt", "vt": "str" }, { "t": "eq", "v": "teleinfo", "vt": "str" } ], "checkall": "false", "repair": false, "outputs": 4, "x": 480, "y": 6240, "wires": [ [ "1ceced58d0c32e85" ], [ "5460a158225a328b" ], [ "aa275d99ba85bee2" ], [ "cf2b3440a4b8c304" ] ] }, { "id": "30220f4fe07e35a4", "type": "change", "z": "ab51b1e8cad7b700", "g": "3be00f677c6457bd", "name": "split topic", "rules": [ { "t": "set", "p": "input", "pt": "msg", "to": "$split(msg.topic,'/')", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 280, "y": 6240, "wires": [ [ "ac4653be6ea01477" ] ] }, { "id": "ba77500cd9f7f6da", "type": "link in", "z": "ab51b1e8cad7b700", "g": "3be00f677c6457bd", "name": "auto - source - in", "links": [ "a3594a90f69fe537", "ebdbee7baef678a6", "ed6bcbd32e72afe1", "b491f7eb02575108" ], "x": 135, "y": 6240, "wires": [ [ "30220f4fe07e35a4" ] ] }, { "id": "b08802b0dbd9a58b", "type": "change", "z": "ab51b1e8cad7b700", "g": "4937527cddd45b61", "name": "add subid to id", "rules": [ { "t": "set", "p": "id", "pt": "msg", "to": "msg.id&'.'&msg.subid", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 2220, "y": 5820, "wires": [ [ "e6d11d0438e20b80" ] ] }, { "id": "8f4503a19f2f639e", "type": "switch", "z": "ab51b1e8cad7b700", "g": "4937527cddd45b61", "name": "subid exists", "property": "subid", "propertyType": "msg", "rules": [ { "t": "istype", "v": "string", "vt": "string" }, { "t": "else" } ], "checkall": "false", "repair": false, "outputs": 2, "x": 2010, "y": 5880, "wires": [ [ "b08802b0dbd9a58b" ], [ "e6d11d0438e20b80" ] ] }, { "id": "561aaceffe076a5d", "type": "change", "z": "ab51b1e8cad7b700", "g": "4937527cddd45b61", "name": "seen / xxx / number", "rules": [ { "t": "set", "p": "measurement", "pt": "msg", "to": "seen", "tot": "str" }, { "t": "set", "p": "format", "pt": "msg", "to": "number", "tot": "str" }, { "t": "set", "p": "default", "pt": "msg", "to": "", "tot": "date" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 2030, "y": 5940, "wires": [ [ "fabb645e0d88c91c" ] ] }, { "id": "0ff47b07b863d0ae", "type": "switch", "z": "ab51b1e8cad7b700", "g": "4937527cddd45b61", "name": "brand exists", "property": "brand", "propertyType": "msg", "rules": [ { "t": "istype", "v": "string", "vt": "string" }, { "t": "else" } ], "checkall": "false", "repair": false, "outputs": 2, "x": 1810, "y": 5940, "wires": [ [ "561aaceffe076a5d", "8f4503a19f2f639e" ], [ "fabb645e0d88c91c" ] ] }, { "id": "e6d11d0438e20b80", "type": "change", "z": "ab51b1e8cad7b700", "g": "4937527cddd45b61", "name": "register by protocols", "rules": [ { "t": "set", "p": "protocols[msg.protocol][msg.id]", "pt": "global", "to": "{\t 'bucket':msg.bucket,\t 'measurement':msg.measurement,\t 'field':msg.field,\t 'brand':msg.brand,\t 'model':msg.model,\t 'option':msg.option\t}", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 2460, "y": 5880, "wires": [ [] ] }, { "id": "3e1b4213132404be", "type": "link in", "z": "ab51b1e8cad7b700", "g": "4937527cddd45b61", "name": "auto - device - out", "links": [ "136467c932bcd5c7", "19134c8dcb4e84fd", "22ef5d09e03d19e0", "2a9e3b488590c435", "2ed136ebd92695c1", "32d00a16ef133893", "34225f529989ce82", "372240222a775d4f", "4f9f216ecca80280", "5ea3980a5d978b17", "5f1b59b7430d9182", "64209e9b32b3069e", "6824a9460e4d8c9f", "6b94df736e3aae95", "6ef165716dcf6229", "70520299b0fb1e7e", "73d4e0dc30041c36", "74b35458f02dda86", "76c617de3fe57a72", "76e4299fa08ddb99", "7c230d4cdca2bfea", "8237bbc2fead9706", "8480858c89a6eed5", "88f385dcb120d9da", "919ec72b0122125e", "97bc7bfd63052866", "ab023aa415991c4f", "b87c542ba9b27bb5", "b9b3c6ff10434440", "c288ba888d38a74d", "c76838030c694a7c", "d0fc50917dc16651", "dbc8bb25a9189ad0", "dfe9a336f7c03735", "e20cf17770949369", "e43044b50e8b545e", "f064e16a50e5d575", "fa5bb014ac36141b" ], "x": 1655, "y": 5940, "wires": [ [ "0ff47b07b863d0ae" ] ] }, { "id": "546f190f3ec0c90d", "type": "link out", "z": "ab51b1e8cad7b700", "g": "bd21a8b1786d3ed2", "name": "auto - device - in", "mode": "link", "links": [ "115d9ecf61c636e1", "1347f6afde2719d6", "14a19cafbce9493f", "1f98f11f070b0415", "20255790fade5c76", "277f13fc211becf2", "2dd3539dc0c9fedf", "388c30abbe7958c4", "439c47602f7560b5", "54eb8ae585b6cd20", "65f6a02b5d2c092d", "6f6d7d45f826f275", "7157ad0d44c06b58", "8a0b4fb72d78f2f6", "8d39935a442a5f68", "9386d8f8dd219a71", "9405d14c97dba7e5", "a54905c20392b984", "c0e646f0c8352181", "c2e44a76c98cd7ae", "c491dadde798f841", "c50944ca0208faa9", "d29d128c44cded92", "d59e71f32dca20fe", "de6506a93e799ba9", "ea77f48c1d222cc2", "ed3c5c95136138e9", "f2af422ed8da0c9f", "fdbf3fd639e2816d", "96341058baa9083b", "4b7ee33aecb98a13", "592fa749c393ef14", "8e57dece73e9abd4", "4b0831a713ce8dc0", "c9eb3c5aa51745b0", "1ee49c6bd842b243", "174d3fd440189377", "ad92cd0a9ebcc5c6", "24f1eadd52e84117" ], "x": 1215, "y": 6000, "wires": [] }, { "id": "7f1a03ba2d4eb5d1", "type": "debug", "z": "ab51b1e8cad7b700", "g": "bd21a8b1786d3ed2", "name": "auto - device - uncomplete", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 1320, "y": 5940, "wires": [] }, { "id": "c3d88e1872a9789b", "type": "function", "z": "ab51b1e8cad7b700", "g": "bd21a8b1786d3ed2", "name": "check device", "func": "// output 1 : error message\n// output 2 : device registration\n\n// script var\nvar msg = msg;\nvar newmsg = {};\n\nif (typeof msg === 'undefined'){\n return [null,null];\n}\n\n// check var existence\nif (typeof msg.bucket === 'undefined' ||\n typeof msg.model === 'undefined' ||\n typeof msg.id === 'undefined'\n) {\n node.status({\n fill: \"red\", shape: \"ring\", text: 'undefined device'});\n return [msg,null];\n}\n\n// recreate msg\nnewmsg = {\n 'bucket': msg.bucket,\n 'measurement': typeof msg.measurement === 'undefined' ? '' : msg.measurement,\n 'field': typeof msg.field === 'undefined' ? '' : msg.field,\n 'model': msg.model,\n 'option': typeof msg.option === 'undefined' ? 0 : msg.option,\n 'id': msg.id,\n 'default': typeof msg.default === 'undefined' ? '' : msg.default,\n 'payload':''\n};\n\nnode.status({ fill: 'green', shape: \"ring\", text: newmsg.model + ' / ' + newmsg.id });\nreturn [null,newmsg];", "outputs": 2, "timeout": "", "noerr": 0, "initialize": "\n", "finalize": "\n", "libs": [], "x": 1070, "y": 6000, "wires": [ [ "7f1a03ba2d4eb5d1" ], [ "546f190f3ec0c90d" ] ] }, { "id": "d85fe6335a6eae7b", "type": "link in", "z": "ab51b1e8cad7b700", "g": "bd21a8b1786d3ed2", "name": "auto - device - in", "links": [ "3fe55eddaf0140ee" ], "x": 135, "y": 6000, "wires": [ [ "25579c2b6bf10a53" ] ] }, { "id": "d02f1b2f2c3a2a30", "type": "comment", "z": "ab51b1e8cad7b700", "g": "d1b208e623179a25", "name": "MQTT nodered base topic is automate name (default is iotredloop)", "info": "", "x": 1220, "y": 6960, "wires": [] }, { "id": "28b6c3fdb407e73b", "type": "comment", "z": "ab51b1e8cad7b700", "g": "3e71b89d61df9fd3", "name": "influxdb must have \"resume\", \"linky\", \"system\", \"home\", \"unifi\" buckets, and one bucket per room", "info": "", "x": 450, "y": 4140, "wires": [] }, { "id": "7f76434616f622dc", "type": "link out", "z": "ab51b1e8cad7b700", "g": "a8dc4fab59fdefb4", "name": "device - system kernel version", "mode": "link", "links": [ "bfa594bf1f876c92" ], "x": 595, "y": 7140, "wires": [] }, { "id": "eed8990163b1ca81", "type": "link in", "z": "ab51b1e8cad7b700", "g": "a8dc4fab59fdefb4", "name": "device - system kernel version", "links": [ "3fe55eddaf0140ee" ], "x": 135, "y": 7140, "wires": [ [ "840c05ce502e7fdd" ] ] }, { "id": "840c05ce502e7fdd", "type": "change", "z": "ab51b1e8cad7b700", "g": "a8dc4fab59fdefb4", "name": "system / kernel / version / text / 0.2.0", "rules": [ { "t": "set", "p": "bucket", "pt": "msg", "to": "system", "tot": "str" }, { "t": "set", "p": "measurement", "pt": "msg", "to": "kernel", "tot": "str" }, { "t": "set", "p": "field", "pt": "msg", "to": "version", "tot": "str" }, { "t": "set", "p": "default", "pt": "msg", "to": "0.2.0", "tot": "str" }, { "t": "set", "p": "format", "pt": "msg", "to": "text", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 370, "y": 7140, "wires": [ [ "7f76434616f622dc" ] ] }, { "id": "f02b4584af0d800c", "type": "link out", "z": "ab51b1e8cad7b700", "g": "f67a857ae75d906f", "name": "source - system kernel version", "mode": "link", "links": [ "206c1fb4a48067df" ], "x": 1155, "y": 7140, "wires": [] }, { "id": "1b98c37b3b7502e4", "type": "change", "z": "ab51b1e8cad7b700", "g": "f67a857ae75d906f", "name": "system / kernel / version", "rules": [ { "t": "set", "p": "bucket", "pt": "msg", "to": "system", "tot": "str" }, { "t": "set", "p": "measurement", "pt": "msg", "to": "kernel", "tot": "str" }, { "t": "set", "p": "field", "pt": "msg", "to": "version", "tot": "str" }, { "t": "set", "p": "payload", "pt": "msg", "to": "about.version", "tot": "global" }, { "t": "delete", "p": "topic", "pt": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 970, "y": 7140, "wires": [ [ "f02b4584af0d800c" ] ] }, { "id": "33f7a250a7341c43", "type": "link in", "z": "ab51b1e8cad7b700", "g": "f67a857ae75d906f", "name": "source - system kernel version", "links": [ "e83e0bde60108cf0" ], "x": 775, "y": 7140, "wires": [ [ "1b98c37b3b7502e4" ] ] }, { "id": "ca442e58e65b32f8", "type": "comment", "z": "ab51b1e8cad7b700", "g": "a762a7a552cb9f03", "name": "every day at 12am", "info": "", "x": 790, "y": 2940, "wires": [] }, { "id": "c367834c9cccbe38", "type": "comment", "z": "ab51b1e8cad7b700", "g": "a762a7a552cb9f03", "name": "60 s after boot and every minute", "info": "", "x": 830, "y": 2760, "wires": [] }, { "id": "412878f8c488a0f4", "type": "comment", "z": "ab51b1e8cad7b700", "g": "a762a7a552cb9f03", "name": "60 s after boot and every hour", "info": "", "x": 820, "y": 2820, "wires": [] }, { "id": "7fa17301839c0fa6", "type": "comment", "z": "ab51b1e8cad7b700", "g": "a762a7a552cb9f03", "name": "60 s after boot and every day at 3am", "info": "", "x": 840, "y": 2880, "wires": [] }, { "id": "764da2d0527c1ef6", "type": "link out", "z": "ab51b1e8cad7b700", "g": "a762a7a552cb9f03", "name": "kernel - cron midday", "mode": "link", "links": [ "34a350a168b2e745", "254eee2678120cf3" ], "x": 555, "y": 2940, "wires": [] }, { "id": "d4146047c079ac62", "type": "inject", "z": "ab51b1e8cad7b700", "g": "a762a7a552cb9f03", "name": "cron - midday", "props": [], "repeat": "", "crontab": "00 12 * * *", "once": false, "onceDelay": "60", "topic": "", "x": 220, "y": 2940, "wires": [ [ "d43d725dc388931c" ] ] }, { "id": "074a67bf0fcf09ad", "type": "link out", "z": "ab51b1e8cad7b700", "g": "a762a7a552cb9f03", "name": "kernel - cron day", "mode": "link", "links": [ "5e387209f4a1be63", "f1d9b13e80b9da4c", "f33d7419f0933e00", "9c9fde57b61d7940", "bf4f0e66f58b0244", "c9f8f3d06381d3b2", "beaa3fccedefbf80", "db24f50111d41243", "ee79bcc119122588", "5e6d3072053bc3d4", "0dc4530042a27b71", "87d5ef2cd29bcc43" ], "x": 555, "y": 2880, "wires": [] }, { "id": "287d719de575c01f", "type": "link out", "z": "ab51b1e8cad7b700", "g": "a762a7a552cb9f03", "name": "kernel - cron hour", "mode": "link", "links": [ "ee6803ada17495f7" ], "x": 555, "y": 2820, "wires": [] }, { "id": "004bb30c27c94fb4", "type": "link out", "z": "ab51b1e8cad7b700", "g": "a762a7a552cb9f03", "name": "kernel - cron minute", "mode": "link", "links": [ "105c061631062fa1", "444b573a678eae86", "9d1ff2ced120c248", "b8039538d3ab41e7", "b3f5b970a9b03119", "50bc182c3569008c", "47316bf97f84b277", "f71143d4a1e865c3", "15d5032c9ec85d29", "3340c7df51c209a2", "62c79bf2c5d8ec18", "c47db9d9abdfe3ba", "7069be6e6ebff25e", "a2bfb1feb168f963", "d0935907549d7d1d", "20f084f32aa8f63a", "0b957131451db9ef", "b85376917915e0b2" ], "x": 555, "y": 2760, "wires": [] }, { "id": "867a71b7dae9c844", "type": "inject", "z": "ab51b1e8cad7b700", "g": "a762a7a552cb9f03", "name": "cron - day", "props": [], "repeat": "", "crontab": "00 03 * * *", "once": true, "onceDelay": "60", "topic": "", "x": 230, "y": 2880, "wires": [ [ "37e59604679e90f9" ] ] }, { "id": "722c773f6314dd40", "type": "inject", "z": "ab51b1e8cad7b700", "g": "a762a7a552cb9f03", "name": "cron - hour", "props": [], "repeat": "3600", "crontab": "", "once": true, "onceDelay": "60", "topic": "", "x": 230, "y": 2820, "wires": [ [ "db59beff27b22a84" ] ] }, { "id": "caa3c5097468f133", "type": "inject", "z": "ab51b1e8cad7b700", "g": "a762a7a552cb9f03", "name": "cron - minute", "props": [], "repeat": "60", "crontab": "", "once": true, "onceDelay": "60", "topic": "", "x": 220, "y": 2760, "wires": [ [ "c24a1a94daaabeb7" ] ] }, { "id": "19a5c46ec6c71456", "type": "switch", "z": "ab51b1e8cad7b700", "g": "c706245ab487b7e2", "name": "check topic", "property": "topic", "propertyType": "msg", "rules": [ { "t": "regex", "v": "automate", "vt": "msg", "case": false } ], "checkall": "false", "repair": false, "outputs": 1, "x": 2390, "y": 6900, "wires": [ [ "630dfeb0e033a476", "0f1e413815ecc824" ] ] }, { "id": "0f1e413815ecc824", "type": "link out", "z": "ab51b1e8cad7b700", "g": "c706245ab487b7e2", "name": "mqtt nodered output", "mode": "link", "links": [ "32f2b2da5065afde", "e942462a899825f8", "ff1a30fbddcaa9fd" ], "x": 2535, "y": 6960, "wires": [] }, { "id": "d40db95f9a154c3a", "type": "link in", "z": "ab51b1e8cad7b700", "g": "c706245ab487b7e2", "name": "mqtt nodered", "links": [ "094771ea30e6c0b6", "a9b3a11e9a293e92", "c5465d5f64db4b45" ], "x": 1875, "y": 6900, "wires": [ [ "ea12553cbabf2ffb" ] ] }, { "id": "630dfeb0e033a476", "type": "mqtt out", "z": "ab51b1e8cad7b700", "g": "c706245ab487b7e2", "name": "MQTT nodered", "topic": "", "qos": "1", "retain": "true", "respTopic": "", "contentType": "", "userProps": "", "correl": "", "expiry": "", "broker": "1a33c4adcafb7a63", "x": 2600, "y": 6900, "wires": [] }, { "id": "56d93c268a656fc4", "type": "switch", "z": "ab51b1e8cad7b700", "g": "d1b208e623179a25", "name": "ignore \"cible\" path", "property": "payload", "propertyType": "msg", "rules": [ { "t": "regex", "v": "/cible/", "vt": "str", "case": false }, { "t": "else" } ], "checkall": "false", "repair": false, "outputs": 2, "x": 1270, "y": 6900, "wires": [ [], [ "2cc2cdcf0b1f710e" ] ] }, { "id": "2cc2cdcf0b1f710e", "type": "change", "z": "ab51b1e8cad7b700", "g": "d1b208e623179a25", "name": "raz MQTT properties", "rules": [ { "t": "delete", "p": "qos", "pt": "msg" }, { "t": "delete", "p": "retain", "pt": "msg" }, { "t": "set", "p": "source", "pt": "msg", "to": "about.automate", "tot": "global" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1520, "y": 6900, "wires": [ [ "e12bb3f8258f4439" ] ] }, { "id": "b961d989c357e6d6", "type": "delay", "z": "ab51b1e8cad7b700", "g": "d1b208e623179a25", "name": "30 msg / s", "pauseType": "rate", "timeout": "5", "timeoutUnits": "seconds", "rate": "30", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": false, "allowrate": false, "outputs": 1, "x": 1050, "y": 6900, "wires": [ [ "56d93c268a656fc4" ] ] }, { "id": "e12bb3f8258f4439", "type": "link out", "z": "ab51b1e8cad7b700", "g": "d1b208e623179a25", "name": "mqtt nodered", "mode": "link", "links": [ "282314c3181caba2", "f4fed668dbff1da4", "206c1fb4a48067df" ], "x": 1695, "y": 6900, "wires": [] }, { "id": "0aca727fc835e615", "type": "Stackhero-InfluxDB-v2-write", "z": "ab51b1e8cad7b700", "g": "3e71b89d61df9fd3", "server": "22dd0707e6d3a364", "name": "influxdb", "x": 2580, "y": 4080, "wires": [ [] ] }, { "id": "432e8063fae7039e", "type": "link in", "z": "ab51b1e8cad7b700", "g": "bc29c56f900c8d36", "name": "kernel - write to file", "links": [], "x": 135, "y": 4320, "wires": [ [ "1ec6a11cfb7fa3fc" ] ] }, { "id": "dfb4b5350a9383c9", "type": "link in", "z": "ab51b1e8cad7b700", "g": "89e3a9e072e3026b", "name": "kernel - read from file", "links": [], "x": 135, "y": 4500, "wires": [ [ "44308739c0f759ad" ] ] }, { "id": "9d4a1f539c9bf58c", "type": "change", "z": "ab51b1e8cad7b700", "g": "bc29c56f900c8d36", "name": "read globals variables", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "{}", "tot": "jsonata" }, { "t": "set", "p": "payload.about", "pt": "msg", "to": "about", "tot": "global" }, { "t": "set", "p": "payload.devices", "pt": "msg", "to": "devices", "tot": "global" }, { "t": "set", "p": "payload.entities", "pt": "msg", "to": "entities", "tot": "global" }, { "t": "set", "p": "payload.metrics", "pt": "msg", "to": "metrics", "tot": "global" }, { "t": "set", "p": "payload.models", "pt": "msg", "to": "models", "tot": "global" }, { "t": "set", "p": "payload.protocols", "pt": "msg", "to": "protocols", "tot": "global" }, { "t": "set", "p": "payload.rooms", "pt": "msg", "to": "rooms", "tot": "global" }, { "t": "set", "p": "payload.scenes", "pt": "msg", "to": "scenes", "tot": "global" }, { "t": "set", "p": "payload.timers", "pt": "msg", "to": "timers", "tot": "global" }, { "t": "set", "p": "payload.triggers", "pt": "msg", "to": "triggers", "tot": "global" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 500, "y": 4320, "wires": [ [ "b1e2b474e4c77892" ] ] }, { "id": "43c695b9490f5104", "type": "delay", "z": "ab51b1e8cad7b700", "g": "89e3a9e072e3026b", "name": "delay 200 ms", "pauseType": "delay", "timeout": "200", "timeoutUnits": "milliseconds", "rate": "1", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": false, "allowrate": false, "outputs": 1, "x": 3990, "y": 4500, "wires": [ [ "7168c4d9dc0fcb70", "be0beee97ed2d572" ] ] }, { "id": "44308739c0f759ad", "type": "change", "z": "ab51b1e8cad7b700", "g": "89e3a9e072e3026b", "name": "filename", "rules": [ { "t": "set", "p": "automate", "pt": "msg", "to": "about.automate", "tot": "global" }, { "t": "set", "p": "filename", "pt": "msg", "to": "'/data/'&msg.automate&'_globals.bk'", "tot": "jsonata" }, { "t": "delete", "p": "automate", "pt": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 280, "y": 4500, "wires": [ [ "d3064571c2fde064" ] ] }, { "id": "be0beee97ed2d572", "type": "debug", "z": "ab51b1e8cad7b700", "g": "89e3a9e072e3026b", "name": "kernel - read file", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 4200, "y": 4440, "wires": [] }, { "id": "2356f963725e84c6", "type": "json", "z": "ab51b1e8cad7b700", "g": "89e3a9e072e3026b", "name": "", "property": "payload", "action": "", "pretty": false, "x": 630, "y": 4500, "wires": [ [ "055855f94de1a116" ] ] }, { "id": "d3064571c2fde064", "type": "file in", "z": "ab51b1e8cad7b700", "g": "89e3a9e072e3026b", "name": "read file", "filename": "filename", "filenameType": "msg", "format": "utf8", "chunk": false, "sendError": false, "encoding": "none", "allProps": false, "x": 460, "y": 4500, "wires": [ [ "2356f963725e84c6" ] ] }, { "id": "ede79ed6b82aa804", "type": "debug", "z": "ab51b1e8cad7b700", "g": "bc29c56f900c8d36", "name": "kernel - write file", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 920, "y": 4260, "wires": [] }, { "id": "b1e2b474e4c77892", "type": "file", "z": "ab51b1e8cad7b700", "g": "bc29c56f900c8d36", "name": "write file", "filename": "filename", "filenameType": "msg", "appendNewline": true, "createDir": false, "overwriteFile": "true", "encoding": "none", "x": 720, "y": 4320, "wires": [ [ "ede79ed6b82aa804", "943864bb6bac6f36" ] ] }, { "id": "faeff76a4321bee2", "type": "switch", "z": "ab51b1e8cad7b700", "g": "3e71b89d61df9fd3", "name": "remove some buckets", "property": "bucket", "propertyType": "msg", "rules": [ { "t": "neq", "v": "agenda", "vt": "str" } ], "checkall": "false", "repair": false, "outputs": 1, "x": 320, "y": 4080, "wires": [ [ "27e3bd6cada7b554" ] ] }, { "id": "4163673982458b27", "type": "link out", "z": "ab51b1e8cad7b700", "g": "3e71b89d61df9fd3", "name": "kernel - wrtie to InfluxDB", "mode": "link", "links": [ "b4dcaf3216134966" ], "x": 2535, "y": 4140, "wires": [] }, { "id": "4280a1f889505f0c", "type": "link in", "z": "ab51b1e8cad7b700", "g": "3e71b89d61df9fd3", "name": "kernel - write to InfluxDB", "links": [ "4264ed01f3943e2f" ], "x": 135, "y": 4080, "wires": [ [ "faeff76a4321bee2" ] ] }, { "id": "27e3bd6cada7b554", "type": "switch", "z": "ab51b1e8cad7b700", "g": "3e71b89d61df9fd3", "name": "remove some measurements", "property": "measurement", "propertyType": "msg", "rules": [ { "t": "neq", "v": "config", "vt": "str" } ], "checkall": "false", "repair": false, "outputs": 1, "x": 600, "y": 4080, "wires": [ [ "13f75c57c57e7423" ] ] }, { "id": "7c75b6b921f30409", "type": "change", "z": "ab51b1e8cad7b700", "g": "3e71b89d61df9fd3", "name": "format boolean to dimmer", "rules": [ { "t": "set", "p": "state", "pt": "msg", "to": "$number($boolean(msg.state))=0?0:99", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1550, "y": 4020, "wires": [ [ "58359ad51f36d68e", "14a5f0183ce7ec8d" ] ] }, { "id": "a98fde87c6b47e6e", "type": "switch", "z": "ab51b1e8cad7b700", "g": "3e71b89d61df9fd3", "name": "select field", "property": "field", "propertyType": "msg", "rules": [ { "t": "eq", "v": "pilot", "vt": "str" }, { "t": "else" } ], "checkall": "false", "repair": false, "outputs": 2, "x": 2010, "y": 4020, "wires": [ [ "5c4a3b8ce0220dd9" ], [] ] }, { "id": "61b310386916497a", "type": "debug", "z": "ab51b1e8cad7b700", "g": "3e71b89d61df9fd3", "name": "kernel - write to influxdb", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 2630, "y": 4020, "wires": [] }, { "id": "b43439c6ab36fbfc", "type": "delay", "z": "ab51b1e8cad7b700", "g": "3e71b89d61df9fd3", "name": "delay 5 ms", "pauseType": "delay", "timeout": "5", "timeoutUnits": "milliseconds", "rate": "1", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": false, "allowrate": false, "outputs": 1, "x": 2390, "y": 4140, "wires": [ [ "61b310386916497a", "0aca727fc835e615", "4163673982458b27" ] ] }, { "id": "e287e4f4d7f3a174", "type": "change", "z": "ab51b1e8cad7b700", "g": "3e71b89d61df9fd3", "name": "payload to state", "rules": [ { "t": "set", "p": "state", "pt": "msg", "to": "payload", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1100, "y": 4080, "wires": [ [ "ec2704a8e18114ea" ] ] }, { "id": "ec2704a8e18114ea", "type": "switch", "z": "ab51b1e8cad7b700", "g": "3e71b89d61df9fd3", "name": "is boolean", "property": "state", "propertyType": "msg", "rules": [ { "t": "istype", "v": "boolean", "vt": "boolean" }, { "t": "else" } ], "checkall": "false", "repair": false, "outputs": 2, "x": 1310, "y": 4080, "wires": [ [ "7c75b6b921f30409" ], [ "58359ad51f36d68e", "14a5f0183ce7ec8d" ] ] }, { "id": "14a5f0183ce7ec8d", "type": "switch", "z": "ab51b1e8cad7b700", "g": "3e71b89d61df9fd3", "name": "select measurements", "property": "measurement", "propertyType": "msg", "rules": [ { "t": "regex", "v": "^(mode|clock|lighting|jarvis|thermostat|heating|shading|cumulus|airflow|linky)$", "vt": "str", "case": false }, { "t": "else" } ], "checkall": "false", "repair": false, "outputs": 2, "x": 1820, "y": 4080, "wires": [ [ "a98fde87c6b47e6e" ], [ "5c4a3b8ce0220dd9" ] ] }, { "id": "5c4a3b8ce0220dd9", "type": "change", "z": "ab51b1e8cad7b700", "g": "3e71b89d61df9fd3", "name": "by room", "rules": [ { "t": "set", "p": "roomfield", "pt": "msg", "to": "msg.bucket&' '&msg.field", "tot": "jsonata" }, { "t": "set", "p": "payload", "pt": "msg", "to": "{\t 'bucket': 'resume',\t 'precision': 's',\t 'data': [\t {\t 'measurement': msg.measurement,\t 'fields': {\t msg.roomfield : msg.state\t }\t }\t ]\t}", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 2200, "y": 4080, "wires": [ [ "b43439c6ab36fbfc" ] ] }, { "id": "58359ad51f36d68e", "type": "change", "z": "ab51b1e8cad7b700", "g": "3e71b89d61df9fd3", "name": "by field", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "{\t 'bucket': msg.bucket,\t 'precision': 's',\t 'data': [\t {\t 'measurement': msg.measurement,\t 'fields': {\t msg.field : msg.state\t }\t }\t ]\t}", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1780, "y": 4140, "wires": [ [ "b43439c6ab36fbfc" ] ] }, { "id": "c5465d5f64db4b45", "type": "link out", "z": "ab51b1e8cad7b700", "g": "6386e9a459469b53", "name": "Kernel - write to MQTT", "mode": "link", "links": [ "d40db95f9a154c3a" ], "x": 655, "y": 3900, "wires": [] }, { "id": "1cbff7f3a7317c5b", "type": "link in", "z": "ab51b1e8cad7b700", "g": "6386e9a459469b53", "name": "kernel - write to MQTT", "links": [ "4264ed01f3943e2f" ], "x": 135, "y": 3900, "wires": [ [ "b425ab40ef97a294" ] ] }, { "id": "4176c5d5bc97709c", "type": "delay", "z": "ab51b1e8cad7b700", "g": "6386e9a459469b53", "name": "delay 5 ms", "pauseType": "delay", "timeout": "5", "timeoutUnits": "milliseconds", "rate": "1", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": false, "allowrate": false, "outputs": 1, "x": 510, "y": 3900, "wires": [ [ "1102208726a88a10", "c5465d5f64db4b45" ] ] }, { "id": "1102208726a88a10", "type": "debug", "z": "ab51b1e8cad7b700", "g": "6386e9a459469b53", "name": "kernel - write to MQTT", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 740, "y": 3840, "wires": [] }, { "id": "b425ab40ef97a294", "type": "change", "z": "ab51b1e8cad7b700", "g": "6386e9a459469b53", "name": "set MQTT topic", "rules": [ { "t": "set", "p": "automate", "pt": "msg", "to": "about.automate", "tot": "global" }, { "t": "set", "p": "topic", "pt": "msg", "to": "msg.automate&\"/\"&msg.bucket&\"/\"&msg.measurement&\"/\"&msg.field", "tot": "jsonata" }, { "t": "delete", "p": "automate", "pt": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 300, "y": 3900, "wires": [ [ "4176c5d5bc97709c" ] ] }, { "id": "592483f2183c6711", "type": "link out", "z": "ab51b1e8cad7b700", "g": "e9bd98a0b6e0d58c", "name": "kernel - write to journal", "mode": "link", "links": [ "b105c14c0fdc8160" ], "x": 535, "y": 3540, "wires": [] }, { "id": "c5dc4f8c357a596f", "type": "link in", "z": "ab51b1e8cad7b700", "g": "e9bd98a0b6e0d58c", "name": "kernel - write to journal", "links": [ "4264ed01f3943e2f" ], "x": 135, "y": 3540, "wires": [ [ "e4e85a27e4775ac9" ] ] }, { "id": "074313bb4e48de6f", "type": "debug", "z": "ab51b1e8cad7b700", "g": "e9bd98a0b6e0d58c", "name": "kernel - write to journal - seen", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 950, "y": 3660, "wires": [] }, { "id": "a441e9df790a0c3c", "type": "debug", "z": "ab51b1e8cad7b700", "g": "e9bd98a0b6e0d58c", "name": "kernel - write to journal - thermostat", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 960, "y": 3600, "wires": [] }, { "id": "285c9ffa2f524440", "type": "debug", "z": "ab51b1e8cad7b700", "g": "e9bd98a0b6e0d58c", "name": "kernel - write to journal - others", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 950, "y": 3720, "wires": [] }, { "id": "234620fe148e1dca", "type": "debug", "z": "ab51b1e8cad7b700", "g": "e9bd98a0b6e0d58c", "name": "kernel - write to journal - power", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 950, "y": 3540, "wires": [] }, { "id": "5a49d1f4b12618a7", "type": "switch", "z": "ab51b1e8cad7b700", "g": "e9bd98a0b6e0d58c", "name": "select measurement", "property": "measurement", "propertyType": "msg", "rules": [ { "t": "regex", "v": "^(power|linky)$", "vt": "str", "case": false }, { "t": "eq", "v": "thermostat", "vt": "str" }, { "t": "eq", "v": "seen", "vt": "str" }, { "t": "else" } ], "checkall": "false", "repair": false, "outputs": 4, "x": 620, "y": 3600, "wires": [ [ "234620fe148e1dca" ], [ "a441e9df790a0c3c" ], [ "074313bb4e48de6f" ], [ "285c9ffa2f524440" ] ] }, { "id": "e4e85a27e4775ac9", "type": "change", "z": "ab51b1e8cad7b700", "g": "e9bd98a0b6e0d58c", "name": "set human readable payload", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "msg.bucket & ' > ' & msg.measurement & ' > ' & msg.field & ' = ' & $string(msg.payload)", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 340, "y": 3540, "wires": [ [ "5a49d1f4b12618a7", "592483f2183c6711" ] ] }, { "id": "12f02c43a82b46f9", "type": "gate", "z": "ab51b1e8cad7b700", "g": "20b116b788ef3f27", "name": "gate metric", "controlTopic": "gate metric", "defaultState": "closed", "openCmd": "open", "closeCmd": "close", "toggleCmd": "toggle", "defaultCmd": "default", "statusCmd": "status", "persist": false, "storeName": "default", "x": 290, "y": 3120, "wires": [ [ "4689a4035be0c82e" ] ] }, { "id": "68ad3074767eb2c3", "type": "msg-speed", "z": "ab51b1e8cad7b700", "g": "20b116b788ef3f27", "name": "read msg speed", "frequency": "sec", "interval": 1, "estimation": false, "ignore": false, "pauseAtStartup": false, "topicDependent": false, "x": 3920, "y": 3300, "wires": [ [ "c785aed10e83430a", "fc88fb69cac1e5a5" ], [] ] }, { "id": "56d131373d4e2f78", "type": "link call", "z": "ab51b1e8cad7b700", "g": "20b116b788ef3f27", "name": "", "links": [ "7662aba4a1cc9dd0" ], "linkType": "static", "timeout": "30", "x": 1740, "y": 3360, "wires": [ [ "472fc7b2574a8069" ] ] }, { "id": "3a4c72588bb27ab4", "type": "link call", "z": "ab51b1e8cad7b700", "g": "20b116b788ef3f27", "name": "", "links": [ "4f02d67d81a83e86" ], "linkType": "static", "timeout": "30", "x": 1490, "y": 3300, "wires": [ [ "472fc7b2574a8069" ] ] }, { "id": "357c6d106dec5efd", "type": "link call", "z": "ab51b1e8cad7b700", "g": "20b116b788ef3f27", "name": "", "links": [ "bc396dcc308c42ee" ], "linkType": "static", "timeout": "30", "x": 1490, "y": 3360, "wires": [ [ "56d131373d4e2f78" ] ] }, { "id": "8bbf418d277b4df7", "type": "link call", "z": "ab51b1e8cad7b700", "g": "20b116b788ef3f27", "name": "", "links": [ "e112327c4a55aa35" ], "linkType": "static", "timeout": "30", "x": 1490, "y": 3420, "wires": [ [ "56d131373d4e2f78" ] ] }, { "id": "e2ef5706b35de7b0", "type": "link call", "z": "ab51b1e8cad7b700", "g": "20b116b788ef3f27", "name": "", "links": [ "a72b20551a3b1f8c" ], "linkType": "static", "timeout": "30", "x": 1490, "y": 3240, "wires": [ [ "472fc7b2574a8069" ] ] }, { "id": "c15d0c66ed5af79f", "type": "link out", "z": "ab51b1e8cad7b700", "g": "20b116b788ef3f27", "name": "kernel - metric - rate", "mode": "link", "links": [ "117fb09fe859797f" ], "x": 5015, "y": 3300, "wires": [] }, { "id": "4264ed01f3943e2f", "type": "link out", "z": "ab51b1e8cad7b700", "g": "20b116b788ef3f27", "name": "kernel - metric - write", "mode": "link", "links": [ "c5dc4f8c357a596f", "1cbff7f3a7317c5b", "4280a1f889505f0c" ], "x": 5015, "y": 3240, "wires": [] }, { "id": "031a6afd8300356a", "type": "link out", "z": "ab51b1e8cad7b700", "g": "20b116b788ef3f27", "name": "kernel - metric - loop", "mode": "link", "links": [ "7d45ca7ad7f363fe", "b6c03b0d5a9952c9", "3ec4a86ec9ec37f6", "9115d56d55c93df5", "d7b772643055b543", "836e500a2c7822c7", "490e37ccfca71dba", "54bfe450e2c0b4c4", "89feb0a79db2f26b", "7e386532c9061f5e", "8a93715d93e96ec9", "be031b830d435b36", "11474b42d0af96e8", "11cf1061a2c539a1", "266e831763ed3b77", "5cb2a229a6fec1aa", "7efac7e387d141ec", "16f4d5aef15c6bdd", "5b890ebe6c97c558", "5e1f61b100dc5e9f", "40fba6c8db067ba4", "e5af9cdb8ad1782f", "9d534295bf79c9ea", "a9620e892125509b", "1c148e0bd7c295b9", "f9c15b253d5cfe9e", "0a53f27ca3a07d20", "2f88f0a1be78ca59", "03f7e26d1b1288fc", "88b4e25b46ebf594", "64efc8a9e8807f11", "8f53b8eccaa53c4d", "494718f442ad9e57", "41c360fc4fbb160a", "2b51f6d2b81ca6e1", "a907c7cf0dc2321a", "1c1e708588c48cb5", "bba3f0353d4702db", "8049d5f40acf0d6d", "d7eda7ed1f610f4e", "4dc06cde57a95b67", "2e1d939d984571fe", "1e101e88455caf6a", "2e69629cbed4769a", "38b14b135a076818", "b6335ea10e33770a", "35f16b1c6d64b20e", "4335202ca878a5da", "d60df3cdcb5355ed", "b127f9b286dd8226", "e01a6d6bba78f910", "53ce8727ed8bebf5", "1ff40807621f73c2", "7d917be95d53a6f9", "146c30524040e1a6", "dbcbd35c164eb721", "f95bc9bfa5be39a7", "2b3309b59a846a67", "04e335778f6bc84c", "ca0c4d5f0ff6058d", "a28264f20b2cf5f2", "371e0dec06aeef70", "7ab6751fb11b15ea", "0b2a82c8c72139f4", "013bf83f6e610dc9", "2b971632d5bc1ff9", "dc8f25b6384a7675", "0f92a16252f1df75", "7a8026935b002ae6", "7237fd47764d31cf", "92e8127b07ec1189", "617d4124d86bfdac", "ca7fc23ad69449e2", "7776980b147e962e", "bbdfc8668282860e", "78cb242c2c455e90", "2dc931335063149f", "bdd43096dd5eab70", "09baf70e95e7762d", "3a5d788b6c9b1490", "2b543f5a91575995", "86a1031c97fd1f24", "32eb12f106b8c786", "1d1dc560168d0284", "ac33a83c23cf9ac4", "6e122c5defee75eb", "8e100ef9757cbc9a", "894e30d7fd56cd87", "6e5d97fd5f511366", "e4ebd518283c6923", "99a002b04c9f0bd2", "959cdd09db6a54e5", "1e32c8773f65be12", "6337b865cf950f75", "5c01138cde301e29", "0bb26accb9a85c1d", "5f0e5572410a109e", "cc26cea3198da783", "ec9c92c76fab9484", "4146df2b9fa3a8cd", "c65cd8c43b58c5b4", "33651e429de14a47" ], "x": 5015, "y": 3180, "wires": [] }, { "id": "206c1fb4a48067df", "type": "link in", "z": "ab51b1e8cad7b700", "g": "20b116b788ef3f27", "name": "kernel - metric", "links": [ "e12bb3f8258f4439", "f02b4584af0d800c", "06581753b7673f83", "116de42631d4b17a", "9a20f95447f8ddfd", "349f3c40d1c1b12e", "bf58597579fa65ac", "4746f7254a82e9bc", "5ba738211e0c4eac", "9a98ec99a05b6bd2", "cf471b8980158bc0", "c2dc31e0130a863a", "ec3963cba00585e6", "a33484931cee65b0", "9a7fb4052f4efa9d", "a97c1309cdf39d94", "d16064888745aca6", "3d7533b312eee22a", "884976027c7e86a2", "cfeaa3a9e12b40eb", "34e6817c2f435667", "7869c56dce3123ed", "1717b4b42c3de1df", "d5cdd8f60040d125", "e01b2ed76f5813e5", "981daf7e528f93a4", "76bd8af6b6128264", "ec965b4258cf0125", "930ec55bdd15ae80", "437fa0c2d577fbc9", "954579d4fb332d8c", "de7075aaec1a9391", "1b1e4074f6d9749c", "a9d7bde021ec65e2", "e267a0404a5c5d6c", "2dfb1d687d5296d6", "697e3a94eb990433", "f7dcd2b0b67ae95c", "2429a24772c36d60", "d93e314f6f15bc41", "a15d4c93182b57f1", "f1e3a6f1f9824e38", "a67b460e38395a75", "a77aed8f8b21898e", "05737da6290cf8d9", "43971c69a84860cb", "0341dba34c381ced", "8fdc0ab2b7fadb49", "a8efaaef95728c79", "352ea3978e6f1b59", "a0900ecba7483912", "75e409ff7d8f6f73", "ad12f9079d717f76", "c13658af805aed99", "645a5c37a7442a3a", "d31b51e2d671597c", "b0c372c9dde0c728", "d8b71de8a6215fed", "8784a0f9a054e833", "8862ebb60d770b07", "02e83902db6f2095", "ec804897907337da", "522b6c161afcb47e", "fdea9ff531a587a8", "72f3d70342e83655", "1d9d8c969ccdf2be", "1ff5fd68e1799ae5", "d2194c4dad790ec4", "5484e74403bbb7d8", "943f5d0e31f50195", "8d40f4d6eaa344ac", "33361db30f7155ac", "43166899a8759ba8", "d32dc8a93d1ac3ad", "a21488eb16a467fa", "0a165e298f232c4a", "d7f64b57a1fb0517", "9635cf6ffe5f5df1", "30b864529ddd7036", "69f377a19c3aaebb", "0afac8df8c0ad593", "2b45b9472d7fb405", "f1ba8fa5ab759a02", "906b6acddcc68024", "3d8af1903f187678", "9824552e3d00a585", "ee2f9913c385850b", "30505f159e3df7fb", "a2ca81a4a0f17f2b", "c9272db1322acd94", "4ae2e4a1cc7531bb", "99ce56d98201828a", "8654a0e249b5eb78", "17e9b81d88b1604a", "3b92bd5a1414748d", "067b3ebf52d05fb3", "41d1bc5162d9f798", "1b0cbe0fc795ac63", "4da6b55dc971d6da", "a1bd5f85906d484b", "d7e7a4c4f46d667f", "2d03cfadf0f001a9", "0834ba091c1e77d9", "b611507f6e070bd4", "12d940e60360ef46", "beaefaf44bed36a8", "d22f836f8349c0bd", "e891a4aee20f41a9" ], "x": 135, "y": 3120, "wires": [ [ "12f02c43a82b46f9" ] ] }, { "id": "d7f0ba2534f27b82", "type": "comment", "z": "ab51b1e8cad7b700", "g": "20b116b788ef3f27", "name": "If more than 12 msg / sec during 5 sec, then lock gate for 2 sec", "info": "", "x": 4090, "y": 3420, "wires": [] }, { "id": "ca80e5fe27609a11", "type": "trigger", "z": "ab51b1e8cad7b700", "g": "20b116b788ef3f27", "name": "wait 5 s then true", "op1": "", "op2": "true", "op1type": "nul", "op2type": "bool", "duration": "5", "extend": false, "overrideDelay": false, "units": "s", "reset": "", "bytopic": "all", "topic": "topic", "outputs": 1, "x": 4630, "y": 3360, "wires": [ [ "0d78bebcc5541e02" ] ] }, { "id": "6466ac9bacd083e2", "type": "change", "z": "ab51b1e8cad7b700", "g": "20b116b788ef3f27", "name": "reset", "rules": [ { "t": "set", "p": "reset", "pt": "msg", "to": "true", "tot": "bool" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 4430, "y": 3420, "wires": [ [ "ca80e5fe27609a11" ] ] }, { "id": "4689a4035be0c82e", "type": "change", "z": "ab51b1e8cad7b700", "g": "20b116b788ef3f27", "name": "set source", "rules": [ { "t": "set", "p": "automate", "pt": "msg", "to": "about.automate", "tot": "global" }, { "t": "set", "p": "source", "pt": "msg", "to": "msg.source=msg.automate?msg.source:\"loop\"", "tot": "jsonata" }, { "t": "delete", "p": "automate", "pt": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 490, "y": 3120, "wires": [ [ "82229e46e51f94f5" ] ] }, { "id": "895db12fd6d94a67", "type": "change", "z": "ab51b1e8cad7b700", "g": "20b116b788ef3f27", "name": "remove source", "rules": [ { "t": "delete", "p": "source", "pt": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 4860, "y": 3180, "wires": [ [ "031a6afd8300356a" ] ] }, { "id": "82229e46e51f94f5", "type": "function", "z": "ab51b1e8cad7b700", "g": "20b116b788ef3f27", "name": "check metric", "func": "// output 1 : error message\n// output 2 : device registration\n\n// script var\nvar msg = msg;\nvar newmsg = {};\n\n// try if msg.topic is a path\nif (typeof msg.topic === 'string' &&\n typeof msg.bucket === 'undefined' &&\n typeof msg.measurement === 'undefined' &&\n typeof msg.field === 'undefined'\n) {\n const device = msg.topic.split('/');\n if (typeof device[1] === 'string' &&\n typeof device[2] === 'string' &&\n typeof device[3] === 'string'\n ) {\n msg.source = device[0];\n msg.bucket = device[1];\n msg.measurement = device[2];\n msg.field = device[3];\n\n }\n}\n\n// check var existence\nif (typeof msg.bucket === 'undefined' ||\n typeof msg.measurement === 'undefined' ||\n typeof msg.field === 'undefined' ||\n typeof msg.payload === 'undefined'\n) {\n node.status({\n fill: \"red\", shape: \"ring\", text: 'uncomplete device'});\n return [msg,null];\n}\n\n// recreate msg\nnewmsg = {\n 'topic': 'metric',\n 'source': typeof msg.source === 'string' ? msg.source : 'unknow',\n 'bucket': msg.bucket,\n 'measurement': msg.measurement,\n 'field': msg.field,\n 'path': msg.bucket + '/' + msg.measurement + '/' + msg.field,\n 'payload': msg.payload,\n 'repeat': typeof msg.repeat === 'boolean' ? msg.repeat : false\n};\n\nnode.status({ fill: 'green', shape: \"ring\", text: newmsg.source + ' : ' + newmsg.path + ' = ' + newmsg.payload });\nreturn [null,newmsg];", "outputs": 2, "timeout": "", "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 690, "y": 3120, "wires": [ [ "7cd303d0aadd1433" ], [ "a974cddec777bd94" ] ] }, { "id": "fc88fb69cac1e5a5", "type": "delay", "z": "ab51b1e8cad7b700", "g": "20b116b788ef3f27", "name": "limit 1 msg / s", "pauseType": "rate", "timeout": "5", "timeoutUnits": "seconds", "rate": "1", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": true, "allowrate": false, "outputs": 1, "x": 4140, "y": 3300, "wires": [ [ "c15d0c66ed5af79f" ] ] }, { "id": "0d78bebcc5541e02", "type": "trigger", "z": "ab51b1e8cad7b700", "g": "20b116b788ef3f27", "name": "set gate payload", "op1": "close", "op2": "open", "op1type": "str", "op2type": "str", "duration": "2", "extend": true, "overrideDelay": false, "units": "s", "reset": "", "bytopic": "all", "topic": "topic", "outputs": 2, "x": 4860, "y": 3360, "wires": [ [ "86ce0c124789fd0d" ], [ "b5c48a301d98335a" ] ] }, { "id": "c785aed10e83430a", "type": "switch", "z": "ab51b1e8cad7b700", "g": "20b116b788ef3f27", "name": "check speed limit of 12 msg/s", "property": "payload", "propertyType": "msg", "rules": [ { "t": "gt", "v": "12", "vt": "num" }, { "t": "else" } ], "checkall": "false", "repair": false, "outputs": 2, "x": 4190, "y": 3360, "wires": [ [ "ca80e5fe27609a11" ], [ "6466ac9bacd083e2" ] ] }, { "id": "9f055c7cccb634c1", "type": "delay", "z": "ab51b1e8cad7b700", "g": "20b116b788ef3f27", "name": "limit 12 msg / s", "pauseType": "rate", "timeout": "250", "timeoutUnits": "milliseconds", "rate": "12", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": false, "allowrate": false, "outputs": 1, "x": 4860, "y": 3240, "wires": [ [ "4264ed01f3943e2f" ] ] }, { "id": "ae5e8ae05adac7fd", "type": "switch", "z": "ab51b1e8cad7b700", "g": "20b116b788ef3f27", "name": "check request repeat", "property": "repeat", "propertyType": "msg", "rules": [ { "t": "true" }, { "t": "else" } ], "checkall": "false", "repair": false, "outputs": 2, "x": 3040, "y": 3360, "wires": [ [ "582f8e6b17a9d9d1" ], [ "61d22e09bde69211" ] ] }, { "id": "0831bd7e7daa4915", "type": "switch", "z": "ab51b1e8cad7b700", "g": "20b116b788ef3f27", "name": "check mode automate", "property": "metrics.systeme.mode.automate", "propertyType": "global", "rules": [ { "t": "neq", "v": "off", "vt": "str" } ], "checkall": "false", "repair": false, "outputs": 1, "x": 3040, "y": 3300, "wires": [ [ "582f8e6b17a9d9d1" ] ] }, { "id": "dd79805b7971cbbb", "type": "switch", "z": "ab51b1e8cad7b700", "g": "20b116b788ef3f27", "name": "select \"cible\" measurment", "property": "measurement", "propertyType": "msg", "rules": [ { "t": "eq", "v": "cible", "vt": "str" }, { "t": "else" } ], "checkall": "false", "repair": false, "outputs": 2, "x": 2770, "y": 3300, "wires": [ [ "0831bd7e7daa4915" ], [ "ae5e8ae05adac7fd" ] ] }, { "id": "582f8e6b17a9d9d1", "type": "change", "z": "ab51b1e8cad7b700", "g": "20b116b788ef3f27", "name": "set metric to global metrics", "rules": [ { "t": "set", "p": "metrics[msg.bucket][msg.measurement][msg.field]", "pt": "global", "to": "payload", "tot": "msg" }, { "t": "delete", "p": "repeat", "pt": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 3480, "y": 3240, "wires": [ [ "86c0417f75592b29", "50597b4a81f39149" ] ] }, { "id": "6473c46ecd9304c7", "type": "switch", "z": "ab51b1e8cad7b700", "g": "20b116b788ef3f27", "name": "check if value is different from global metric", "property": "payload", "propertyType": "msg", "rules": [ { "t": "neq", "v": "metrics[msg.bucket][msg.measurement][msg.field]", "vt": "global" }, { "t": "else" } ], "checkall": "false", "repair": false, "outputs": 2, "x": 2430, "y": 3240, "wires": [ [ "582f8e6b17a9d9d1" ], [ "dd79805b7971cbbb" ] ] }, { "id": "3743db17cb401840", "type": "switch", "z": "ab51b1e8cad7b700", "g": "20b116b788ef3f27", "name": "select source", "property": "source", "propertyType": "msg", "rules": [ { "t": "neq", "v": "loop", "vt": "str" }, { "t": "else" } ], "checkall": "false", "repair": false, "outputs": 2, "x": 2130, "y": 3180, "wires": [ [ "4ab6ae8d75f33216" ], [ "6473c46ecd9304c7" ] ] }, { "id": "1e908b6060a584ea", "type": "switch", "z": "ab51b1e8cad7b700", "g": "20b116b788ef3f27", "name": "select metric format", "property": "devices[msg.bucket][msg.measurement][msg.field]format", "propertyType": "global", "rules": [ { "t": "eq", "v": "text", "vt": "str" }, { "t": "eq", "v": "boolean", "vt": "str" }, { "t": "eq", "v": "dimmer", "vt": "str" }, { "t": "eq", "v": "percent", "vt": "str" }, { "t": "eq", "v": "number", "vt": "str" } ], "checkall": "false", "repair": false, "outputs": 5, "x": 1250, "y": 3240, "wires": [ [ "3743db17cb401840" ], [ "e2ef5706b35de7b0" ], [ "3a4c72588bb27ab4" ], [ "357c6d106dec5efd" ], [ "8bbf418d277b4df7" ] ] }, { "id": "eca0e6f3657f0564", "type": "debug", "z": "ab51b1e8cad7b700", "g": "20b116b788ef3f27", "name": "kernel - metric undefined", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 1270, "y": 3060, "wires": [] }, { "id": "7cd303d0aadd1433", "type": "debug", "z": "ab51b1e8cad7b700", "g": "20b116b788ef3f27", "name": "kernel - metric uncomplete", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 940, "y": 3060, "wires": [] }, { "id": "a974cddec777bd94", "type": "switch", "z": "ab51b1e8cad7b700", "g": "20b116b788ef3f27", "name": "check if global devices has metric", "property": "devices[msg.bucket][msg.measurement][msg.field]", "propertyType": "global", "rules": [ { "t": "null" }, { "t": "else" } ], "checkall": "false", "repair": false, "outputs": 2, "x": 960, "y": 3120, "wires": [ [ "eca0e6f3657f0564", "3f5c348f99494011" ], [ "1e908b6060a584ea" ] ] }, { "id": "bfa594bf1f876c92", "type": "link in", "z": "ab51b1e8cad7b700", "g": "4937527cddd45b61", "name": "auto - device - custom", "links": [ "11010cbbc6f9b2c8", "260725a140f7cb61", "3006243d30270236", "51101010f440af18", "7f76434616f622dc", "80459ca7317cce90", "832cdc9413fa68e9", "83efec5c7865bc6b", "8d6827df412a4059", "f9007d094495cf1e", "82588ba820efc8f2" ], "x": 1655, "y": 6000, "wires": [ [ "d747b2b7044fc49f" ] ] }, { "id": "35c936be0ce55676", "type": "change", "z": "ab51b1e8cad7b700", "g": "4937527cddd45b61", "name": "register device to global metrics", "rules": [ { "t": "set", "p": "metrics[msg.bucket][msg.measurement][msg.field]", "pt": "global", "to": "payload", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 3190, "y": 6000, "wires": [ [ "a5622ff7c0c0c55c", "f1898b7dbc641cd6" ] ] }, { "id": "c1d2a5b213c6568a", "type": "switch", "z": "ab51b1e8cad7b700", "g": "4937527cddd45b61", "name": "check if device exists in global metrics", "property": "metrics[msg.bucket][msg.measurement]", "propertyType": "global", "rules": [ { "t": "hask", "v": "field", "vt": "msg" }, { "t": "else" } ], "checkall": "false", "repair": false, "outputs": 2, "x": 2850, "y": 5940, "wires": [ [ "f1898b7dbc641cd6", "a5622ff7c0c0c55c" ], [ "35c936be0ce55676" ] ] }, { "id": "6d65af0eaae695a3", "type": "debug", "z": "ab51b1e8cad7b700", "g": "4937527cddd45b61", "name": "auto - devices - uncomplete", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 2500, "y": 5940, "wires": [] }, { "id": "d3ac50a83c871cc8", "type": "change", "z": "ab51b1e8cad7b700", "g": "4937527cddd45b61", "name": "register device to global devices", "rules": [ { "t": "set", "p": "devices[msg.bucket][msg.measurement][msg.field]", "pt": "global", "to": "{\t 'default':msg.payload,\t 'format':msg.format,\t 'protocol':msg.protocol,\t 'model':msg.model,\t 'option':msg.option,\t 'id':msg.id\t}", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 2510, "y": 6000, "wires": [ [ "c1d2a5b213c6568a" ] ] }, { "id": "fabb645e0d88c91c", "type": "function", "z": "ab51b1e8cad7b700", "g": "4937527cddd45b61", "name": "check device", "func": "// Check and recreate clean message of device description\n// output 1 : error message\n// output 2 : device registration\n\n// script var\nvar msg = msg;\nvar newmsg = {};\n\n// no message\nif (typeof msg === 'undefined'){\n return [null,null];\n}\n\n// check possible var existence\nif (typeof msg.bucket === 'undefined' ||\n typeof msg.measurement === 'undefined' ||\n typeof msg.field === 'undefined' ||\n typeof msg.format === 'undefined' ||\n typeof msg.default === 'undefined'\n) {\n node.status({\n fill: \"red\", shape: \"ring\", text: 'undefined device'});\n return [msg,null];\n}\n\n// recreate msg\nnewmsg = {\n 'bucket': msg.bucket,\n 'measurement': msg.measurement,\n 'field': msg.field,\n 'format': msg.format,\n 'path': msg.bucket + '/' + msg.measurement + '/' + msg.field,\n 'payload': msg.default,\n\n 'protocol': typeof msg.protocol === 'undefined' ? '' : msg.protocol,\n 'model': typeof msg.model === 'undefined' ? '' : msg.model,\n 'id': typeof msg.id === 'undefined' ? '' : msg.id,\n 'option': typeof msg.option === 'undefined' ? 0 : msg.option\n};\n\nnode.status({ fill: 'green', shape: \"ring\", text: newmsg.path + ' = ' + newmsg.payload });\nreturn [null,newmsg];", "outputs": 2, "timeout": "", "noerr": 0, "initialize": "\n", "finalize": "\n", "libs": [], "x": 2250, "y": 6000, "wires": [ [ "6d65af0eaae695a3" ], [ "d3ac50a83c871cc8" ] ] }, { "id": "d248a5e5ab11c9d7", "type": "catch", "z": "ab51b1e8cad7b700", "g": "648d078d534a93be", "name": "catch error", "scope": null, "uncaught": false, "x": 620, "y": 60, "wires": [ [ "4781986f3e559778" ] ] }, { "id": "d9b8f97fb0897586", "type": "change", "z": "ab51b1e8cad7b700", "g": "818a8590288d6409", "name": "about", "rules": [ { "t": "set", "p": "about", "pt": "global", "to": "{\t 'automate':'iotredloop',\t 'version':'0.2.0',\t 'author':'Jean-Christian Paul Denis',\t 'lang':'fr'\t}", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 270, "y": 60, "wires": [ [ "d49116054bd5cd56" ] ] }, { "id": "d49116054bd5cd56", "type": "link out", "z": "ab51b1e8cad7b700", "g": "818a8590288d6409", "name": "kernel - about", "mode": "return", "links": [], "x": 395, "y": 60, "wires": [] }, { "id": "797eac89000183db", "type": "link in", "z": "ab51b1e8cad7b700", "g": "818a8590288d6409", "name": "kernel - about", "links": [], "x": 135, "y": 60, "wires": [ [ "d9b8f97fb0897586" ] ] }, { "id": "a52f0e788cd4dca3", "type": "link in", "z": "ab51b1e8cad7b700", "g": "e456c4e7cfd87c26", "name": "kernel - catch error", "links": [ "1ee8ceb3125ebd76", "243984ca9c174883", "2475f7b012c187fb", "56268dd3950d582f", "60a8e2bc9a992202", "69fc7c7c14fa81f3", "6fd2028d522ac563", "7313123929b92e4c", "77a5eb0c4cd17bfa", "7a47df709c00596e", "8437dc846be5af12", "9be1a70bcb57bda6", "a6e7e3de32ef63ca", "bc345ebb0941581d", "cff2ab3b56cd2174", "d7b616f51fec6d9a", "e7fabccd7044ccb6", "efdfaa2b7173a43a", "f21a1bff030f3d3d", "fd4ec723ef30dfd8", "7ff240db7b508375", "688678bca50b4911", "4a57670feb22dd22", "73cb90b1dfb06aa9", "29876145b02128ba", "4b285e7f94d3b8eb", "5f003111067c7d2b", "9466a626346eb4a2", "d7c0f15bcf4b068e", "3cc080156ec677bf", "56ddaec6b46fba54", "099bcc479f19f5e8", "9d8d5a2c4331cc1a", "4d3d46033f209d6f", "3859758a7fa85959", "869dcd5abf4c9bb5", "af6e09cdd2199095", "d69c9016584d1fd3", "f91e7a1c2c512a0e", "8257f8177d899a49", "2d7299cd90641836", "2044e5146507c70e", "d02dc31eb870bf0c", "65f60f513ebfb4ec", "8609f264b1a8e338", "cf944b1cae491153", "26e2043544ae73cb", "eb459328b469b104", "36975caef946a15e", "72f430e89ccc05f6", "3de4abb1ea0b5f95", "37dafb6f99f6aacd", "13e464b5b13d59f8", "7aa6c843de4e840f", "e851a4244d496803", "f423e850e9bfd233", "1a96f727643764ef", "740a5f7e8bcc49ea", "d8cdaf87829fd997", "71c3f4aa85ae7f41", "ba1f1be46d8982be", "29fa98ff4156e98a", "6d8a391bb3fb2ce6" ], "x": 135, "y": 4980, "wires": [ [ "2b16dee056f4ac27", "26ee3b5b75b8d83f" ] ] }, { "id": "2b16dee056f4ac27", "type": "debug", "z": "ab51b1e8cad7b700", "g": "e456c4e7cfd87c26", "name": "kernel - catch error", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 310, "y": 4980, "wires": [] }, { "id": "4781986f3e559778", "type": "change", "z": "ab51b1e8cad7b700", "g": "648d078d534a93be", "name": "topic", "rules": [ { "t": "set", "p": "topic", "pt": "msg", "to": "kernel", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 790, "y": 60, "wires": [ [ "243984ca9c174883" ] ] }, { "id": "243984ca9c174883", "type": "link out", "z": "ab51b1e8cad7b700", "g": "648d078d534a93be", "name": "catch error", "mode": "link", "links": [ "a52f0e788cd4dca3" ], "x": 915, "y": 60, "wires": [] }, { "id": "26ee3b5b75b8d83f", "type": "link out", "z": "ab51b1e8cad7b700", "g": "e456c4e7cfd87c26", "name": "kernel - catch error", "mode": "link", "links": [], "x": 235, "y": 5040, "wires": [] }, { "id": "1266c0d95b69ccf5", "type": "change", "z": "ab51b1e8cad7b700", "g": "abae3c836f2269b3", "name": "add model to global", "rules": [ { "t": "set", "p": "models[msg.protocol][msg.brand][msg.model]", "pt": "global", "to": "{\t 'measurement':msg.measurement,\t 'field':msg.field,\t 'format':msg.format,\t 'default':msg.default\t}", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1990, "y": 5640, "wires": [ [ "21fbe912a43d9c26" ] ] }, { "id": "a330cf9fee227d5f", "type": "link in", "z": "ab51b1e8cad7b700", "g": "b96253f786c81415", "name": "auto - model - in", "links": [ "e9fecb57cdb7b4a1", "8fcde35bc940d97d" ], "x": 135, "y": 5640, "wires": [ [ "66f70658751b68f3" ] ] }, { "id": "9cb906bf8066d37e", "type": "link out", "z": "ab51b1e8cad7b700", "g": "b96253f786c81415", "name": "auto - model - in", "mode": "link", "links": [ "2cd6d04618352d88", "4125458fe3950d3d", "7956edf72f807538", "7a5b0b5583ea7343", "4fa1971ba6183d55", "9d33432184b532c8", "2b16e085b48c0440", "fad484a3f123ac37", "370a85c93a8d561d", "b463c81b1b187246", "06e81a86a3217a48", "a6900d3b869e3d1e", "0df2f6e07a121689", "40de83c24a607884", "e31b48fc04ade3f3", "2128f35825dde7a6", "73bb43528b419bc3", "502a76366d0afa9f", "c52016c969292c72", "c839570ef7a78a9f", "b21a4e42ed9c41ea", "18c15e43576295d6", "5ecc13865846db0e", "bec54e9477e4bd61", "f4a990fd68343eba", "cdd076b6b818d38f", "39e9e59dd42094bb", "b4066829ee5f163b", "ff3a40b127910051", "3d1e4fa0f23499e7", "fdab2741acb61ed1", "addd40dc7fbf27c9", "d8ae76a5c0ba5f6a", "11ec7020f389b20d", "da360449dd96785f", "8e1684ab2141ec67", "b2838ba438b43d0b", "c2cee2352b8eb312" ], "x": 435, "y": 5640, "wires": [] }, { "id": "94aa726ce8973d2c", "type": "link in", "z": "ab51b1e8cad7b700", "g": "abae3c836f2269b3", "name": "auto - model - out", "links": [ "4902a3b3378eb68c", "5b6791e0c3031934", "be033ed2f9099d29", "e7c8646d0179e346", "1b2b173864b5b18f", "68937215c80c0f7c", "23cde9c0dc38671b", "b9beacf10a894eba", "96dc3b51e121f1c9", "4eb7f83fca4bcb34", "79409b5134de7f76", "f26c156abc555775", "ac9c9b4e7caf4c7c", "72a29139af6e48a9", "f5d43b55f6998570", "68455293ad284dd5", "1ba6fff915be6924", "7730cebb6d30dd0f", "425bce213a925d73", "4c23495713170d6d", "98015f2feffa655e", "200dd435b42e8ec3", "76e3b03e619c3fbc", "08e5a3df0b2c2c95", "3b8391f25d2d2849", "7dd6e99d1c259084", "b8e2db56d1fe5f75", "4ad7402573722786", "fbe235d0cb60d161", "a8b3e0ae1a87461c", "69564d0c8dc942c7", "ac45d4c7f6f1a547", "4975550378291448", "cfb8b7f11b653349", "07107ca09790b060", "582711f64841c886", "89a3bed0e116f6f1", "8c7dce81c2afdec7" ], "x": 615, "y": 5640, "wires": [ [ "5d553844550b821e" ] ] }, { "id": "66f70658751b68f3", "type": "change", "z": "ab51b1e8cad7b700", "g": "b96253f786c81415", "name": "reset models", "rules": [ { "t": "set", "p": "models", "pt": "global", "to": "{}", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 290, "y": 5640, "wires": [ [ "9cb906bf8066d37e" ] ] }, { "id": "13f4c9a49f9902dc", "type": "debug", "z": "ab51b1e8cad7b700", "g": "abae3c836f2269b3", "name": "auto - model - uncomplete", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 2010, "y": 5580, "wires": [] }, { "id": "5d553844550b821e", "type": "switch", "z": "ab51b1e8cad7b700", "g": "abae3c836f2269b3", "name": "protocol", "property": "protocol", "propertyType": "msg", "rules": [ { "t": "null" }, { "t": "else" } ], "checkall": "false", "repair": false, "outputs": 2, "x": 760, "y": 5640, "wires": [ [ "13f4c9a49f9902dc" ], [ "1a40c588514eddb2" ] ] }, { "id": "1a40c588514eddb2", "type": "switch", "z": "ab51b1e8cad7b700", "g": "abae3c836f2269b3", "name": "brand", "property": "brand", "propertyType": "msg", "rules": [ { "t": "null" }, { "t": "else" } ], "checkall": "false", "repair": false, "outputs": 2, "x": 930, "y": 5640, "wires": [ [ "13f4c9a49f9902dc" ], [ "b8199d733a66766b" ] ] }, { "id": "b8199d733a66766b", "type": "switch", "z": "ab51b1e8cad7b700", "g": "abae3c836f2269b3", "name": "model", "property": "model", "propertyType": "msg", "rules": [ { "t": "null" }, { "t": "else" } ], "checkall": "false", "repair": false, "outputs": 2, "x": 1090, "y": 5640, "wires": [ [ "13f4c9a49f9902dc" ], [ "b9656cfcd1a2011e" ] ] }, { "id": "b9656cfcd1a2011e", "type": "switch", "z": "ab51b1e8cad7b700", "g": "abae3c836f2269b3", "name": "measurement", "property": "measurement", "propertyType": "msg", "rules": [ { "t": "null" }, { "t": "else" } ], "checkall": "false", "repair": false, "outputs": 2, "x": 1280, "y": 5640, "wires": [ [ "13f4c9a49f9902dc" ], [ "3055080b9f38dbe8" ] ] }, { "id": "3055080b9f38dbe8", "type": "switch", "z": "ab51b1e8cad7b700", "g": "abae3c836f2269b3", "name": "field", "property": "field", "propertyType": "msg", "rules": [ { "t": "null" }, { "t": "else" } ], "checkall": "false", "repair": false, "outputs": 2, "x": 1470, "y": 5640, "wires": [ [ "13f4c9a49f9902dc" ], [ "37838aa1f7d06a7b" ] ] }, { "id": "9573e23ffd1bd3ec", "type": "switch", "z": "ab51b1e8cad7b700", "g": "abae3c836f2269b3", "name": "default", "property": "default", "propertyType": "msg", "rules": [ { "t": "null" }, { "t": "else" } ], "checkall": "false", "repair": false, "outputs": 2, "x": 1790, "y": 5640, "wires": [ [ "13f4c9a49f9902dc" ], [ "1266c0d95b69ccf5" ] ] }, { "id": "37838aa1f7d06a7b", "type": "switch", "z": "ab51b1e8cad7b700", "g": "abae3c836f2269b3", "name": "format", "property": "format", "propertyType": "msg", "rules": [ { "t": "regex", "v": "(dimmer|number|boolean|text)", "vt": "str", "case": false }, { "t": "else" } ], "checkall": "false", "repair": false, "outputs": 2, "x": 1630, "y": 5640, "wires": [ [ "9573e23ffd1bd3ec" ], [ "13f4c9a49f9902dc" ] ] }, { "id": "cf2b3440a4b8c304", "type": "change", "z": "ab51b1e8cad7b700", "g": "3be00f677c6457bd", "name": "extract protocol values", "rules": [ { "t": "set", "p": "protocol", "pt": "msg", "to": "teleinfo", "tot": "str" }, { "t": "set", "p": "id", "pt": "msg", "to": "input[1]", "tot": "msg" }, { "t": "set", "p": "subid", "pt": "msg", "to": "0", "tot": "str" }, { "t": "set", "p": "prefix", "pt": "msg", "to": "'teleinfo/'&msg.id", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 720, "y": 6360, "wires": [ [ "5891781e4a61525a" ] ] }, { "id": "9d71ae848c07c4ab", "type": "comment", "z": "ab51b1e8cad7b700", "g": "4937527cddd45b61", "name": "note: P.API does not use protocol id by device URL", "info": "", "x": 2710, "y": 5820, "wires": [] }, { "id": "21fbe912a43d9c26", "type": "link out", "z": "ab51b1e8cad7b700", "g": "abae3c836f2269b3", "name": "auto - model - out", "mode": "link", "links": [ "d55073835b5cbfc3", "bc08df821dc21092" ], "x": 2155, "y": 5640, "wires": [] }, { "id": "13f75c57c57e7423", "type": "switch", "z": "ab51b1e8cad7b700", "g": "3e71b89d61df9fd3", "name": "remove some fields", "property": "field", "propertyType": "msg", "rules": [ { "t": "regex", "v": "(message|photo)", "vt": "str", "case": false }, { "t": "else" } ], "checkall": "false", "repair": false, "outputs": 2, "x": 870, "y": 4080, "wires": [ [], [ "e287e4f4d7f3a174" ] ] }, { "id": "f1898b7dbc641cd6", "type": "link out", "z": "ab51b1e8cad7b700", "g": "4937527cddd45b61", "name": "auto - devices", "mode": "link", "links": [ "949a8ee5f18f108a", "f8e0f90e214e5ff9" ], "x": 3395, "y": 5940, "wires": [] }, { "id": "a9b3a11e9a293e92", "type": "link out", "z": "ab51b1e8cad7b700", "g": "20b116b788ef3f27", "name": "kernel - undefined metric", "mode": "link", "links": [ "24e4813caee6f465", "d40db95f9a154c3a" ], "x": 1825, "y": 3120, "wires": [] }, { "id": "3f5c348f99494011", "type": "switch", "z": "ab51b1e8cad7b700", "g": "20b116b788ef3f27", "name": "prevent mqtt loop", "property": "payload", "propertyType": "msg", "rules": [ { "t": "neq", "v": "", "vt": "str" } ], "checkall": "false", "repair": false, "outputs": 1, "x": 1250, "y": 3120, "wires": [ [ "dec821295a7e7458" ] ] }, { "id": "dec821295a7e7458", "type": "change", "z": "ab51b1e8cad7b700", "g": "20b116b788ef3f27", "name": "delete mqtt metric", "rules": [ { "t": "delete", "p": "metrics[msg.bucket][msg.measurement][msg.field]", "pt": "global" }, { "t": "set", "p": "topic", "pt": "msg", "to": "'iotredloop/'&msg.bucket&'/'&msg.measurement&'/'&msg.field", "tot": "jsonata" }, { "t": "set", "p": "payload", "pt": "msg", "to": "", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1490, "y": 3120, "wires": [ [ "a9b3a11e9a293e92" ] ] }, { "id": "1ec6a11cfb7fa3fc", "type": "change", "z": "ab51b1e8cad7b700", "g": "bc29c56f900c8d36", "name": "filename", "rules": [ { "t": "set", "p": "automate", "pt": "msg", "to": "about.automate", "tot": "global" }, { "t": "set", "p": "filename", "pt": "msg", "to": "'/data/'&msg.automate&'_globals.bk'", "tot": "jsonata" }, { "t": "delete", "p": "automate", "pt": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 280, "y": 4320, "wires": [ [ "9d4a1f539c9bf58c" ] ] }, { "id": "e8b0c3f8741a0a4c", "type": "link out", "z": "ab51b1e8cad7b700", "g": "bc29c56f900c8d36", "name": "kernel - write to file", "mode": "return", "links": [], "x": 1235, "y": 4320, "wires": [] }, { "id": "360839bebc94f209", "type": "link out", "z": "ab51b1e8cad7b700", "g": "89e3a9e072e3026b", "name": "kernel - read from file", "mode": "return", "links": [], "x": 4315, "y": 4500, "wires": [] }, { "id": "7b3cd053cd0845dd", "type": "change", "z": "ab51b1e8cad7b700", "g": "bc29c56f900c8d36", "name": "payload", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "true", "tot": "bool" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1100, "y": 4320, "wires": [ [ "e8b0c3f8741a0a4c" ] ] }, { "id": "7168c4d9dc0fcb70", "type": "change", "z": "ab51b1e8cad7b700", "g": "89e3a9e072e3026b", "name": "payload", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "true", "tot": "bool" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 4180, "y": 4500, "wires": [ [ "360839bebc94f209" ] ] }, { "id": "943864bb6bac6f36", "type": "delay", "z": "ab51b1e8cad7b700", "g": "bc29c56f900c8d36", "name": "delay 200 ms", "pauseType": "delay", "timeout": "200", "timeoutUnits": "milliseconds", "rate": "1", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": false, "allowrate": false, "outputs": 1, "x": 910, "y": 4320, "wires": [ [ "7b3cd053cd0845dd" ] ] }, { "id": "ee6803ada17495f7", "type": "link in", "z": "ab51b1e8cad7b700", "g": "220c62e3365abccb", "name": "kernel - globals backup auto", "links": [ "287d719de575c01f" ], "x": 135, "y": 4860, "wires": [ [ "4b78e717c0cdd9be" ] ] }, { "id": "89536711b1832785", "type": "link call", "z": "ab51b1e8cad7b700", "g": "220c62e3365abccb", "name": "", "links": [ "432e8063fae7039e" ], "linkType": "static", "timeout": "30", "x": 710, "y": 4860, "wires": [ [ "0a06deb10c6bfb73" ] ] }, { "id": "0a06deb10c6bfb73", "type": "debug", "z": "ab51b1e8cad7b700", "g": "220c62e3365abccb", "name": "kernel - globals backup auto", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 960, "y": 4860, "wires": [] }, { "id": "472fc7b2574a8069", "type": "switch", "z": "ab51b1e8cad7b700", "g": "20b116b788ef3f27", "name": "rsp", "property": "response", "propertyType": "msg", "rules": [ { "t": "true" }, { "t": "else" } ], "checkall": "false", "repair": false, "outputs": 2, "x": 1950, "y": 3300, "wires": [ [ "3743db17cb401840" ], [ "00721a78ef7c76ef" ] ] }, { "id": "00721a78ef7c76ef", "type": "debug", "z": "ab51b1e8cad7b700", "g": "20b116b788ef3f27", "name": "kernel - metric payload invalid", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 2190, "y": 3360, "wires": [] }, { "id": "ea12553cbabf2ffb", "type": "gate", "z": "ab51b1e8cad7b700", "g": "c706245ab487b7e2", "name": "gate loop", "controlTopic": "gate loop", "defaultState": "closed", "openCmd": "open", "closeCmd": "close", "toggleCmd": "toggle", "defaultCmd": "default", "statusCmd": "status", "persist": false, "storeName": "default", "x": 2020, "y": 6900, "wires": [ [ "acb5a947386c9b74" ] ] }, { "id": "652fac9e798d902c", "type": "inject", "z": "ab51b1e8cad7b700", "g": "220c62e3365abccb", "name": "manual - toggle backup", "props": [ { "p": "topic", "vt": "str" }, { "p": "payload" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "gate backup", "payload": "toggle", "payloadType": "str", "x": 240, "y": 4800, "wires": [ [ "4b78e717c0cdd9be" ] ] }, { "id": "4b78e717c0cdd9be", "type": "gate", "z": "ab51b1e8cad7b700", "g": "220c62e3365abccb", "name": "gate backup", "controlTopic": "gate backup", "defaultState": "open", "openCmd": "open", "closeCmd": "close", "toggleCmd": "toggle", "defaultCmd": "default", "statusCmd": "status", "persist": false, "storeName": "default", "x": 470, "y": 4860, "wires": [ [ "89536711b1832785" ] ] }, { "id": "49e3a0945c3b8a8b", "type": "inject", "z": "ab51b1e8cad7b700", "g": "220c62e3365abccb", "name": "manual - write backup", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "", "payloadType": "str", "x": 240, "y": 4740, "wires": [ [ "89536711b1832785" ] ] }, { "id": "208df23ea752ffdf", "type": "link in", "z": "ab51b1e8cad7b700", "g": "d1b208e623179a25", "name": "mqtt nodered - gate metric", "links": [ "0834ba091c1e77d9" ], "x": 695, "y": 6960, "wires": [ [ "18e9d5a1fd096ab2" ] ] }, { "id": "c24a1a94daaabeb7", "type": "q-gate", "z": "ab51b1e8cad7b700", "g": "a762a7a552cb9f03", "name": "gate cron", "controlTopic": "gate cron", "defaultState": "closed", "openCmd": "open", "closeCmd": "close", "toggleCmd": "toggle", "queueCmd": "queue", "defaultCmd": "default", "triggerCmd": "trigger", "flushCmd": "flush", "resetCmd": "reset", "peekCmd": "peek", "dropCmd": "drop", "statusCmd": "status", "maxQueueLength": "1", "keepNewest": false, "qToggle": false, "persist": false, "storeName": "onFile", "x": 420, "y": 2760, "wires": [ [ "004bb30c27c94fb4" ] ] }, { "id": "54d6b2cd150e1e9f", "type": "link in", "z": "ab51b1e8cad7b700", "g": "a762a7a552cb9f03", "name": "kernel - cron - gate cron", "links": [ "1f25921d9d3cd9af" ], "x": 275, "y": 2700, "wires": [ [ "c24a1a94daaabeb7", "db59beff27b22a84", "37e59604679e90f9", "d43d725dc388931c" ] ] }, { "id": "db59beff27b22a84", "type": "q-gate", "z": "ab51b1e8cad7b700", "g": "a762a7a552cb9f03", "name": "gate cron", "controlTopic": "gate cron", "defaultState": "closed", "openCmd": "open", "closeCmd": "close", "toggleCmd": "toggle", "queueCmd": "queue", "defaultCmd": "default", "triggerCmd": "trigger", "flushCmd": "flush", "resetCmd": "reset", "peekCmd": "peek", "dropCmd": "drop", "statusCmd": "status", "maxQueueLength": "1", "keepNewest": false, "qToggle": false, "persist": false, "storeName": "onFile", "x": 420, "y": 2820, "wires": [ [ "287d719de575c01f" ] ] }, { "id": "37e59604679e90f9", "type": "q-gate", "z": "ab51b1e8cad7b700", "g": "a762a7a552cb9f03", "name": "gate cron", "controlTopic": "gate cron", "defaultState": "closed", "openCmd": "open", "closeCmd": "close", "toggleCmd": "toggle", "queueCmd": "queue", "defaultCmd": "default", "triggerCmd": "trigger", "flushCmd": "flush", "resetCmd": "reset", "peekCmd": "peek", "dropCmd": "drop", "statusCmd": "status", "maxQueueLength": "1", "keepNewest": false, "qToggle": false, "persist": false, "storeName": "onFile", "x": 420, "y": 2880, "wires": [ [ "074a67bf0fcf09ad" ] ] }, { "id": "d43d725dc388931c", "type": "q-gate", "z": "ab51b1e8cad7b700", "g": "a762a7a552cb9f03", "name": "gate cron", "controlTopic": "gate cron", "defaultState": "closed", "openCmd": "open", "closeCmd": "close", "toggleCmd": "toggle", "queueCmd": "queue", "defaultCmd": "default", "triggerCmd": "trigger", "flushCmd": "flush", "resetCmd": "reset", "peekCmd": "peek", "dropCmd": "drop", "statusCmd": "status", "maxQueueLength": "1", "keepNewest": false, "qToggle": false, "persist": false, "storeName": "onFile", "x": 420, "y": 2940, "wires": [ [ "764da2d0527c1ef6" ] ] }, { "id": "28fedc6e108ba847", "type": "switch", "z": "ab51b1e8cad7b700", "g": "3be00f677c6457bd", "name": "exists", "property": "device", "propertyType": "msg", "rules": [ { "t": "istype", "v": "object", "vt": "object" }, { "t": "else" } ], "checkall": "false", "repair": false, "outputs": 2, "x": 1430, "y": 6240, "wires": [ [ "d34f38f155583ff7" ], [ "fc538fdbc98d0eff" ] ] }, { "id": "fc538fdbc98d0eff", "type": "debug", "z": "ab51b1e8cad7b700", "g": "3be00f677c6457bd", "name": "auto - source - in - unknow device", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 1680, "y": 6300, "wires": [] }, { "id": "a5622ff7c0c0c55c", "type": "debug", "z": "ab51b1e8cad7b700", "g": "4937527cddd45b61", "name": "auto - devices", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 3460, "y": 5880, "wires": [] }, { "id": "bf0025a0413f56d0", "type": "change", "z": "ab51b1e8cad7b700", "g": "89e3a9e072e3026b", "name": "rooms", "rules": [ { "t": "set", "p": "rooms", "pt": "global", "to": "payload.rooms", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 950, "y": 4440, "wires": [ [ "6e108f19774095c4" ] ] }, { "id": "055855f94de1a116", "type": "switch", "z": "ab51b1e8cad7b700", "g": "89e3a9e072e3026b", "name": "rooms", "property": "payload.rooms", "propertyType": "msg", "rules": [ { "t": "nempty" }, { "t": "else" } ], "checkall": "false", "repair": false, "outputs": 2, "x": 790, "y": 4500, "wires": [ [ "bf0025a0413f56d0" ], [ "6e108f19774095c4" ] ] }, { "id": "6e108f19774095c4", "type": "switch", "z": "ab51b1e8cad7b700", "g": "89e3a9e072e3026b", "name": "models", "property": "payload.models", "propertyType": "msg", "rules": [ { "t": "nempty" }, { "t": "else" } ], "checkall": "false", "repair": false, "outputs": 2, "x": 1120, "y": 4500, "wires": [ [ "2ebfa25bf5157bf9" ], [ "f230b923f6d52e3d" ] ] }, { "id": "2ebfa25bf5157bf9", "type": "change", "z": "ab51b1e8cad7b700", "g": "89e3a9e072e3026b", "name": "models", "rules": [ { "t": "set", "p": "models", "pt": "global", "to": "payload.models", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1300, "y": 4440, "wires": [ [ "f230b923f6d52e3d" ] ] }, { "id": "f230b923f6d52e3d", "type": "switch", "z": "ab51b1e8cad7b700", "g": "89e3a9e072e3026b", "name": "protocols", "property": "payload.protocols", "propertyType": "msg", "rules": [ { "t": "nempty" }, { "t": "else" } ], "checkall": "false", "repair": false, "outputs": 2, "x": 1480, "y": 4500, "wires": [ [ "739c9d29fe42eef2" ], [ "108c661c26333b42" ] ] }, { "id": "739c9d29fe42eef2", "type": "change", "z": "ab51b1e8cad7b700", "g": "89e3a9e072e3026b", "name": "protocols", "rules": [ { "t": "set", "p": "protocols", "pt": "global", "to": "payload.protocols", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1660, "y": 4440, "wires": [ [ "108c661c26333b42" ] ] }, { "id": "108c661c26333b42", "type": "switch", "z": "ab51b1e8cad7b700", "g": "89e3a9e072e3026b", "name": "devices", "property": "payload.devices", "propertyType": "msg", "rules": [ { "t": "nempty" }, { "t": "else" } ], "checkall": "false", "repair": false, "outputs": 2, "x": 1840, "y": 4500, "wires": [ [ "c45005063315dda8" ], [ "b83a724b3219d3cb" ] ] }, { "id": "c45005063315dda8", "type": "change", "z": "ab51b1e8cad7b700", "g": "89e3a9e072e3026b", "name": "devices", "rules": [ { "t": "set", "p": "devices", "pt": "global", "to": "payload.devices", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 2020, "y": 4440, "wires": [ [ "b83a724b3219d3cb" ] ] }, { "id": "b83a724b3219d3cb", "type": "switch", "z": "ab51b1e8cad7b700", "g": "89e3a9e072e3026b", "name": "entities", "property": "payload.entities", "propertyType": "msg", "rules": [ { "t": "nempty" }, { "t": "else" } ], "checkall": "false", "repair": false, "outputs": 2, "x": 2200, "y": 4500, "wires": [ [ "43ded5e3990e4740" ], [ "3ff34eda25d3565c" ] ] }, { "id": "43ded5e3990e4740", "type": "change", "z": "ab51b1e8cad7b700", "g": "89e3a9e072e3026b", "name": "entities", "rules": [ { "t": "set", "p": "entities", "pt": "global", "to": "payload.entities", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 2380, "y": 4440, "wires": [ [ "3ff34eda25d3565c" ] ] }, { "id": "3ff34eda25d3565c", "type": "switch", "z": "ab51b1e8cad7b700", "g": "89e3a9e072e3026b", "name": "metrics", "property": "payload.metrics", "propertyType": "msg", "rules": [ { "t": "nempty" }, { "t": "else" } ], "checkall": "false", "repair": false, "outputs": 2, "x": 2560, "y": 4500, "wires": [ [ "c226f7f432d28eaf" ], [ "99374b56d2d55b84" ] ] }, { "id": "c226f7f432d28eaf", "type": "change", "z": "ab51b1e8cad7b700", "g": "89e3a9e072e3026b", "name": "metrics", "rules": [ { "t": "set", "p": "metrics", "pt": "global", "to": "payload.metrics", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 2740, "y": 4440, "wires": [ [ "99374b56d2d55b84" ] ] }, { "id": "99374b56d2d55b84", "type": "switch", "z": "ab51b1e8cad7b700", "g": "89e3a9e072e3026b", "name": "scenes", "property": "payload.scenes", "propertyType": "msg", "rules": [ { "t": "nempty" }, { "t": "else" } ], "checkall": "false", "repair": false, "outputs": 2, "x": 2920, "y": 4500, "wires": [ [ "97219476911c3635" ], [ "1be0f3ea14646012" ] ] }, { "id": "97219476911c3635", "type": "change", "z": "ab51b1e8cad7b700", "g": "89e3a9e072e3026b", "name": "scenes", "rules": [ { "t": "set", "p": "scenes", "pt": "global", "to": "payload.scenes", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 3100, "y": 4440, "wires": [ [ "1be0f3ea14646012" ] ] }, { "id": "1be0f3ea14646012", "type": "switch", "z": "ab51b1e8cad7b700", "g": "89e3a9e072e3026b", "name": "triggers", "property": "payload.triggers", "propertyType": "msg", "rules": [ { "t": "nempty" }, { "t": "else" } ], "checkall": "false", "repair": false, "outputs": 2, "x": 3280, "y": 4500, "wires": [ [ "63a56a707e7af1d1" ], [ "de3f9bee9c60560a" ] ] }, { "id": "63a56a707e7af1d1", "type": "change", "z": "ab51b1e8cad7b700", "g": "89e3a9e072e3026b", "name": "triggers", "rules": [ { "t": "set", "p": "triggers", "pt": "global", "to": "payload.triggers", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 3460, "y": 4440, "wires": [ [ "de3f9bee9c60560a" ] ] }, { "id": "de3f9bee9c60560a", "type": "switch", "z": "ab51b1e8cad7b700", "g": "89e3a9e072e3026b", "name": "timers", "property": "payload.timers", "propertyType": "msg", "rules": [ { "t": "nempty" }, { "t": "else" } ], "checkall": "false", "repair": false, "outputs": 2, "x": 3630, "y": 4500, "wires": [ [ "6517bd2882846359" ], [ "43c695b9490f5104" ] ] }, { "id": "6517bd2882846359", "type": "change", "z": "ab51b1e8cad7b700", "g": "89e3a9e072e3026b", "name": "timers", "rules": [ { "t": "set", "p": "timers", "pt": "global", "to": "payload.timers", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 3810, "y": 4440, "wires": [ [ "43c695b9490f5104" ] ] }, { "id": "69a45eebaa58325f", "type": "debug", "z": "ab51b1e8cad7b700", "g": "d62c9cf0cb81a537", "name": "auto - room", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 1370, "y": 5280, "wires": [] }, { "id": "6eafb2a9c1ec95c0", "type": "link in", "z": "ab51b1e8cad7b700", "g": "d62c9cf0cb81a537", "name": "auto - room", "links": [ "a0f0f63b3934f168", "ca7b372f821ad44a", "e928798f23941942", "5eec592fe4dcd9f3" ], "x": 135, "y": 5400, "wires": [ [ "ad2e79ba72ebd223" ] ] }, { "id": "39740b8338a622fd", "type": "split", "z": "ab51b1e8cad7b700", "g": "d62c9cf0cb81a537", "name": "rooms", "splt": "\\n", "spltType": "str", "arraySplt": 1, "arraySpltType": "len", "stream": false, "addname": "room", "property": "payload", "x": 710, "y": 5340, "wires": [ [ "fc14608145819575" ] ] }, { "id": "4e5188bf59004a54", "type": "change", "z": "ab51b1e8cad7b700", "g": "d62c9cf0cb81a537", "name": "get rooms from global", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "rooms", "tot": "global" }, { "t": "set", "p": "payload.home", "pt": "msg", "to": "true", "tot": "bool" }, { "t": "set", "p": "payload.config", "pt": "msg", "to": "false", "tot": "bool" }, { "t": "set", "p": "payload.system", "pt": "msg", "to": "false", "tot": "bool" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 500, "y": 5340, "wires": [ [ "39740b8338a622fd" ] ] }, { "id": "cc946bae3f4b46d8", "type": "change", "z": "ab51b1e8cad7b700", "g": "d62c9cf0cb81a537", "name": "set room in metrics", "rules": [ { "t": "set", "p": "metrics[msg.room]", "pt": "global", "to": "{}", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1150, "y": 5400, "wires": [ [ "92d4def3b42f658e", "69a45eebaa58325f" ] ] }, { "id": "fc14608145819575", "type": "switch", "z": "ab51b1e8cad7b700", "g": "d62c9cf0cb81a537", "name": "metrics has room", "property": "metrics", "propertyType": "global", "rules": [ { "t": "hask", "v": "room", "vt": "msg" }, { "t": "else" } ], "checkall": "false", "repair": false, "outputs": 2, "x": 910, "y": 5340, "wires": [ [ "92d4def3b42f658e" ], [ "cc946bae3f4b46d8" ] ] }, { "id": "6b5dd5979114ad9c", "type": "comment", "z": "ab51b1e8cad7b700", "g": "d62c9cf0cb81a537", "name": "buckets which are rooms", "info": "", "x": 930, "y": 5280, "wires": [] }, { "id": "a1dbeb8cf51c3366", "type": "inject", "z": "ab51b1e8cad7b700", "g": "d62c9cf0cb81a537", "name": "manual - update rooms", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "", "payloadType": "date", "x": 240, "y": 5280, "wires": [ [ "4e5188bf59004a54" ] ] }, { "id": "92d4def3b42f658e", "type": "link out", "z": "ab51b1e8cad7b700", "g": "d62c9cf0cb81a537", "name": "auto - room", "mode": "link", "links": [ "4a37f8f670a1c789" ], "x": 1315, "y": 5340, "wires": [] }, { "id": "25579c2b6bf10a53", "type": "change", "z": "ab51b1e8cad7b700", "g": "bd21a8b1786d3ed2", "name": "get entities from global", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "entities", "tot": "global" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 500, "y": 6000, "wires": [ [ "03f2f5c00addae38" ] ] }, { "id": "03f2f5c00addae38", "type": "split", "z": "ab51b1e8cad7b700", "g": "bd21a8b1786d3ed2", "name": "md5", "splt": "\\n", "spltType": "str", "arraySplt": 1, "arraySpltType": "len", "stream": false, "addname": "", "x": 710, "y": 6000, "wires": [ [ "1fe7191fde26e8cb" ] ] }, { "id": "1fe7191fde26e8cb", "type": "function", "z": "ab51b1e8cad7b700", "g": "bd21a8b1786d3ed2", "name": "set device", "func": "var msg = msg;\nvar newmsg = {};\n\nnewmsg = msg.payload;\n\nreturn newmsg;", "outputs": 1, "timeout": 0, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 880, "y": 6000, "wires": [ [ "c3d88e1872a9789b" ] ] }, { "id": "8c9e51e853c941fe", "type": "inject", "z": "ab51b1e8cad7b700", "g": "bd21a8b1786d3ed2", "name": "manual - update entities", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "", "payloadType": "date", "x": 240, "y": 5940, "wires": [ [ "25579c2b6bf10a53" ] ] }, { "id": "c0f805841b9314df", "type": "comment", "z": "ab51b1e8cad7b700", "g": "4937527cddd45b61", "name": "register \"manual\" and \"auto\" devices", "info": "", "x": 1780, "y": 5820, "wires": [] }, { "id": "4ab6ae8d75f33216", "type": "gate", "z": "ab51b1e8cad7b700", "g": "20b116b788ef3f27", "name": "gate loop", "controlTopic": "gate loop", "defaultState": "closed", "openCmd": "open", "closeCmd": "close", "toggleCmd": "toggle", "defaultCmd": "default", "statusCmd": "status", "persist": false, "storeName": "onFile", "x": 3720, "y": 3180, "wires": [ [ "895db12fd6d94a67" ] ] }, { "id": "86c0417f75592b29", "type": "gate", "z": "ab51b1e8cad7b700", "g": "20b116b788ef3f27", "name": "gate loop", "controlTopic": "gate loop", "defaultState": "closed", "openCmd": "open", "closeCmd": "close", "toggleCmd": "toggle", "defaultCmd": "default", "statusCmd": "status", "persist": false, "storeName": "onFile", "x": 3720, "y": 3240, "wires": [ [ "9f055c7cccb634c1", "68ad3074767eb2c3" ] ] }, { "id": "d4c051fdcf3414f6", "type": "link in", "z": "ab51b1e8cad7b700", "g": "20b116b788ef3f27", "name": "kernel - metric - gate loop", "links": [ "094771ea30e6c0b6" ], "x": 3575, "y": 3120, "wires": [ [ "4ab6ae8d75f33216", "86c0417f75592b29" ] ] }, { "id": "18e9d5a1fd096ab2", "type": "q-gate", "z": "ab51b1e8cad7b700", "g": "d1b208e623179a25", "name": "gate metric", "controlTopic": "gate metric", "defaultState": "closed", "openCmd": "open", "closeCmd": "close", "toggleCmd": "toggle", "queueCmd": "queue", "defaultCmd": "default", "triggerCmd": "trigger", "flushCmd": "flush", "resetCmd": "reset", "peekCmd": "peek", "dropCmd": "drop", "statusCmd": "status", "maxQueueLength": "0", "keepNewest": false, "qToggle": false, "persist": false, "storeName": "onFile", "x": 850, "y": 6900, "wires": [ [ "b961d989c357e6d6" ] ] }, { "id": "50597b4a81f39149", "type": "link out", "z": "ab51b1e8cad7b700", "g": "20b116b788ef3f27", "name": "kernel - metric - metric set", "mode": "link", "links": [ "6df8e501fdf43d1d" ], "x": 3675, "y": 3300, "wires": [] }, { "id": "86ce0c124789fd0d", "type": "link out", "z": "ab51b1e8cad7b700", "g": "20b116b788ef3f27", "name": "kernel - metric - gate loop - close", "mode": "link", "links": [ "da3a9220d88fc434" ], "x": 5015, "y": 3360, "wires": [] }, { "id": "b5c48a301d98335a", "type": "link out", "z": "ab51b1e8cad7b700", "g": "20b116b788ef3f27", "name": "kernel - metric - gate loop - open", "mode": "link", "links": [ "3736e2a70e80e34c" ], "x": 5015, "y": 3420, "wires": [] }, { "id": "da5c4af310dfc518", "type": "change", "z": "ab51b1e8cad7b700", "g": "014c7a6e2061521c", "name": "reset globals", "rules": [ { "t": "set", "p": "rooms", "pt": "global", "to": "{}", "tot": "jsonata" }, { "t": "set", "p": "models", "pt": "global", "to": "{}", "tot": "jsonata" }, { "t": "set", "p": "protocols", "pt": "global", "to": "{}", "tot": "jsonata" }, { "t": "set", "p": "devices", "pt": "global", "to": "{}", "tot": "jsonata" }, { "t": "set", "p": "metrics", "pt": "global", "to": "{}", "tot": "jsonata" }, { "t": "set", "p": "scenes", "pt": "global", "to": "{}", "tot": "jsonata" }, { "t": "set", "p": "triggers", "pt": "global", "to": "{}", "tot": "jsonata" }, { "t": "set", "p": "entities", "pt": "global", "to": "{}", "tot": "jsonata" }, { "t": "set", "p": "timers", "pt": "global", "to": "{}", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 290, "y": 4620, "wires": [ [ "dd0d5e40cc4e4720" ] ] }, { "id": "2b4359a348c810a9", "type": "link in", "z": "ab51b1e8cad7b700", "g": "014c7a6e2061521c", "name": "kernet - reset globals", "links": [], "x": 135, "y": 4620, "wires": [ [ "da5c4af310dfc518" ] ] }, { "id": "dd0d5e40cc4e4720", "type": "link out", "z": "ab51b1e8cad7b700", "g": "014c7a6e2061521c", "name": "kernet - reset globals", "mode": "return", "links": [], "x": 435, "y": 4620, "wires": [] }, { "id": "e509e8b44c9007e1", "type": "link out", "z": "ab51b1e8cad7b700", "g": "0aad38bc7c7fc52c", "name": "boot - ui - through", "mode": "link", "links": [ "035760b14c0a3455", "06976c9133796ab8", "290e5853a51cb170", "3214c7c1cc0f2f6f", "3263d6b1a159b0ff", "34f9df4fdd3bd8df", "35b93554c4c3380f", "3cc31621bae4b8f4", "595853542a4259b5", "ae364154f775506a", "bf4f0e66f58b0244", "c94f5e94ee5a1918", "ee01b93bd48330c2", "f1d9b13e80b9da4c", "e66b05819afe5f9b", "1c80c2edc1e21840", "f83897b1f3c48879", "f2b60619986117f0", "cdca0d5621621ed9" ], "x": 565, "y": 2040, "wires": [] }, { "id": "e7ad39a80d1fe019", "type": "trigger", "z": "ab51b1e8cad7b700", "g": "0aad38bc7c7fc52c", "name": "2 s", "op1": "", "op2": "", "op1type": "nul", "op2type": "pay", "duration": "2", "extend": true, "overrideDelay": false, "units": "s", "reset": "", "bytopic": "all", "topic": "topic", "outputs": 1, "x": 1070, "y": 2100, "wires": [ [ "67fe8560e3a5ea8b", "2690d0c451f0a6fb" ] ] }, { "id": "d6f403ba291b1b17", "type": "link out", "z": "ab51b1e8cad7b700", "g": "0aad38bc7c7fc52c", "name": "boot - ui", "mode": "return", "links": [], "x": 1355, "y": 2040, "wires": [] }, { "id": "c5fb211c91dfecd9", "type": "link in", "z": "ab51b1e8cad7b700", "g": "0aad38bc7c7fc52c", "name": "boot - ui", "links": [], "x": 135, "y": 2100, "wires": [ [ "f8a803c79526f098" ] ] }, { "id": "f2b60619986117f0", "type": "link in", "z": "ab51b1e8cad7b700", "g": "0aad38bc7c7fc52c", "name": "boot - ui - through", "links": [ "8d98777b03b2341f", "e509e8b44c9007e1" ], "x": 735, "y": 2040, "wires": [ [ "6d2567ef31684111" ] ] }, { "id": "5055e9faa70a605e", "type": "delay", "z": "ab51b1e8cad7b700", "g": "0aad38bc7c7fc52c", "name": "10 ms", "pauseType": "delay", "timeout": "10", "timeoutUnits": "milliseconds", "rate": "1", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": false, "allowrate": false, "outputs": 1, "x": 430, "y": 2040, "wires": [ [ "e509e8b44c9007e1" ] ] }, { "id": "88c3ff2a107f882e", "type": "change", "z": "ab51b1e8cad7b700", "g": "0aad38bc7c7fc52c", "name": "gate", "rules": [ { "t": "set", "p": "topic", "pt": "msg", "to": "gate ui", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 430, "y": 2100, "wires": [ [ "6d2567ef31684111" ] ] }, { "id": "f8a803c79526f098", "type": "change", "z": "ab51b1e8cad7b700", "g": "0aad38bc7c7fc52c", "name": "source", "rules": [ { "t": "set", "p": "#:(onMemory)::boot.ui", "pt": "flow", "to": "{\t '_msgid':msg._msgid,\t '_event':msg._event,\t '_linkSource':msg._linkSource\t}", "tot": "jsonata" }, { "t": "set", "p": "payload", "pt": "msg", "to": "open", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 270, "y": 2100, "wires": [ [ "5055e9faa70a605e", "88c3ff2a107f882e" ] ] }, { "id": "67fe8560e3a5ea8b", "type": "change", "z": "ab51b1e8cad7b700", "g": "0aad38bc7c7fc52c", "name": "source", "rules": [ { "t": "set", "p": "_msgid", "pt": "msg", "to": "#:(onMemory)::boot.ui._msgid", "tot": "flow" }, { "t": "set", "p": "_event", "pt": "msg", "to": "#:(onMemory)::boot.ui._event", "tot": "flow" }, { "t": "set", "p": "_linkSource", "pt": "msg", "to": "#:(onMemory)::boot.ui._linkSource", "tot": "flow" }, { "t": "delete", "p": "#:(onMemory)::boot.ui", "pt": "flow" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1230, "y": 2040, "wires": [ [ "d6f403ba291b1b17" ] ] }, { "id": "655a5cf856c9ceaf", "type": "link in", "z": "ab51b1e8cad7b700", "g": "b275fd7f45bdbb21", "name": "boot - target", "links": [], "x": 135, "y": 1920, "wires": [ [ "f51c48a7b12787c4" ] ] }, { "id": "7867d8054bf06206", "type": "change", "z": "ab51b1e8cad7b700", "g": "b275fd7f45bdbb21", "name": "gate", "rules": [ { "t": "set", "p": "topic", "pt": "msg", "to": "gate target", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 430, "y": 1920, "wires": [ [ "540a4408ff1d85b1" ] ] }, { "id": "ac95c7d7701c1217", "type": "trigger", "z": "ab51b1e8cad7b700", "g": "b275fd7f45bdbb21", "name": "2 s", "op1": "", "op2": "", "op1type": "nul", "op2type": "pay", "duration": "2", "extend": true, "overrideDelay": false, "units": "s", "reset": "", "bytopic": "all", "topic": "topic", "outputs": 1, "x": 1070, "y": 1920, "wires": [ [ "c9799d253d22c02c", "9f1da32513c2e9f7" ] ] }, { "id": "badca31e722b250c", "type": "link out", "z": "ab51b1e8cad7b700", "g": "b275fd7f45bdbb21", "name": "boot - target", "mode": "return", "links": [], "x": 1355, "y": 1860, "wires": [] }, { "id": "e773784d5211c65f", "type": "delay", "z": "ab51b1e8cad7b700", "g": "b275fd7f45bdbb21", "name": "10 ms", "pauseType": "delay", "timeout": "10", "timeoutUnits": "milliseconds", "rate": "1", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": false, "allowrate": false, "outputs": 1, "x": 430, "y": 1860, "wires": [ [ "91208239fbe15797" ] ] }, { "id": "f51c48a7b12787c4", "type": "change", "z": "ab51b1e8cad7b700", "g": "b275fd7f45bdbb21", "name": "source", "rules": [ { "t": "set", "p": "#:(onMemory)::boot.target", "pt": "flow", "to": "{\t '_msgid':msg._msgid,\t '_event':msg._event,\t '_linkSource':msg._linkSource\t}", "tot": "jsonata" }, { "t": "set", "p": "payload", "pt": "msg", "to": "open", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 270, "y": 1920, "wires": [ [ "e773784d5211c65f", "7867d8054bf06206" ] ] }, { "id": "c9799d253d22c02c", "type": "change", "z": "ab51b1e8cad7b700", "g": "b275fd7f45bdbb21", "name": "source", "rules": [ { "t": "set", "p": "_msgid", "pt": "msg", "to": "#:(onMemory)::boot.target._msgid", "tot": "flow" }, { "t": "set", "p": "_event", "pt": "msg", "to": "#:(onMemory)::boot.target._event", "tot": "flow" }, { "t": "set", "p": "_linkSource", "pt": "msg", "to": "#:(onMemory)::boot.target._linkSource", "tot": "flow" }, { "t": "delete", "p": "#:(onMemory)::boot.target", "pt": "flow" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1230, "y": 1860, "wires": [ [ "badca31e722b250c" ] ] }, { "id": "91208239fbe15797", "type": "link out", "z": "ab51b1e8cad7b700", "g": "b275fd7f45bdbb21", "name": "boot - target - through", "mode": "link", "links": [ "fd307e7cbbb08a89", "65ca2d9dc3ae858d" ], "x": 555, "y": 1860, "wires": [] }, { "id": "65ca2d9dc3ae858d", "type": "link in", "z": "ab51b1e8cad7b700", "g": "b275fd7f45bdbb21", "name": "boot - target - through", "links": [ "91208239fbe15797" ], "x": 735, "y": 1860, "wires": [ [ "540a4408ff1d85b1" ] ] }, { "id": "13af35e83310ba58", "type": "link in", "z": "ab51b1e8cad7b700", "g": "3e8ea39ffdb422c0", "name": "boot - source", "links": [], "x": 135, "y": 1740, "wires": [ [ "558c564831d752d6" ] ] }, { "id": "edbc4831f0f54cc7", "type": "change", "z": "ab51b1e8cad7b700", "g": "3e8ea39ffdb422c0", "name": "gate", "rules": [ { "t": "set", "p": "topic", "pt": "msg", "to": "gate source", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 430, "y": 1740, "wires": [ [ "a9e0aedc47d23df0" ] ] }, { "id": "c7219bbb3399eb52", "type": "trigger", "z": "ab51b1e8cad7b700", "g": "3e8ea39ffdb422c0", "name": "2 s", "op1": "", "op2": "", "op1type": "nul", "op2type": "pay", "duration": "2", "extend": true, "overrideDelay": false, "units": "s", "reset": "", "bytopic": "all", "topic": "topic", "outputs": 1, "x": 1070, "y": 1740, "wires": [ [ "735be69fe65e996e", "3d7b06c6e468092c" ] ] }, { "id": "a849455254731ba3", "type": "link out", "z": "ab51b1e8cad7b700", "g": "3e8ea39ffdb422c0", "name": "boot - source", "mode": "return", "links": [], "x": 1355, "y": 1680, "wires": [] }, { "id": "7985145f1ef06222", "type": "delay", "z": "ab51b1e8cad7b700", "g": "3e8ea39ffdb422c0", "name": "10 ms", "pauseType": "delay", "timeout": "10", "timeoutUnits": "milliseconds", "rate": "1", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": false, "allowrate": false, "outputs": 1, "x": 430, "y": 1680, "wires": [ [ "e83e0bde60108cf0" ] ] }, { "id": "558c564831d752d6", "type": "change", "z": "ab51b1e8cad7b700", "g": "3e8ea39ffdb422c0", "name": "source", "rules": [ { "t": "set", "p": "#:(onMemory)::boot.source", "pt": "flow", "to": "{\t '_msgid':msg._msgid,\t '_event':msg._event,\t '_linkSource':msg._linkSource\t}", "tot": "jsonata" }, { "t": "set", "p": "payload", "pt": "msg", "to": "open", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 270, "y": 1740, "wires": [ [ "7985145f1ef06222", "edbc4831f0f54cc7" ] ] }, { "id": "735be69fe65e996e", "type": "change", "z": "ab51b1e8cad7b700", "g": "3e8ea39ffdb422c0", "name": "source", "rules": [ { "t": "set", "p": "_msgid", "pt": "msg", "to": "#:(onMemory)::boot.source._msgid", "tot": "flow" }, { "t": "set", "p": "_event", "pt": "msg", "to": "#:(onMemory)::boot.source._event", "tot": "flow" }, { "t": "set", "p": "_linkSource", "pt": "msg", "to": "#:(onMemory)::boot.source._linkSource", "tot": "flow" }, { "t": "delete", "p": "#:(onMemory)::boot.source", "pt": "flow" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1230, "y": 1680, "wires": [ [ "a849455254731ba3" ] ] }, { "id": "e83e0bde60108cf0", "type": "link out", "z": "ab51b1e8cad7b700", "g": "3e8ea39ffdb422c0", "name": "boot - source - through", "mode": "link", "links": [ "b70a3e673499fb87", "33f7a250a7341c43", "441347a44abdcdd1" ], "x": 575, "y": 1680, "wires": [] }, { "id": "441347a44abdcdd1", "type": "link in", "z": "ab51b1e8cad7b700", "g": "3e8ea39ffdb422c0", "name": "boot - source - through", "links": [ "e83e0bde60108cf0" ], "x": 735, "y": 1680, "wires": [ [ "a9e0aedc47d23df0" ] ] }, { "id": "9caf1f4f5fa6e06f", "type": "link in", "z": "ab51b1e8cad7b700", "g": "8c9efe133dabdae7", "name": "boot - metric", "links": [], "x": 135, "y": 1560, "wires": [ [ "d8fe299ad01229d9" ] ] }, { "id": "328ff4712348d1ce", "type": "change", "z": "ab51b1e8cad7b700", "g": "8c9efe133dabdae7", "name": "gate", "rules": [ { "t": "set", "p": "topic", "pt": "msg", "to": "gate metric", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 430, "y": 1560, "wires": [ [ "337b32e93ceab701" ] ] }, { "id": "a85250fbceb2ddc3", "type": "trigger", "z": "ab51b1e8cad7b700", "g": "8c9efe133dabdae7", "name": "2 s", "op1": "", "op2": "", "op1type": "nul", "op2type": "pay", "duration": "2", "extend": true, "overrideDelay": false, "units": "s", "reset": "", "bytopic": "all", "topic": "topic", "outputs": 1, "x": 1070, "y": 1560, "wires": [ [ "7074b27a2ba9fa43", "5bdc08d812013590" ] ] }, { "id": "06b6001416bcae48", "type": "link out", "z": "ab51b1e8cad7b700", "g": "8c9efe133dabdae7", "name": "boot - metric", "mode": "return", "links": [], "x": 1355, "y": 1500, "wires": [] }, { "id": "306af7dd14895858", "type": "delay", "z": "ab51b1e8cad7b700", "g": "8c9efe133dabdae7", "name": "10 ms", "pauseType": "delay", "timeout": "10", "timeoutUnits": "milliseconds", "rate": "1", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": false, "allowrate": false, "outputs": 1, "x": 430, "y": 1500, "wires": [ [ "9063c8e998532e1c" ] ] }, { "id": "d8fe299ad01229d9", "type": "change", "z": "ab51b1e8cad7b700", "g": "8c9efe133dabdae7", "name": "source", "rules": [ { "t": "set", "p": "#:(onMemory)::boot.metric", "pt": "flow", "to": "{\t '_msgid':msg._msgid,\t '_event':msg._event,\t '_linkSource':msg._linkSource\t}", "tot": "jsonata" }, { "t": "set", "p": "payload", "pt": "msg", "to": "open", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 270, "y": 1560, "wires": [ [ "306af7dd14895858", "328ff4712348d1ce" ] ] }, { "id": "7074b27a2ba9fa43", "type": "change", "z": "ab51b1e8cad7b700", "g": "8c9efe133dabdae7", "name": "source", "rules": [ { "t": "set", "p": "_msgid", "pt": "msg", "to": "#:(onMemory)::boot.metric._msgid", "tot": "flow" }, { "t": "set", "p": "_event", "pt": "msg", "to": "#:(onMemory)::boot.metric._event", "tot": "flow" }, { "t": "set", "p": "_linkSource", "pt": "msg", "to": "#:(onMemory)::boot.metric._linkSource", "tot": "flow" }, { "t": "delete", "p": "#:(onMemory)::boot.metric", "pt": "flow" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1230, "y": 1500, "wires": [ [ "06b6001416bcae48" ] ] }, { "id": "9063c8e998532e1c", "type": "link out", "z": "ab51b1e8cad7b700", "g": "8c9efe133dabdae7", "name": "boot - metric - through", "mode": "link", "links": [ "92ceeb434c3fc82a", "6df8e501fdf43d1d" ], "x": 555, "y": 1500, "wires": [] }, { "id": "6df8e501fdf43d1d", "type": "link in", "z": "ab51b1e8cad7b700", "g": "8c9efe133dabdae7", "name": "boot - metric - through", "links": [ "50597b4a81f39149", "9063c8e998532e1c" ], "x": 735, "y": 1500, "wires": [ [ "337b32e93ceab701" ] ] }, { "id": "3fe55eddaf0140ee", "type": "link out", "z": "ab51b1e8cad7b700", "g": "7e85ca5b11887906", "name": "boot - device - through", "mode": "link", "links": [ "060ca3dab7e4b080", "177aee50c214945c", "346449e7aa3acf06", "62d9811cb83cb6dd", "a471c698f7538a54", "d85fe6335a6eae7b", "e281bad48bd293b1", "e959a705e61b2af2", "eed8990163b1ca81", "f8e0f90e214e5ff9", "955793b64f911f29" ], "x": 555, "y": 1320, "wires": [] }, { "id": "96ad022ea9d454d9", "type": "trigger", "z": "ab51b1e8cad7b700", "g": "7e85ca5b11887906", "name": "2 s", "op1": "", "op2": "", "op1type": "nul", "op2type": "pay", "duration": "2", "extend": true, "overrideDelay": false, "units": "s", "reset": "", "bytopic": "all", "topic": "topic", "outputs": 1, "x": 1070, "y": 1380, "wires": [ [ "053978e43d953de7", "e57e9117be76de70" ] ] }, { "id": "d065878b964a95b9", "type": "link in", "z": "ab51b1e8cad7b700", "g": "7e85ca5b11887906", "name": "boot - device", "links": [], "x": 135, "y": 1380, "wires": [ [ "0446e708929e4ba7" ] ] }, { "id": "f8e0f90e214e5ff9", "type": "link in", "z": "ab51b1e8cad7b700", "g": "7e85ca5b11887906", "name": "boot - device - through", "links": [ "f1898b7dbc641cd6", "3fe55eddaf0140ee" ], "x": 735, "y": 1320, "wires": [ [ "3c377256ce6452b1" ] ] }, { "id": "fbfdc7db2904aa04", "type": "link out", "z": "ab51b1e8cad7b700", "g": "7e85ca5b11887906", "name": "boot - device", "mode": "return", "links": [], "x": 1355, "y": 1320, "wires": [] }, { "id": "9b1b78a9a20ce588", "type": "delay", "z": "ab51b1e8cad7b700", "g": "7e85ca5b11887906", "name": "10 ms", "pauseType": "delay", "timeout": "10", "timeoutUnits": "milliseconds", "rate": "1", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": false, "allowrate": false, "outputs": 1, "x": 430, "y": 1320, "wires": [ [ "3fe55eddaf0140ee" ] ] }, { "id": "76c80637c0ae864d", "type": "change", "z": "ab51b1e8cad7b700", "g": "7e85ca5b11887906", "name": "gate", "rules": [ { "t": "set", "p": "topic", "pt": "msg", "to": "gate device", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 430, "y": 1380, "wires": [ [ "3c377256ce6452b1" ] ] }, { "id": "0446e708929e4ba7", "type": "change", "z": "ab51b1e8cad7b700", "g": "7e85ca5b11887906", "name": "source", "rules": [ { "t": "set", "p": "#:(onMemory)::boot.device", "pt": "flow", "to": "{\t '_msgid':msg._msgid,\t '_event':msg._event,\t '_linkSource':msg._linkSource\t}", "tot": "jsonata" }, { "t": "set", "p": "payload", "pt": "msg", "to": "open", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 270, "y": 1380, "wires": [ [ "9b1b78a9a20ce588", "76c80637c0ae864d" ] ] }, { "id": "053978e43d953de7", "type": "change", "z": "ab51b1e8cad7b700", "g": "7e85ca5b11887906", "name": "source", "rules": [ { "t": "set", "p": "_msgid", "pt": "msg", "to": "#:(onMemory)::boot.device._msgid", "tot": "flow" }, { "t": "set", "p": "_event", "pt": "msg", "to": "#:(onMemory)::boot.device._event", "tot": "flow" }, { "t": "set", "p": "_linkSource", "pt": "msg", "to": "#:(onMemory)::boot.device._linkSource", "tot": "flow" }, { "t": "delete", "p": "#:(onMemory)::boot.device", "pt": "flow" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1230, "y": 1320, "wires": [ [ "fbfdc7db2904aa04" ] ] }, { "id": "8fcde35bc940d97d", "type": "link out", "z": "ab51b1e8cad7b700", "g": "89ff0d2f726ec1fc", "name": "boot - model - through", "mode": "link", "links": [ "a330cf9fee227d5f", "bc08df821dc21092" ], "x": 555, "y": 1140, "wires": [] }, { "id": "395376d7e73da017", "type": "link in", "z": "ab51b1e8cad7b700", "g": "89ff0d2f726ec1fc", "name": "boot - model", "links": [], "x": 135, "y": 1200, "wires": [ [ "fb76a5fab82dfe07" ] ] }, { "id": "bc08df821dc21092", "type": "link in", "z": "ab51b1e8cad7b700", "g": "89ff0d2f726ec1fc", "name": "boot - model - through", "links": [ "21fbe912a43d9c26", "8fcde35bc940d97d" ], "x": 735, "y": 1140, "wires": [ [ "9d227dc0fe3db54e" ] ] }, { "id": "4083e0b5aa07b391", "type": "trigger", "z": "ab51b1e8cad7b700", "g": "89ff0d2f726ec1fc", "name": "2 s", "op1": "", "op2": "", "op1type": "nul", "op2type": "pay", "duration": "2", "extend": true, "overrideDelay": false, "units": "s", "reset": "", "bytopic": "all", "topic": "topic", "outputs": 1, "x": 1070, "y": 1200, "wires": [ [ "4a9ebf6c413b8cce", "19884a3c55ef01e0" ] ] }, { "id": "b07b1a52baf0899b", "type": "link out", "z": "ab51b1e8cad7b700", "g": "89ff0d2f726ec1fc", "name": "boot - model", "mode": "return", "links": [], "x": 1355, "y": 1140, "wires": [] }, { "id": "9cba9db4d6ba4792", "type": "delay", "z": "ab51b1e8cad7b700", "g": "89ff0d2f726ec1fc", "name": "10 ms", "pauseType": "delay", "timeout": "10", "timeoutUnits": "milliseconds", "rate": "1", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": false, "allowrate": false, "outputs": 1, "x": 430, "y": 1140, "wires": [ [ "8fcde35bc940d97d" ] ] }, { "id": "31e397def3c2efa3", "type": "change", "z": "ab51b1e8cad7b700", "g": "89ff0d2f726ec1fc", "name": "gate", "rules": [ { "t": "set", "p": "topic", "pt": "msg", "to": "gate model", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 430, "y": 1200, "wires": [ [ "9d227dc0fe3db54e" ] ] }, { "id": "fb76a5fab82dfe07", "type": "change", "z": "ab51b1e8cad7b700", "g": "89ff0d2f726ec1fc", "name": "source", "rules": [ { "t": "set", "p": "#:(onMemory)::boot.model", "pt": "flow", "to": "{\t '_msgid':msg._msgid,\t '_event':msg._event,\t '_linkSource':msg._linkSource\t}", "tot": "jsonata" }, { "t": "set", "p": "payload", "pt": "msg", "to": "open", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 270, "y": 1200, "wires": [ [ "9cba9db4d6ba4792", "31e397def3c2efa3" ] ] }, { "id": "4a9ebf6c413b8cce", "type": "change", "z": "ab51b1e8cad7b700", "g": "89ff0d2f726ec1fc", "name": "source", "rules": [ { "t": "set", "p": "_msgid", "pt": "msg", "to": "#:(onMemory)::boot.model._msgid", "tot": "flow" }, { "t": "set", "p": "_event", "pt": "msg", "to": "#:(onMemory)::boot.model._event", "tot": "flow" }, { "t": "set", "p": "_linkSource", "pt": "msg", "to": "#:(onMemory)::boot.model._linkSource", "tot": "flow" }, { "t": "delete", "p": "#:(onMemory)::boot.model", "pt": "flow" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1230, "y": 1140, "wires": [ [ "b07b1a52baf0899b" ] ] }, { "id": "a0f0f63b3934f168", "type": "link out", "z": "ab51b1e8cad7b700", "g": "e5bf46d1b71f880e", "name": "boot - room - through", "mode": "link", "links": [ "3520d6c943a27bd7", "6eafb2a9c1ec95c0", "804c8129107645c1", "49270b06a63f91cf", "4a37f8f670a1c789", "529a05416b2791b3" ], "x": 555, "y": 960, "wires": [] }, { "id": "4a37f8f670a1c789", "type": "link in", "z": "ab51b1e8cad7b700", "g": "e5bf46d1b71f880e", "name": "boot - room - through", "links": [ "92d4def3b42f658e", "a0f0f63b3934f168" ], "x": 735, "y": 960, "wires": [ [ "2bf2a3570ad9a4a9" ] ] }, { "id": "2696413f79392626", "type": "link in", "z": "ab51b1e8cad7b700", "g": "e5bf46d1b71f880e", "name": "boot - room", "links": [], "x": 135, "y": 1020, "wires": [ [ "067bd84f68076a3e" ] ] }, { "id": "ab95e932d610db1d", "type": "link out", "z": "ab51b1e8cad7b700", "g": "e5bf46d1b71f880e", "name": "boot - room", "mode": "return", "links": [], "x": 1355, "y": 960, "wires": [] }, { "id": "9fefafa2d9c783e4", "type": "change", "z": "ab51b1e8cad7b700", "g": "e5bf46d1b71f880e", "name": "gate", "rules": [ { "t": "set", "p": "topic", "pt": "msg", "to": "gate room", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 430, "y": 1020, "wires": [ [ "2bf2a3570ad9a4a9" ] ] }, { "id": "e03bf8b0eb75bb57", "type": "trigger", "z": "ab51b1e8cad7b700", "g": "e5bf46d1b71f880e", "name": "2 s", "op1": "", "op2": "", "op1type": "nul", "op2type": "pay", "duration": "2", "extend": true, "overrideDelay": false, "units": "s", "reset": "", "bytopic": "all", "topic": "topic", "outputs": 1, "x": 1070, "y": 1020, "wires": [ [ "17ea7f224128b5c0", "20d67c2a6d0b8edb" ] ] }, { "id": "8b26a936cafd0c35", "type": "delay", "z": "ab51b1e8cad7b700", "g": "e5bf46d1b71f880e", "name": "10 ms", "pauseType": "delay", "timeout": "10", "timeoutUnits": "milliseconds", "rate": "1", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": false, "allowrate": false, "outputs": 1, "x": 430, "y": 960, "wires": [ [ "a0f0f63b3934f168" ] ] }, { "id": "067bd84f68076a3e", "type": "change", "z": "ab51b1e8cad7b700", "g": "e5bf46d1b71f880e", "name": "source", "rules": [ { "t": "set", "p": "#:(onMemory)::boot.room", "pt": "flow", "to": "{\t '_msgid':msg._msgid,\t '_event':msg._event,\t '_linkSource':msg._linkSource\t}", "tot": "jsonata" }, { "t": "set", "p": "payload", "pt": "msg", "to": "open", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 270, "y": 1020, "wires": [ [ "8b26a936cafd0c35", "9fefafa2d9c783e4" ] ] }, { "id": "17ea7f224128b5c0", "type": "change", "z": "ab51b1e8cad7b700", "g": "e5bf46d1b71f880e", "name": "source", "rules": [ { "t": "set", "p": "_msgid", "pt": "msg", "to": "#:(onMemory)::boot.room._msgid", "tot": "flow" }, { "t": "set", "p": "_event", "pt": "msg", "to": "#:(onMemory)::boot.room._event", "tot": "flow" }, { "t": "set", "p": "_linkSource", "pt": "msg", "to": "#:(onMemory)::boot.room._linkSource", "tot": "flow" }, { "t": "delete", "p": "#:(onMemory)::boot.room", "pt": "flow" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1230, "y": 960, "wires": [ [ "ab95e932d610db1d" ] ] }, { "id": "20d67c2a6d0b8edb", "type": "change", "z": "ab51b1e8cad7b700", "g": "e5bf46d1b71f880e", "name": "close", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "close", "tot": "str" }, { "t": "set", "p": "step", "pt": "msg", "to": "boot - room - end", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1230, "y": 1020, "wires": [ [ "9fefafa2d9c783e4", "b879ca6cfab8067b" ] ] }, { "id": "33eda67559c36431", "type": "inject", "z": "ab51b1e8cad7b700", "g": "3cfc986cc7920ab6", "name": "boot - start", "props": [ { "p": "payload" } ], "repeat": "", "crontab": "", "once": true, "onceDelay": 0.1, "topic": "", "payload": "open", "payloadType": "str", "x": 270, "y": 420, "wires": [ [ "7946b5daf9746284", "ba7189be579ed3f7" ] ] }, { "id": "b8e0e2e88c603fca", "type": "link call", "z": "ab51b1e8cad7b700", "g": "3cfc986cc7920ab6", "name": "", "links": [ "2696413f79392626" ], "linkType": "static", "timeout": "30", "x": 1370, "y": 420, "wires": [ [ "ea9e1a4ab2b74ceb" ] ] }, { "id": "545f1b4d3138c6ac", "type": "link out", "z": "ab51b1e8cad7b700", "g": "3cfc986cc7920ab6", "name": "boot - start", "mode": "link", "links": [ "7945c1e0587b55c2", "a9c177cf2feb7ba4", "b3e0b2e57e692482", "c87e027b0a4d2428", "f26fdb1d0da28ace", "064e02a8998b5685", "833b9eac78de9c81", "8014ec6e193d9901", "da3a9220d88fc434", "988dc67119f59ece", "29e7b98cef832784", "de864550b8a996c1", "19a66912b6b28050", "fc961f155ba6f05d" ], "x": 575, "y": 840, "wires": [] }, { "id": "fe1e1ea9af5e5f7a", "type": "inject", "z": "ab51b1e8cad7b700", "g": "3cfc986cc7920ab6", "name": "manual - close all gates", "props": [], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "x": 240, "y": 840, "wires": [ [ "545f1b4d3138c6ac" ] ] }, { "id": "d4df4da5210bac26", "type": "link call", "z": "ab51b1e8cad7b700", "g": "3cfc986cc7920ab6", "name": "", "links": [ "395376d7e73da017" ], "linkType": "static", "timeout": "30", "x": 2170, "y": 720, "wires": [ [ "2c10cdbc0032073a" ] ] }, { "id": "2c10cdbc0032073a", "type": "link call", "z": "ab51b1e8cad7b700", "g": "3cfc986cc7920ab6", "name": "", "links": [ "d065878b964a95b9" ], "linkType": "static", "timeout": "30", "x": 2370, "y": 720, "wires": [ [ "c79aa834b70e4674" ] ] }, { "id": "c79aa834b70e4674", "type": "link call", "z": "ab51b1e8cad7b700", "g": "3cfc986cc7920ab6", "name": "", "links": [ "c5fb211c91dfecd9" ], "linkType": "static", "timeout": "30", "x": 2560, "y": 420, "wires": [ [ "c0e7c42d02244806", "7f34b93be6dd1ae0", "0bc70d755d037eeb" ] ] }, { "id": "0ec7eb2b525d4265", "type": "link call", "z": "ab51b1e8cad7b700", "g": "3cfc986cc7920ab6", "name": "", "links": [ "9caf1f4f5fa6e06f" ], "linkType": "static", "timeout": "30", "x": 1970, "y": 420, "wires": [ [ "2081f5ebb7403922" ] ] }, { "id": "c0e7c42d02244806", "type": "link out", "z": "ab51b1e8cad7b700", "g": "3cfc986cc7920ab6", "name": "boot - open gates", "mode": "link", "links": [ "3736e2a70e80e34c", "504eeb064b15edb2", "92ceeb434c3fc82a", "b70a3e673499fb87", "eafdb7e55edcd0a2", "fd307e7cbbb08a89" ], "x": 2695, "y": 240, "wires": [] }, { "id": "70f875cf6e3f8f48", "type": "inject", "z": "ab51b1e8cad7b700", "g": "3cfc986cc7920ab6", "name": "manual - open all gates", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "", "payloadType": "date", "x": 240, "y": 240, "wires": [ [ "c0e7c42d02244806" ] ] }, { "id": "7946b5daf9746284", "type": "delay", "z": "ab51b1e8cad7b700", "g": "3cfc986cc7920ab6", "name": "20 ms", "pauseType": "delay", "timeout": "20", "timeoutUnits": "milliseconds", "rate": "1", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": false, "allowrate": false, "outputs": 1, "x": 450, "y": 420, "wires": [ [ "84052fb7696fd419" ] ] }, { "id": "b76dfebb811b14bd", "type": "link out", "z": "ab51b1e8cad7b700", "g": "3cfc986cc7920ab6", "name": "boot - end", "mode": "link", "links": [ "3b2c87205ae7f992" ], "x": 2855, "y": 420, "wires": [] }, { "id": "7f34b93be6dd1ae0", "type": "delay", "z": "ab51b1e8cad7b700", "g": "3cfc986cc7920ab6", "name": "20 ms", "pauseType": "delay", "timeout": "20", "timeoutUnits": "milliseconds", "rate": "1", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": false, "allowrate": false, "outputs": 1, "x": 2730, "y": 420, "wires": [ [ "b76dfebb811b14bd" ] ] }, { "id": "2081f5ebb7403922", "type": "link call", "z": "ab51b1e8cad7b700", "g": "3cfc986cc7920ab6", "name": "", "links": [ "13af35e83310ba58" ], "linkType": "static", "timeout": "30", "x": 2170, "y": 420, "wires": [ [ "778b2cff1fa0da1f" ] ] }, { "id": "778b2cff1fa0da1f", "type": "link call", "z": "ab51b1e8cad7b700", "g": "3cfc986cc7920ab6", "name": "", "links": [ "655a5cf856c9ceaf" ], "linkType": "static", "timeout": "30", "x": 2370, "y": 420, "wires": [ [ "c79aa834b70e4674" ] ] }, { "id": "9bac1aa814ac44eb", "type": "link in", "z": "ab51b1e8cad7b700", "g": "3cfc986cc7920ab6", "name": "boot - device", "links": [ "1d9d8c969ccdf2be", "68a233d0b60bf782", "72f3d70342e83655", "a21488eb16a467fa", "fdea9ff531a587a8" ], "x": 315, "y": 780, "wires": [ [ "a112027247cda662", "ba7189be579ed3f7" ] ] }, { "id": "4c15a34defab8369", "type": "inject", "z": "ab51b1e8cad7b700", "g": "3cfc986cc7920ab6", "name": "boot - device", "props": [ { "p": "payload" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "open", "payloadType": "str", "x": 270, "y": 720, "wires": [ [ "a112027247cda662", "ba7189be579ed3f7" ] ] }, { "id": "ea9e1a4ab2b74ceb", "type": "link call", "z": "ab51b1e8cad7b700", "g": "3cfc986cc7920ab6", "name": "", "links": [ "395376d7e73da017" ], "linkType": "static", "timeout": "30", "x": 1570, "y": 420, "wires": [ [ "c43fe34582a0b3eb" ] ] }, { "id": "c43fe34582a0b3eb", "type": "link call", "z": "ab51b1e8cad7b700", "g": "3cfc986cc7920ab6", "name": "", "links": [ "d065878b964a95b9" ], "linkType": "static", "timeout": "30", "x": 1770, "y": 420, "wires": [ [ "0ec7eb2b525d4265" ] ] }, { "id": "a112027247cda662", "type": "delay", "z": "ab51b1e8cad7b700", "g": "3cfc986cc7920ab6", "name": "1 s", "pauseType": "delay", "timeout": "1", "timeoutUnits": "seconds", "rate": "1", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": false, "allowrate": false, "outputs": 1, "x": 450, "y": 720, "wires": [ [ "d4df4da5210bac26" ] ] }, { "id": "97bff4775fd91b54", "type": "debug", "z": "ab51b1e8cad7b700", "g": "3cfc986cc7920ab6", "name": "boot - reboot", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 910, "y": 360, "wires": [] }, { "id": "dd10b513ac7a04ec", "type": "exec", "z": "ab51b1e8cad7b700", "g": "3cfc986cc7920ab6", "command": "reboot now", "addpay": "", "append": "", "useSpawn": "true", "timer": "", "winHide": false, "oldrc": false, "name": "", "x": 710, "y": 360, "wires": [ [ "97bff4775fd91b54" ], [ "97bff4775fd91b54" ], [ "97bff4775fd91b54" ] ] }, { "id": "f45ee744052bb2d6", "type": "inject", "z": "ab51b1e8cad7b700", "g": "3cfc986cc7920ab6", "name": "boot - reboot", "props": [], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "x": 270, "y": 300, "wires": [ [ "64ea196fcdd442ae" ] ] }, { "id": "db21979f63985719", "type": "link in", "z": "ab51b1e8cad7b700", "g": "3cfc986cc7920ab6", "name": "boot - reboot", "links": [ "cc58fa2dc61acc60" ], "x": 315, "y": 360, "wires": [ [ "64ea196fcdd442ae" ] ] }, { "id": "64ea196fcdd442ae", "type": "link call", "z": "ab51b1e8cad7b700", "g": "3cfc986cc7920ab6", "name": "", "links": [ "432e8063fae7039e" ], "linkType": "static", "timeout": "30", "x": 490, "y": 360, "wires": [ [ "dd10b513ac7a04ec" ] ] }, { "id": "84052fb7696fd419", "type": "link call", "z": "ab51b1e8cad7b700", "g": "3cfc986cc7920ab6", "name": "", "links": [ "797eac89000183db" ], "linkType": "static", "timeout": "30", "x": 1160, "y": 420, "wires": [ [ "b8e0e2e88c603fca" ] ] }, { "id": "754b9e0944158828", "type": "inject", "z": "ab51b1e8cad7b700", "g": "3cfc986cc7920ab6", "name": "boot - raz", "props": [ { "p": "payload" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "open", "payloadType": "str", "x": 280, "y": 600, "wires": [ [ "67d67876268d5804", "ba7189be579ed3f7" ] ] }, { "id": "67d67876268d5804", "type": "delay", "z": "ab51b1e8cad7b700", "g": "3cfc986cc7920ab6", "name": "20 ms", "pauseType": "delay", "timeout": "20", "timeoutUnits": "milliseconds", "rate": "1", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": false, "allowrate": false, "outputs": 1, "x": 450, "y": 600, "wires": [ [ "f17d156bf6d2ea64" ] ] }, { "id": "f17d156bf6d2ea64", "type": "link call", "z": "ab51b1e8cad7b700", "g": "3cfc986cc7920ab6", "name": "", "links": [ "2b4359a348c810a9" ], "linkType": "static", "timeout": "30", "x": 920, "y": 600, "wires": [ [ "84052fb7696fd419" ] ] }, { "id": "e2bf4b31ba67aab2", "type": "link in", "z": "ab51b1e8cad7b700", "g": "3cfc986cc7920ab6", "name": "boot - raz", "links": [], "x": 315, "y": 660, "wires": [ [ "67d67876268d5804", "ba7189be579ed3f7" ] ] }, { "id": "2ed07fe223d2313f", "type": "change", "z": "ab51b1e8cad7b700", "g": "7a4b3188c2585365", "name": "open", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "open", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1670, "y": 1080, "wires": [ [ "fcb2ec1001ceb323" ] ] }, { "id": "62899a3642eec3a6", "type": "change", "z": "ab51b1e8cad7b700", "g": "7a4b3188c2585365", "name": "close", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "close", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1670, "y": 1140, "wires": [ [ "fcb2ec1001ceb323" ] ] }, { "id": "0834ba091c1e77d9", "type": "link out", "z": "ab51b1e8cad7b700", "g": "7a4b3188c2585365", "name": "gate - metric", "mode": "link", "links": [ "206c1fb4a48067df", "208df23ea752ffdf" ], "x": 1955, "y": 1080, "wires": [] }, { "id": "92ceeb434c3fc82a", "type": "link in", "z": "ab51b1e8cad7b700", "g": "7a4b3188c2585365", "name": "gate - metric - open", "links": [ "17fe5558043cd1c3", "1a0d4d8a15723f6c", "9063c8e998532e1c", "c0e7c42d02244806" ], "x": 1535, "y": 1080, "wires": [ [ "2ed07fe223d2313f" ] ] }, { "id": "064e02a8998b5685", "type": "link in", "z": "ab51b1e8cad7b700", "g": "7a4b3188c2585365", "name": "gate - metric - close", "links": [ "4ccc6c10af26c436", "545f1b4d3138c6ac" ], "x": 1535, "y": 1140, "wires": [ [ "62899a3642eec3a6" ] ] }, { "id": "ef8370083ab88ead", "type": "change", "z": "ab51b1e8cad7b700", "g": "666fb3757c3b2f1c", "name": "open", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "open", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1670, "y": 1260, "wires": [ [ "4b2af8c17ceca370" ] ] }, { "id": "aa0c22b1ba7c2676", "type": "change", "z": "ab51b1e8cad7b700", "g": "666fb3757c3b2f1c", "name": "close", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "close", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1670, "y": 1320, "wires": [ [ "4b2af8c17ceca370" ] ] }, { "id": "f1a09e5456fe03fe", "type": "link out", "z": "ab51b1e8cad7b700", "g": "666fb3757c3b2f1c", "name": "gate - source", "mode": "link", "links": [ "3423fd727184042c", "735774bdb56f6be4", "fb76731a2064ad65", "1d8f71c67df6cec9", "be2acafce4c2c74d", "5616c2ce5c283bbd", "f6a43d93fa9caf56", "ddda7783f50a0db4", "e46d811a29ddc59e", "42c7380d496e1a14", "fbf9779ea5af2111", "db5251d07949a8c0", "5e387209f4a1be63", "9c9fde57b61d7940", "254eee2678120cf3" ], "x": 1955, "y": 1260, "wires": [] }, { "id": "b70a3e673499fb87", "type": "link in", "z": "ab51b1e8cad7b700", "g": "666fb3757c3b2f1c", "name": "gate - source - open", "links": [ "17fe5558043cd1c3", "c0e7c42d02244806", "e83e0bde60108cf0" ], "x": 1535, "y": 1260, "wires": [ [ "ef8370083ab88ead" ] ] }, { "id": "833b9eac78de9c81", "type": "link in", "z": "ab51b1e8cad7b700", "g": "666fb3757c3b2f1c", "name": "gate - source - close", "links": [ "545f1b4d3138c6ac" ], "x": 1535, "y": 1320, "wires": [ [ "aa0c22b1ba7c2676" ] ] }, { "id": "1f0f01c3fc8e207b", "type": "change", "z": "ab51b1e8cad7b700", "g": "c41724b0a7d79959", "name": "open", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "open", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1670, "y": 1440, "wires": [ [ "5a779f9b34c8259b" ] ] }, { "id": "8df0f11b7b695158", "type": "change", "z": "ab51b1e8cad7b700", "g": "c41724b0a7d79959", "name": "close", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "close", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1670, "y": 1500, "wires": [ [ "5a779f9b34c8259b" ] ] }, { "id": "95ce18294052c029", "type": "link out", "z": "ab51b1e8cad7b700", "g": "c41724b0a7d79959", "name": "gate - target", "mode": "link", "links": [ "6c324b24ca028984", "de0c34e8104574b0", "5d53068f8b9e6936", "62dd3e8d6c87a0f9", "55db3023ac9ae3c1" ], "x": 1955, "y": 1440, "wires": [] }, { "id": "fd307e7cbbb08a89", "type": "link in", "z": "ab51b1e8cad7b700", "g": "c41724b0a7d79959", "name": "gate - target - open", "links": [ "17fe5558043cd1c3", "c0e7c42d02244806", "91208239fbe15797" ], "x": 1535, "y": 1440, "wires": [ [ "1f0f01c3fc8e207b" ] ] }, { "id": "8014ec6e193d9901", "type": "link in", "z": "ab51b1e8cad7b700", "g": "c41724b0a7d79959", "name": "gate - target - close", "links": [ "545f1b4d3138c6ac" ], "x": 1535, "y": 1500, "wires": [ [ "8df0f11b7b695158" ] ] }, { "id": "094771ea30e6c0b6", "type": "link out", "z": "ab51b1e8cad7b700", "g": "9de0cb5fad576e92", "name": "gate - loop", "mode": "link", "links": [ "d4c051fdcf3414f6", "d40db95f9a154c3a", "3a5d788b6c9b1490", "8f3269222142f0f4", "ab62f258e01d8e30" ], "x": 1955, "y": 1620, "wires": [] }, { "id": "3736e2a70e80e34c", "type": "link in", "z": "ab51b1e8cad7b700", "g": "9de0cb5fad576e92", "name": "gate - loop - open", "links": [ "17fe5558043cd1c3", "1a0d4d8a15723f6c", "c0e7c42d02244806", "b5c48a301d98335a", "c3c13d6fa17c274d" ], "x": 1535, "y": 1620, "wires": [ [ "6df2ba0f14893390" ] ] }, { "id": "da3a9220d88fc434", "type": "link in", "z": "ab51b1e8cad7b700", "g": "9de0cb5fad576e92", "name": "gate - loop - close", "links": [ "4ccc6c10af26c436", "86ce0c124789fd0d", "3284f13d382e81d1", "545f1b4d3138c6ac" ], "x": 1535, "y": 1680, "wires": [ [ "2af94d148cf723c0" ] ] }, { "id": "6df2ba0f14893390", "type": "change", "z": "ab51b1e8cad7b700", "g": "9de0cb5fad576e92", "name": "open", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "open", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1670, "y": 1620, "wires": [ [ "3a35aa53aaedf198" ] ] }, { "id": "2af94d148cf723c0", "type": "change", "z": "ab51b1e8cad7b700", "g": "9de0cb5fad576e92", "name": "close", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "close", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1670, "y": 1680, "wires": [ [ "3a35aa53aaedf198" ] ] }, { "id": "69ed4e47589ccc68", "type": "change", "z": "ab51b1e8cad7b700", "g": "8743bc87eb8d2a91", "name": "open", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "open", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1670, "y": 1800, "wires": [ [ "2e871c6f42a5b449" ] ] }, { "id": "05f0bbf93f1d5bf5", "type": "change", "z": "ab51b1e8cad7b700", "g": "8743bc87eb8d2a91", "name": "close", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "close", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1670, "y": 1860, "wires": [ [ "2e871c6f42a5b449" ] ] }, { "id": "427c0a5a050502e2", "type": "link out", "z": "ab51b1e8cad7b700", "g": "8743bc87eb8d2a91", "name": "gate - scene", "mode": "link", "links": [ "6e5d97fd5f511366", "f05d34dd5ff9746b" ], "x": 1955, "y": 1800, "wires": [] }, { "id": "eafdb7e55edcd0a2", "type": "link in", "z": "ab51b1e8cad7b700", "g": "8743bc87eb8d2a91", "name": "gate - scene - open", "links": [ "17fe5558043cd1c3", "c0e7c42d02244806" ], "x": 1535, "y": 1800, "wires": [ [ "69ed4e47589ccc68" ] ] }, { "id": "988dc67119f59ece", "type": "link in", "z": "ab51b1e8cad7b700", "g": "8743bc87eb8d2a91", "name": "gate - scene - close", "links": [ "545f1b4d3138c6ac" ], "x": 1535, "y": 1860, "wires": [ [ "05f0bbf93f1d5bf5" ] ] }, { "id": "1f25921d9d3cd9af", "type": "link out", "z": "ab51b1e8cad7b700", "g": "5429d0542d3e1152", "name": "gate - cron", "mode": "link", "links": [ "54d6b2cd150e1e9f" ], "x": 1955, "y": 1980, "wires": [] }, { "id": "504daced117e4792", "type": "change", "z": "ab51b1e8cad7b700", "g": "5429d0542d3e1152", "name": "open", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "open", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1670, "y": 1980, "wires": [ [ "2016081ae13486e5" ] ] }, { "id": "b3b28a9a5646ac9c", "type": "change", "z": "ab51b1e8cad7b700", "g": "5429d0542d3e1152", "name": "close", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "close", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1670, "y": 2040, "wires": [ [ "2016081ae13486e5" ] ] }, { "id": "504eeb064b15edb2", "type": "link in", "z": "ab51b1e8cad7b700", "g": "5429d0542d3e1152", "name": "gate - cron - open", "links": [ "1a0d4d8a15723f6c", "17fe5558043cd1c3", "c0e7c42d02244806" ], "x": 1535, "y": 1980, "wires": [ [ "504daced117e4792" ] ] }, { "id": "29e7b98cef832784", "type": "link in", "z": "ab51b1e8cad7b700", "g": "5429d0542d3e1152", "name": "gate - cron - close", "links": [ "4ccc6c10af26c436", "545f1b4d3138c6ac" ], "x": 1535, "y": 2040, "wires": [ [ "b3b28a9a5646ac9c" ] ] }, { "id": "c0cbe8411bd6dfcc", "type": "link in", "z": "ab51b1e8cad7b700", "g": "ea98356204959d40", "name": "boot - step message", "links": [ "b879ca6cfab8067b", "d2dfe050c1c41cad", "2184c8fc6df4c103", "f92f6dcc3724dd04", "0b27931075fedc60", "4b31e327ec827081", "8c26e5e59e5939b0", "cbce1107a4000a53", "3e16cec67e6dfe9b" ], "x": 1535, "y": 960, "wires": [ [ "0639c6cf728f6b70" ] ] }, { "id": "0639c6cf728f6b70", "type": "debug", "z": "ab51b1e8cad7b700", "g": "ea98356204959d40", "name": "boot - step message", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "step", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1720, "y": 960, "wires": [] }, { "id": "b879ca6cfab8067b", "type": "link out", "z": "ab51b1e8cad7b700", "g": "e5bf46d1b71f880e", "name": "boot - room - step message", "mode": "link", "links": [ "c0cbe8411bd6dfcc" ], "x": 1355, "y": 1020, "wires": [] }, { "id": "2184c8fc6df4c103", "type": "link out", "z": "ab51b1e8cad7b700", "g": "89ff0d2f726ec1fc", "name": "boot - model- step message", "mode": "link", "links": [ "c0cbe8411bd6dfcc" ], "x": 1355, "y": 1200, "wires": [] }, { "id": "f92f6dcc3724dd04", "type": "link out", "z": "ab51b1e8cad7b700", "g": "7e85ca5b11887906", "name": "boot - device - step message", "mode": "link", "links": [ "c0cbe8411bd6dfcc" ], "x": 1355, "y": 1380, "wires": [] }, { "id": "0b27931075fedc60", "type": "link out", "z": "ab51b1e8cad7b700", "g": "8c9efe133dabdae7", "name": "boot - metric - step message", "mode": "link", "links": [ "c0cbe8411bd6dfcc" ], "x": 1355, "y": 1560, "wires": [] }, { "id": "4b31e327ec827081", "type": "link out", "z": "ab51b1e8cad7b700", "g": "3e8ea39ffdb422c0", "name": "boot - source - step message", "mode": "link", "links": [ "c0cbe8411bd6dfcc" ], "x": 1355, "y": 1740, "wires": [] }, { "id": "8c26e5e59e5939b0", "type": "link out", "z": "ab51b1e8cad7b700", "g": "b275fd7f45bdbb21", "name": "boot - target - step message", "mode": "link", "links": [ "c0cbe8411bd6dfcc" ], "x": 1355, "y": 1920, "wires": [] }, { "id": "cbce1107a4000a53", "type": "link out", "z": "ab51b1e8cad7b700", "g": "0aad38bc7c7fc52c", "name": "boot - ui - step message", "mode": "link", "links": [ "c0cbe8411bd6dfcc" ], "x": 1355, "y": 2100, "wires": [] }, { "id": "0bc70d755d037eeb", "type": "change", "z": "ab51b1e8cad7b700", "g": "3cfc986cc7920ab6", "name": "step", "rules": [ { "t": "set", "p": "step", "pt": "msg", "to": "boot - end", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 2730, "y": 480, "wires": [ [ "3e16cec67e6dfe9b" ] ] }, { "id": "3e16cec67e6dfe9b", "type": "link out", "z": "ab51b1e8cad7b700", "g": "3cfc986cc7920ab6", "name": "boot - end", "mode": "link", "links": [ "c0cbe8411bd6dfcc" ], "x": 2855, "y": 780, "wires": [] }, { "id": "ba7189be579ed3f7", "type": "change", "z": "ab51b1e8cad7b700", "g": "3cfc986cc7920ab6", "name": "step", "rules": [ { "t": "set", "p": "step", "pt": "msg", "to": "boot - start", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 450, "y": 780, "wires": [ [ "3e16cec67e6dfe9b", "545f1b4d3138c6ac" ] ] }, { "id": "2bf2a3570ad9a4a9", "type": "gate", "z": "ab51b1e8cad7b700", "g": "e5bf46d1b71f880e", "name": "gate room", "controlTopic": "gate room", "defaultState": "closed", "openCmd": "open", "closeCmd": "close", "toggleCmd": "toggle", "defaultCmd": "default", "statusCmd": "status", "persist": false, "storeName": "default", "x": 880, "y": 1020, "wires": [ [ "e03bf8b0eb75bb57" ] ] }, { "id": "9d227dc0fe3db54e", "type": "gate", "z": "ab51b1e8cad7b700", "g": "89ff0d2f726ec1fc", "name": "gate model", "controlTopic": "gate model", "defaultState": "closed", "openCmd": "open", "closeCmd": "close", "toggleCmd": "toggle", "defaultCmd": "default", "statusCmd": "status", "persist": false, "storeName": "default", "x": 890, "y": 1200, "wires": [ [ "4083e0b5aa07b391" ] ] }, { "id": "3c377256ce6452b1", "type": "gate", "z": "ab51b1e8cad7b700", "g": "7e85ca5b11887906", "name": "gate device", "controlTopic": "gate device", "defaultState": "closed", "openCmd": "open", "closeCmd": "close", "toggleCmd": "toggle", "defaultCmd": "default", "statusCmd": "status", "persist": false, "storeName": "default", "x": 890, "y": 1380, "wires": [ [ "96ad022ea9d454d9" ] ] }, { "id": "19884a3c55ef01e0", "type": "change", "z": "ab51b1e8cad7b700", "g": "89ff0d2f726ec1fc", "name": "close", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "close", "tot": "str" }, { "t": "set", "p": "step", "pt": "msg", "to": "boot - model - end", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1230, "y": 1200, "wires": [ [ "31e397def3c2efa3", "2184c8fc6df4c103" ] ] }, { "id": "e57e9117be76de70", "type": "change", "z": "ab51b1e8cad7b700", "g": "7e85ca5b11887906", "name": "close", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "close", "tot": "str" }, { "t": "set", "p": "step", "pt": "msg", "to": "boot - device - end", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1230, "y": 1380, "wires": [ [ "76c80637c0ae864d", "f92f6dcc3724dd04" ] ] }, { "id": "5bdc08d812013590", "type": "change", "z": "ab51b1e8cad7b700", "g": "8c9efe133dabdae7", "name": "close", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "close", "tot": "str" }, { "t": "set", "p": "step", "pt": "msg", "to": "boot - metric - end", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1230, "y": 1560, "wires": [ [ "328ff4712348d1ce", "0b27931075fedc60" ] ] }, { "id": "3d7b06c6e468092c", "type": "change", "z": "ab51b1e8cad7b700", "g": "3e8ea39ffdb422c0", "name": "close", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "close", "tot": "str" }, { "t": "set", "p": "step", "pt": "msg", "to": "boot - source - end", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1230, "y": 1740, "wires": [ [ "edbc4831f0f54cc7", "4b31e327ec827081" ] ] }, { "id": "9f1da32513c2e9f7", "type": "change", "z": "ab51b1e8cad7b700", "g": "b275fd7f45bdbb21", "name": "close", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "close", "tot": "str" }, { "t": "set", "p": "step", "pt": "msg", "to": "boot - target - end", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1230, "y": 1920, "wires": [ [ "7867d8054bf06206", "8c26e5e59e5939b0" ] ] }, { "id": "2690d0c451f0a6fb", "type": "change", "z": "ab51b1e8cad7b700", "g": "0aad38bc7c7fc52c", "name": "close", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "close", "tot": "str" }, { "t": "set", "p": "step", "pt": "msg", "to": "boot - ui - end", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1230, "y": 2100, "wires": [ [ "88c3ff2a107f882e", "cbce1107a4000a53" ] ] }, { "id": "337b32e93ceab701", "type": "gate", "z": "ab51b1e8cad7b700", "g": "8c9efe133dabdae7", "name": "gate metric", "controlTopic": "gate metric", "defaultState": "closed", "openCmd": "open", "closeCmd": "close", "toggleCmd": "toggle", "defaultCmd": "default", "statusCmd": "status", "persist": false, "storeName": "default", "x": 890, "y": 1560, "wires": [ [ "a85250fbceb2ddc3" ] ] }, { "id": "a9e0aedc47d23df0", "type": "gate", "z": "ab51b1e8cad7b700", "g": "3e8ea39ffdb422c0", "name": "gate source", "controlTopic": "gate source", "defaultState": "closed", "openCmd": "open", "closeCmd": "close", "toggleCmd": "toggle", "defaultCmd": "default", "statusCmd": "status", "persist": false, "storeName": "default", "x": 890, "y": 1740, "wires": [ [ "c7219bbb3399eb52" ] ] }, { "id": "540a4408ff1d85b1", "type": "gate", "z": "ab51b1e8cad7b700", "g": "b275fd7f45bdbb21", "name": "gate target", "controlTopic": "gate target", "defaultState": "closed", "openCmd": "open", "closeCmd": "close", "toggleCmd": "toggle", "defaultCmd": "default", "statusCmd": "status", "persist": false, "storeName": "default", "x": 890, "y": 1920, "wires": [ [ "ac95c7d7701c1217" ] ] }, { "id": "6d2567ef31684111", "type": "gate", "z": "ab51b1e8cad7b700", "g": "0aad38bc7c7fc52c", "name": "gate ui", "controlTopic": "gate ui", "defaultState": "closed", "openCmd": "open", "closeCmd": "close", "toggleCmd": "toggle", "defaultCmd": "default", "statusCmd": "status", "persist": false, "storeName": "default", "x": 870, "y": 2100, "wires": [ [ "e7ad39a80d1fe019" ] ] }, { "id": "fcb2ec1001ceb323", "type": "function", "z": "ab51b1e8cad7b700", "g": "7a4b3188c2585365", "name": "state", "func": "var msg = msg;\n\nmsg.topic = 'gate metric';\n\nif (msg.payload === 'open') {\n node.status({\n fill: \"green\", shape: \"ring\", text: msg.topic+' open'\n });\n}\nif (msg.payload === 'close') {\n node.status({\n fill: \"red\", shape: \"ring\", text: msg.topic+' close'\n });\n}\n\nreturn msg;", "outputs": 1, "timeout": "", "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 1830, "y": 1080, "wires": [ [ "0834ba091c1e77d9" ] ] }, { "id": "4b2af8c17ceca370", "type": "function", "z": "ab51b1e8cad7b700", "g": "666fb3757c3b2f1c", "name": "state", "func": "var msg = msg;\n\nmsg.topic = 'gate source';\n\nif (msg.payload === 'open') {\n node.status({\n fill: \"green\", shape: \"ring\", text: msg.topic+' open'\n });\n}\nif (msg.payload === 'close') {\n node.status({\n fill: \"red\", shape: \"ring\", text: msg.topic+' close'\n });\n}\n\nreturn msg;", "outputs": 1, "timeout": "", "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 1830, "y": 1260, "wires": [ [ "f1a09e5456fe03fe" ] ] }, { "id": "5a779f9b34c8259b", "type": "function", "z": "ab51b1e8cad7b700", "g": "c41724b0a7d79959", "name": "state", "func": "var msg = msg;\n\nmsg.topic = 'gate target';\n\nif (msg.payload === 'open') {\n node.status({\n fill: \"green\", shape: \"ring\", text: msg.topic+' open'\n });\n}\nif (msg.payload === 'close') {\n node.status({\n fill: \"red\", shape: \"ring\", text: msg.topic+' close'\n });\n}\n\nreturn msg;", "outputs": 1, "timeout": "", "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 1830, "y": 1440, "wires": [ [ "95ce18294052c029" ] ] }, { "id": "3a35aa53aaedf198", "type": "function", "z": "ab51b1e8cad7b700", "g": "9de0cb5fad576e92", "name": "state", "func": "var msg = msg;\n\nmsg.topic = 'gate loop';\n\nif (msg.payload === 'open') {\n node.status({\n fill: \"green\", shape: \"ring\", text: msg.topic+' open'\n });\n}\nif (msg.payload === 'close') {\n node.status({\n fill: \"red\", shape: \"ring\", text: msg.topic+' close'\n });\n}\n\nreturn msg;", "outputs": 1, "timeout": "", "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 1830, "y": 1620, "wires": [ [ "094771ea30e6c0b6" ] ] }, { "id": "2e871c6f42a5b449", "type": "function", "z": "ab51b1e8cad7b700", "g": "8743bc87eb8d2a91", "name": "state", "func": "var msg = msg;\n\nmsg.topic = 'gate scene';\n\nif (msg.payload === 'open') {\n node.status({\n fill: \"green\", shape: \"ring\", text: msg.topic+' open'\n });\n}\nif (msg.payload === 'close') {\n node.status({\n fill: \"red\", shape: \"ring\", text: msg.topic+' close'\n });\n}\n\nreturn msg;", "outputs": 1, "timeout": "", "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 1830, "y": 1800, "wires": [ [ "427c0a5a050502e2" ] ] }, { "id": "2016081ae13486e5", "type": "function", "z": "ab51b1e8cad7b700", "g": "5429d0542d3e1152", "name": "state", "func": "var msg = msg;\n\nmsg.topic = 'gate cron';\n\nif (msg.payload === 'open') {\n node.status({\n fill: \"green\", shape: \"ring\", text: msg.topic+' open'\n });\n}\nif (msg.payload === 'close') {\n node.status({\n fill: \"red\", shape: \"ring\", text: msg.topic+' close'\n });\n}\n\nreturn msg;", "outputs": 1, "timeout": "", "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 1830, "y": 1980, "wires": [ [ "1f25921d9d3cd9af" ] ] }, { "id": "460af327d1804def", "type": "switch", "z": "ab51b1e8cad7b700", "g": "266f4436dc45ce89", "name": "measurement", "property": "measurement", "propertyType": "msg", "rules": [ { "t": "neq", "v": "seen", "vt": "str" } ], "checkall": "false", "repair": false, "outputs": 1, "x": 2180, "y": 6240, "wires": [ [ "06581753b7673f83" ] ] }, { "id": "58d409f277d9b23d", "type": "delay", "z": "ab51b1e8cad7b700", "g": "266f4436dc45ce89", "name": "10 / s", "pauseType": "rate", "timeout": "50", "timeoutUnits": "milliseconds", "rate": "10", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": false, "allowrate": false, "outputs": 1, "x": 2590, "y": 6300, "wires": [ [] ] }, { "id": "61d22e09bde69211", "type": "trigger", "z": "ab51b1e8cad7b700", "g": "20b116b788ef3f27", "name": "1 h", "op1": "", "op2": "true", "op1type": "pay", "op2type": "bool", "duration": "1", "extend": false, "overrideDelay": false, "units": "hr", "reset": "", "bytopic": "topic", "topic": "path", "outputs": 2, "x": 3250, "y": 3360, "wires": [ [ "582f8e6b17a9d9d1" ], [ "503349dbea6cdfc6" ] ] }, { "id": "503349dbea6cdfc6", "type": "change", "z": "ab51b1e8cad7b700", "g": "20b116b788ef3f27", "name": "reset", "rules": [ { "t": "set", "p": "reset", "pt": "msg", "to": "true", "tot": "bool" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 3410, "y": 3420, "wires": [ [ "61d22e09bde69211" ] ] }, { "id": "68c1fe82aaee4b1b", "type": "comment", "z": "ab51b1e8cad7b700", "g": "20b116b788ef3f27", "name": "Do not repeat same value more than once per hour", "info": "", "x": 3110, "y": 3420, "wires": [] }, { "id": "ad2e79ba72ebd223", "type": "switch", "z": "ab51b1e8cad7b700", "g": "d62c9cf0cb81a537", "name": "from boot", "property": "payload", "propertyType": "msg", "rules": [ { "t": "regex", "v": "(open|close)", "vt": "str", "case": false }, { "t": "else" } ], "checkall": "false", "repair": false, "outputs": 2, "x": 280, "y": 5400, "wires": [ [ "4e5188bf59004a54" ], [ "f7cc8fb174a23f1a" ] ] }, { "id": "f7cc8fb174a23f1a", "type": "change", "z": "ab51b1e8cad7b700", "g": "d62c9cf0cb81a537", "name": "set room to global", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "$boolean(msg.payload)", "tot": "jsonata" }, { "t": "set", "p": "rooms[msg.room]", "pt": "global", "to": "payload", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 670, "y": 5400, "wires": [ [ "fc14608145819575" ] ] }, { "id": "d747b2b7044fc49f", "type": "change", "z": "ab51b1e8cad7b700", "g": "4937527cddd45b61", "name": "custom", "rules": [ { "t": "delete", "p": "path", "pt": "msg" }, { "t": "delete", "p": "brand", "pt": "msg" }, { "t": "delete", "p": "protocol", "pt": "msg" }, { "t": "delete", "p": "model", "pt": "msg" }, { "t": "delete", "p": "id", "pt": "msg" }, { "t": "delete", "p": "option", "pt": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1800, "y": 6000, "wires": [ [ "fabb645e0d88c91c" ] ] }, { "id": "8b72b7cb338a2d68", "type": "inject", "z": "ab51b1e8cad7b700", "g": "3cfc986cc7920ab6", "name": "boot - file", "props": [ { "p": "payload" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "open", "payloadType": "str", "x": 280, "y": 480, "wires": [ [ "3cc6bbbc6844b7b1", "ba7189be579ed3f7" ] ] }, { "id": "3cc6bbbc6844b7b1", "type": "delay", "z": "ab51b1e8cad7b700", "g": "3cfc986cc7920ab6", "name": "20 ms", "pauseType": "delay", "timeout": "20", "timeoutUnits": "milliseconds", "rate": "1", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": false, "allowrate": false, "outputs": 1, "x": 450, "y": 480, "wires": [ [ "419ed058d98d30ad" ] ] }, { "id": "419ed058d98d30ad", "type": "link call", "z": "ab51b1e8cad7b700", "g": "3cfc986cc7920ab6", "name": "", "links": [ "2b4359a348c810a9" ], "linkType": "static", "timeout": "30", "x": 660, "y": 480, "wires": [ [ "cb927baab479c03f" ] ] }, { "id": "cb927baab479c03f", "type": "link call", "z": "ab51b1e8cad7b700", "g": "3cfc986cc7920ab6", "name": "", "links": [ "dfb4b5350a9383c9" ], "linkType": "static", "timeout": "30", "x": 920, "y": 480, "wires": [ [ "84052fb7696fd419" ] ] }, { "id": "cfe7a728431d4432", "type": "link in", "z": "ab51b1e8cad7b700", "g": "3cfc986cc7920ab6", "name": "boot - file", "links": [ "dcf05c7a22428a38" ], "x": 315, "y": 540, "wires": [ [ "3cc6bbbc6844b7b1", "ba7189be579ed3f7" ] ] }, { "id": "de5de22f333ae09b", "type": "q-gate", "z": "ab51b1e8cad7b700", "g": "20b116b788ef3f27", "name": "gate loop", "controlTopic": "gate loop", "defaultState": "queueing", "openCmd": "open", "closeCmd": "close", "toggleCmd": "toggle", "queueCmd": "close", "defaultCmd": "default", "triggerCmd": "trigger", "flushCmd": "open", "resetCmd": "reset", "peekCmd": "peek", "dropCmd": "drop", "statusCmd": "status", "maxQueueLength": "100", "keepNewest": false, "qToggle": false, "persist": false, "storeName": "onFile", "x": 1700, "y": 3120, "wires": [ [] ] }, { "id": "ab62f258e01d8e30", "type": "link in", "z": "ab51b1e8cad7b700", "g": "20b116b788ef3f27", "name": "kernel - undefined metric - gate", "links": [ "094771ea30e6c0b6" ], "x": 1555, "y": 3060, "wires": [ [ "de5de22f333ae09b" ] ] }, { "id": "a4f59906627b6ae2", "type": "mqtt in", "z": "ab51b1e8cad7b700", "g": "d1b208e623179a25", "name": "MQTT nodered", "topic": "", "qos": "2", "datatype": "utf8", "broker": "1a33c4adcafb7a63", "nl": false, "rap": true, "rh": 0, "inputs": 1, "x": 640, "y": 6900, "wires": [ [ "18e9d5a1fd096ab2" ] ] }, { "id": "6e55698d1398bc7c", "type": "change", "z": "ab51b1e8cad7b700", "g": "d1b208e623179a25", "name": "mqtt topic", "rules": [ { "t": "set", "p": "topic", "pt": "msg", "to": "about.automate", "tot": "global" }, { "t": "set", "p": "topic", "pt": "msg", "to": "{'topic':msg.topic&'/#','qos':2}", "tot": "jsonata" }, { "t": "set", "p": "action", "pt": "msg", "to": "subscribe", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 440, "y": 6900, "wires": [ [ "a4f59906627b6ae2" ] ] }, { "id": "529a05416b2791b3", "type": "link in", "z": "ab51b1e8cad7b700", "g": "d1b208e623179a25", "name": "link in 1", "links": [ "a0f0f63b3934f168" ], "x": 135, "y": 6900, "wires": [ [ "6e55698d1398bc7c" ] ] }, { "id": "5bf1d90326c0f62a", "type": "inject", "z": "ab51b1e8cad7b700", "g": "d1b208e623179a25", "name": "manual - mqtt topic", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "", "payloadType": "str", "x": 230, "y": 6960, "wires": [ [ "6e55698d1398bc7c" ] ] }, { "id": "acb5a947386c9b74", "type": "change", "z": "ab51b1e8cad7b700", "g": "c706245ab487b7e2", "name": "automate", "rules": [ { "t": "set", "p": "automate", "pt": "msg", "to": "about.automate", "tot": "global" }, { "t": "set", "p": "automate", "pt": "msg", "to": "'^'&msg.automate", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 2200, "y": 6900, "wires": [ [ "19a5c46ec6c71456" ] ] } ]