iotredloop/flows/K.Kernel.json
2024-08-10 17:52:44 +02:00

12237 lines
No EOL
234 KiB
JSON

[
{
"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": 5067,
"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": 7013,
"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",
"524ae516f19cd658",
"aac43257414dfd8f",
"89e3a9e072e3026b",
"014c7a6e2061521c"
],
"x": 68,
"y": 2573,
"w": 7538,
"h": 2414
},
{
"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": 6713,
"w": 2044,
"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": 2354
},
{
"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": 6353,
"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": 5993,
"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": 5633,
"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": 7039,
"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": 7039,
"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": 2599,
"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": 4159,
"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": 3919,
"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": 3739,
"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": 3439,
"w": 1072,
"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"
],
"x": 94,
"y": 2959,
"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"
],
"x": 1394,
"y": 6739,
"w": 692,
"h": 142
},
{
"id": "d1b208e623179a25",
"type": "group",
"z": "ab51b1e8cad7b700",
"g": "93fb3d4a50d16da0",
"name": "",
"style": {
"fill": "#0070c0",
"fill-opacity": "0.05",
"label": true
},
"nodes": [
"a19b9fbac3e9f89c",
"e12bb3f8258f4439",
"b961d989c357e6d6",
"2cc2cdcf0b1f710e",
"56d93c268a656fc4",
"d02f1b2f2c3a2a30",
"208df23ea752ffdf",
"18e9d5a1fd096ab2"
],
"x": 94,
"y": 6739,
"w": 1202,
"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": 4819,
"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": 5393,
"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": 4639,
"w": 932,
"h": 142
},
{
"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": 4339,
"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": 5093,
"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": 4519,
"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",
"aa05e8cb5d649408",
"cbce1107a4000a53",
"2690d0c451f0a6fb",
"6d2567ef31684111"
],
"x": 94,
"y": 2299,
"w": 1302,
"h": 202
},
{
"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",
"3b11ad218d612937",
"8c26e5e59e5939b0",
"9f1da32513c2e9f7",
"540a4408ff1d85b1"
],
"x": 94,
"y": 2059,
"w": 1302,
"h": 202
},
{
"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",
"d311c3317120581b",
"4b31e327ec827081",
"3d7b06c6e468092c",
"a9e0aedc47d23df0"
],
"x": 94,
"y": 1819,
"w": 1302,
"h": 202
},
{
"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",
"44008e5fa92b3b16",
"0b27931075fedc60",
"5bdc08d812013590",
"337b32e93ceab701"
],
"x": 94,
"y": 1579,
"w": 1302,
"h": 202
},
{
"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",
"68483bdd8d2582ac",
"f92f6dcc3724dd04",
"3c377256ce6452b1",
"e57e9117be76de70"
],
"x": 94,
"y": 1339,
"w": 1302,
"h": 202
},
{
"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",
"7231ce2c453a544d",
"2184c8fc6df4c103",
"9d227dc0fe3db54e",
"19884a3c55ef01e0"
],
"x": 94,
"y": 1099,
"w": 1302,
"h": 202
},
{
"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",
"0bf33511b0560853",
"2bf2a3570ad9a4a9"
],
"x": 94,
"y": 859,
"w": 1302,
"h": 202
},
{
"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": 622
},
{
"id": "7a4b3188c2585365",
"type": "group",
"z": "ab51b1e8cad7b700",
"g": "d0df5b3e8770d40b",
"name": "gate - metric",
"style": {
"fill": "#ff0000",
"fill-opacity": "0.05",
"label": true
},
"nodes": [
"bd3bd1809096e016",
"2ed07fe223d2313f",
"62899a3642eec3a6",
"0834ba091c1e77d9",
"92ceeb434c3fc82a",
"064e02a8998b5685",
"fcb2ec1001ceb323"
],
"x": 1494,
"y": 979,
"w": 612,
"h": 142
},
{
"id": "666fb3757c3b2f1c",
"type": "group",
"z": "ab51b1e8cad7b700",
"g": "d0df5b3e8770d40b",
"name": "gate - source",
"style": {
"fill": "#ff0000",
"fill-opacity": "0.05",
"label": true
},
"nodes": [
"7e0629ebb334ac92",
"ef8370083ab88ead",
"aa0c22b1ba7c2676",
"f1a09e5456fe03fe",
"b70a3e673499fb87",
"833b9eac78de9c81",
"4b2af8c17ceca370"
],
"x": 1494,
"y": 1159,
"w": 612,
"h": 142
},
{
"id": "c41724b0a7d79959",
"type": "group",
"z": "ab51b1e8cad7b700",
"g": "d0df5b3e8770d40b",
"name": "gate - target",
"style": {
"fill": "#ff0000",
"fill-opacity": "0.05",
"label": true
},
"nodes": [
"a1c9d3b6fe93bd68",
"1f0f01c3fc8e207b",
"8df0f11b7b695158",
"95ce18294052c029",
"fd307e7cbbb08a89",
"8014ec6e193d9901",
"5a779f9b34c8259b"
],
"x": 1494,
"y": 1339,
"w": 612,
"h": 142
},
{
"id": "9de0cb5fad576e92",
"type": "group",
"z": "ab51b1e8cad7b700",
"g": "d0df5b3e8770d40b",
"name": "gate - loop",
"style": {
"fill": "#ff0000",
"fill-opacity": "0.05",
"label": true
},
"nodes": [
"094771ea30e6c0b6",
"df8631819a592f91",
"3736e2a70e80e34c",
"da3a9220d88fc434",
"6df2ba0f14893390",
"2af94d148cf723c0",
"3a35aa53aaedf198"
],
"x": 1494,
"y": 1519,
"w": 612,
"h": 142
},
{
"id": "8743bc87eb8d2a91",
"type": "group",
"z": "ab51b1e8cad7b700",
"g": "d0df5b3e8770d40b",
"name": "gate - scene",
"style": {
"fill": "#ff0000",
"fill-opacity": "0.05",
"label": true
},
"nodes": [
"6bf4713643c9a8ea",
"69ed4e47589ccc68",
"05f0bbf93f1d5bf5",
"427c0a5a050502e2",
"eafdb7e55edcd0a2",
"988dc67119f59ece",
"2e871c6f42a5b449"
],
"x": 1494,
"y": 1699,
"w": 612,
"h": 142
},
{
"id": "5429d0542d3e1152",
"type": "group",
"z": "ab51b1e8cad7b700",
"g": "d0df5b3e8770d40b",
"name": "gate - cron",
"style": {
"fill": "#ff0000",
"fill-opacity": "0.05",
"label": true
},
"nodes": [
"1f25921d9d3cd9af",
"5072ab8bdc575040",
"504daced117e4792",
"b3b28a9a5646ac9c",
"504eeb064b15edb2",
"29e7b98cef832784",
"2016081ae13486e5"
],
"x": 1494,
"y": 1879,
"w": 612,
"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": 859,
"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": 6379,
"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": 6439,
"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": 6079,
"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": 6019,
"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": 5659,
"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": 5779,
"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": 5479,
"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": 5419,
"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": 5119,
"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": 6540,
"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": 6480,
"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": 6420,
"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": 6480,
"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": 6480,
"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": 6480,
"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": 6480,
"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": 6480,
"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": 6480,
"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": 6480,
"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": 6480,
"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": 6480,
"wires": [
[
"f61f5fe80ddf6ff1"
]
]
},
{
"id": "7d45ca7ad7f363fe",
"type": "link in",
"z": "ab51b1e8cad7b700",
"g": "874075d44d19869a",
"name": "auto - metric - in",
"links": [
"031a6afd8300356a"
],
"x": 135,
"y": 6480,
"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": 6180,
"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": 6180,
"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": 6180,
"wires": [
[
"bb1e8e34559c5a7f"
]
]
},
{
"id": "06581753b7673f83",
"type": "link out",
"z": "ab51b1e8cad7b700",
"g": "266f4436dc45ce89",
"name": "auto - source - out",
"mode": "link",
"links": [
"206c1fb4a48067df"
],
"x": 2935,
"y": 6120,
"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": 6120,
"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": 6180,
"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": 6120,
"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": 6120,
"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": 6180,
"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": 6120,
"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": 6120,
"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": 6120,
"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": 6060,
"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": 6120,
"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": 6120,
"wires": [
[
"ac4653be6ea01477"
]
]
},
{
"id": "ba77500cd9f7f6da",
"type": "link in",
"z": "ab51b1e8cad7b700",
"g": "3be00f677c6457bd",
"name": "auto - source - in",
"links": [
"a3594a90f69fe537",
"ebdbee7baef678a6",
"ed6bcbd32e72afe1",
"b491f7eb02575108"
],
"x": 135,
"y": 6120,
"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": 5700,
"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": 5760,
"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": 5820,
"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": 5820,
"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": 5760,
"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": 5820,
"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": 5880,
"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": 5820,
"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": 5880,
"wires": [
[
"7f1a03ba2d4eb5d1"
],
[
"546f190f3ec0c90d"
]
]
},
{
"id": "d85fe6335a6eae7b",
"type": "link in",
"z": "ab51b1e8cad7b700",
"g": "bd21a8b1786d3ed2",
"name": "auto - device - in",
"links": [
"3fe55eddaf0140ee"
],
"x": 135,
"y": 5880,
"wires": [
[
"25579c2b6bf10a53"
]
]
},
{
"id": "d02f1b2f2c3a2a30",
"type": "comment",
"z": "ab51b1e8cad7b700",
"g": "d1b208e623179a25",
"name": "MQTT nodered base topic must be same as automate name (default is iotredloop)",
"info": "",
"x": 860,
"y": 6840,
"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": 4080,
"wires": []
},
{
"id": "7f76434616f622dc",
"type": "link out",
"z": "ab51b1e8cad7b700",
"g": "a8dc4fab59fdefb4",
"name": "device - system kernel version",
"mode": "link",
"links": [
"bfa594bf1f876c92"
],
"x": 595,
"y": 7080,
"wires": []
},
{
"id": "eed8990163b1ca81",
"type": "link in",
"z": "ab51b1e8cad7b700",
"g": "a8dc4fab59fdefb4",
"name": "device - system kernel version",
"links": [
"3fe55eddaf0140ee"
],
"x": 135,
"y": 7080,
"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": 7080,
"wires": [
[
"7f76434616f622dc"
]
]
},
{
"id": "f02b4584af0d800c",
"type": "link out",
"z": "ab51b1e8cad7b700",
"g": "f67a857ae75d906f",
"name": "source - system kernel version",
"mode": "link",
"links": [
"206c1fb4a48067df"
],
"x": 1155,
"y": 7080,
"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": 7080,
"wires": [
[
"f02b4584af0d800c"
]
]
},
{
"id": "33f7a250a7341c43",
"type": "link in",
"z": "ab51b1e8cad7b700",
"g": "f67a857ae75d906f",
"name": "source - system kernel version",
"links": [
"e83e0bde60108cf0"
],
"x": 775,
"y": 7080,
"wires": [
[
"1b98c37b3b7502e4"
]
]
},
{
"id": "ca442e58e65b32f8",
"type": "comment",
"z": "ab51b1e8cad7b700",
"g": "a762a7a552cb9f03",
"name": "every day at 12am",
"info": "",
"x": 790,
"y": 2880,
"wires": []
},
{
"id": "c367834c9cccbe38",
"type": "comment",
"z": "ab51b1e8cad7b700",
"g": "a762a7a552cb9f03",
"name": "60 s after boot and every minute",
"info": "",
"x": 830,
"y": 2700,
"wires": []
},
{
"id": "412878f8c488a0f4",
"type": "comment",
"z": "ab51b1e8cad7b700",
"g": "a762a7a552cb9f03",
"name": "60 s after boot and every hour",
"info": "",
"x": 820,
"y": 2760,
"wires": []
},
{
"id": "7fa17301839c0fa6",
"type": "comment",
"z": "ab51b1e8cad7b700",
"g": "a762a7a552cb9f03",
"name": "60 s after boot and every day at 3am",
"info": "",
"x": 840,
"y": 2820,
"wires": []
},
{
"id": "764da2d0527c1ef6",
"type": "link out",
"z": "ab51b1e8cad7b700",
"g": "a762a7a552cb9f03",
"name": "kernel - cron midday",
"mode": "link",
"links": [
"34a350a168b2e745",
"254eee2678120cf3"
],
"x": 555,
"y": 2880,
"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": 2880,
"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": 2820,
"wires": []
},
{
"id": "287d719de575c01f",
"type": "link out",
"z": "ab51b1e8cad7b700",
"g": "a762a7a552cb9f03",
"name": "kernel - cron hour",
"mode": "link",
"links": [
"ee6803ada17495f7"
],
"x": 555,
"y": 2760,
"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": 2700,
"wires": []
},
{
"id": "867a71b7dae9c844",
"type": "inject",
"z": "ab51b1e8cad7b700",
"g": "a762a7a552cb9f03",
"name": "cron day",
"props": [],
"repeat": "",
"crontab": "00 03 * * *",
"once": true,
"onceDelay": "60",
"topic": "",
"x": 240,
"y": 2820,
"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": 2760,
"wires": [
[
"db59beff27b22a84"
]
]
},
{
"id": "caa3c5097468f133",
"type": "inject",
"z": "ab51b1e8cad7b700",
"g": "a762a7a552cb9f03",
"name": "cron minute",
"props": [],
"repeat": "60",
"crontab": "",
"once": true,
"onceDelay": "60",
"topic": "",
"x": 230,
"y": 2700,
"wires": [
[
"c24a1a94daaabeb7"
]
]
},
{
"id": "19a5c46ec6c71456",
"type": "switch",
"z": "ab51b1e8cad7b700",
"g": "c706245ab487b7e2",
"name": "check topic",
"property": "topic",
"propertyType": "msg",
"rules": [
{
"t": "regex",
"v": "^iotredloop",
"vt": "str",
"case": false
}
],
"checkall": "false",
"repair": false,
"outputs": 1,
"x": 1770,
"y": 6780,
"wires": [
[
"630dfeb0e033a476",
"0f1e413815ecc824"
]
]
},
{
"id": "0f1e413815ecc824",
"type": "link out",
"z": "ab51b1e8cad7b700",
"g": "c706245ab487b7e2",
"name": "mqtt nodered output",
"mode": "link",
"links": [
"32f2b2da5065afde",
"e942462a899825f8",
"ff1a30fbddcaa9fd"
],
"x": 1915,
"y": 6840,
"wires": []
},
{
"id": "d40db95f9a154c3a",
"type": "link in",
"z": "ab51b1e8cad7b700",
"g": "c706245ab487b7e2",
"name": "mqtt nodered",
"links": [
"094771ea30e6c0b6",
"a9b3a11e9a293e92",
"c5465d5f64db4b45"
],
"x": 1435,
"y": 6780,
"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": "51fc92ba27d12eaa",
"x": 1980,
"y": 6780,
"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": 830,
"y": 6780,
"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": "iotredloop",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 1080,
"y": 6780,
"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": 610,
"y": 6780,
"wires": [
[
"56d93c268a656fc4"
]
]
},
{
"id": "e12bb3f8258f4439",
"type": "link out",
"z": "ab51b1e8cad7b700",
"g": "d1b208e623179a25",
"name": "mqtt nodered",
"mode": "link",
"links": [
"282314c3181caba2",
"f4fed668dbff1da4",
"206c1fb4a48067df"
],
"x": 1255,
"y": 6780,
"wires": []
},
{
"id": "a19b9fbac3e9f89c",
"type": "mqtt in",
"z": "ab51b1e8cad7b700",
"g": "d1b208e623179a25",
"name": "MQTT nodered",
"topic": "iotredloop/#",
"qos": "2",
"datatype": "utf8",
"broker": "51fc92ba27d12eaa",
"nl": false,
"rap": true,
"rh": 0,
"inputs": 0,
"x": 200,
"y": 6780,
"wires": [
[
"18e9d5a1fd096ab2"
]
]
},
{
"id": "0aca727fc835e615",
"type": "Stackhero-InfluxDB-v2-write",
"z": "ab51b1e8cad7b700",
"g": "3e71b89d61df9fd3",
"server": "22dd0707e6d3a364",
"name": "influxdb",
"x": 2580,
"y": 4020,
"wires": [
[]
]
},
{
"id": "432e8063fae7039e",
"type": "link in",
"z": "ab51b1e8cad7b700",
"g": "bc29c56f900c8d36",
"name": "kernel - write to file",
"links": [],
"x": 135,
"y": 4260,
"wires": [
[
"1ec6a11cfb7fa3fc"
]
]
},
{
"id": "dfb4b5350a9383c9",
"type": "link in",
"z": "ab51b1e8cad7b700",
"g": "89e3a9e072e3026b",
"name": "kernel - read from file",
"links": [],
"x": 135,
"y": 4440,
"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": 4260,
"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": 4440,
"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": 4440,
"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": 4380,
"wires": []
},
{
"id": "2356f963725e84c6",
"type": "json",
"z": "ab51b1e8cad7b700",
"g": "89e3a9e072e3026b",
"name": "",
"property": "payload",
"action": "",
"pretty": false,
"x": 630,
"y": 4440,
"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": 4440,
"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": 4200,
"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": 4260,
"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": 4020,
"wires": [
[
"27e3bd6cada7b554"
]
]
},
{
"id": "4163673982458b27",
"type": "link out",
"z": "ab51b1e8cad7b700",
"g": "3e71b89d61df9fd3",
"name": "kernel - wrtie to InfluxDB",
"mode": "link",
"links": [
"b4dcaf3216134966"
],
"x": 2535,
"y": 4080,
"wires": []
},
{
"id": "4280a1f889505f0c",
"type": "link in",
"z": "ab51b1e8cad7b700",
"g": "3e71b89d61df9fd3",
"name": "kernel - write to InfluxDB",
"links": [
"4264ed01f3943e2f"
],
"x": 135,
"y": 4020,
"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": 4020,
"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": 3960,
"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": 3960,
"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": 3960,
"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": 4080,
"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": 4020,
"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": 4020,
"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": 4020,
"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": 4020,
"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": 4080,
"wires": [
[
"b43439c6ab36fbfc"
]
]
},
{
"id": "c5465d5f64db4b45",
"type": "link out",
"z": "ab51b1e8cad7b700",
"g": "6386e9a459469b53",
"name": "Kernel - write to MQTT",
"mode": "link",
"links": [
"d40db95f9a154c3a"
],
"x": 655,
"y": 3840,
"wires": []
},
{
"id": "1cbff7f3a7317c5b",
"type": "link in",
"z": "ab51b1e8cad7b700",
"g": "6386e9a459469b53",
"name": "kernel - write to MQTT",
"links": [
"4264ed01f3943e2f"
],
"x": 135,
"y": 3840,
"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": 3840,
"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": 3780,
"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": 3840,
"wires": [
[
"4176c5d5bc97709c"
]
]
},
{
"id": "592483f2183c6711",
"type": "link out",
"z": "ab51b1e8cad7b700",
"g": "e9bd98a0b6e0d58c",
"name": "kernel - write to journal",
"mode": "link",
"links": [
"b105c14c0fdc8160"
],
"x": 535,
"y": 3480,
"wires": []
},
{
"id": "c5dc4f8c357a596f",
"type": "link in",
"z": "ab51b1e8cad7b700",
"g": "e9bd98a0b6e0d58c",
"name": "kernel - write to journal",
"links": [
"4264ed01f3943e2f"
],
"x": 135,
"y": 3480,
"wires": [
[
"e4e85a27e4775ac9"
]
]
},
{
"id": "074313bb4e48de6f",
"type": "debug",
"z": "ab51b1e8cad7b700",
"g": "e9bd98a0b6e0d58c",
"name": "journal console only seen",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 930,
"y": 3600,
"wires": []
},
{
"id": "a441e9df790a0c3c",
"type": "debug",
"z": "ab51b1e8cad7b700",
"g": "e9bd98a0b6e0d58c",
"name": "journal console only thermostat",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 950,
"y": 3540,
"wires": []
},
{
"id": "285c9ffa2f524440",
"type": "debug",
"z": "ab51b1e8cad7b700",
"g": "e9bd98a0b6e0d58c",
"name": "journal console others",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 920,
"y": 3660,
"wires": []
},
{
"id": "234620fe148e1dca",
"type": "debug",
"z": "ab51b1e8cad7b700",
"g": "e9bd98a0b6e0d58c",
"name": "journal console only linky and power",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 970,
"y": 3480,
"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": 3540,
"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": 3480,
"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": 3060,
"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": 3240,
"wires": [
[
"c785aed10e83430a",
"fc88fb69cac1e5a5"
],
[]
]
},
{
"id": "56d131373d4e2f78",
"type": "link call",
"z": "ab51b1e8cad7b700",
"g": "20b116b788ef3f27",
"name": "",
"links": [
"7662aba4a1cc9dd0"
],
"linkType": "static",
"timeout": "30",
"x": 1740,
"y": 3300,
"wires": [
[
"472fc7b2574a8069"
]
]
},
{
"id": "3a4c72588bb27ab4",
"type": "link call",
"z": "ab51b1e8cad7b700",
"g": "20b116b788ef3f27",
"name": "",
"links": [
"4f02d67d81a83e86"
],
"linkType": "static",
"timeout": "30",
"x": 1490,
"y": 3240,
"wires": [
[
"472fc7b2574a8069"
]
]
},
{
"id": "357c6d106dec5efd",
"type": "link call",
"z": "ab51b1e8cad7b700",
"g": "20b116b788ef3f27",
"name": "",
"links": [
"bc396dcc308c42ee"
],
"linkType": "static",
"timeout": "30",
"x": 1490,
"y": 3300,
"wires": [
[
"56d131373d4e2f78"
]
]
},
{
"id": "8bbf418d277b4df7",
"type": "link call",
"z": "ab51b1e8cad7b700",
"g": "20b116b788ef3f27",
"name": "",
"links": [
"e112327c4a55aa35"
],
"linkType": "static",
"timeout": "30",
"x": 1490,
"y": 3360,
"wires": [
[
"56d131373d4e2f78"
]
]
},
{
"id": "e2ef5706b35de7b0",
"type": "link call",
"z": "ab51b1e8cad7b700",
"g": "20b116b788ef3f27",
"name": "",
"links": [
"a72b20551a3b1f8c"
],
"linkType": "static",
"timeout": "30",
"x": 1490,
"y": 3180,
"wires": [
[
"472fc7b2574a8069"
]
]
},
{
"id": "c15d0c66ed5af79f",
"type": "link out",
"z": "ab51b1e8cad7b700",
"g": "20b116b788ef3f27",
"name": "kernel - metric - rate",
"mode": "link",
"links": [
"117fb09fe859797f"
],
"x": 5015,
"y": 3240,
"wires": []
},
{
"id": "4264ed01f3943e2f",
"type": "link out",
"z": "ab51b1e8cad7b700",
"g": "20b116b788ef3f27",
"name": "kernel - metric - write",
"mode": "link",
"links": [
"c5dc4f8c357a596f",
"1cbff7f3a7317c5b",
"4280a1f889505f0c"
],
"x": 5015,
"y": 3180,
"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",
"8bbf52c2a83e09ea",
"3099e4a17fd21410",
"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",
"7837b5fcc1432bfa",
"1d1dc560168d0284",
"ac33a83c23cf9ac4",
"6e122c5defee75eb",
"8e100ef9757cbc9a",
"894e30d7fd56cd87",
"6e5d97fd5f511366",
"e4ebd518283c6923",
"99a002b04c9f0bd2",
"959cdd09db6a54e5",
"1e32c8773f65be12",
"6337b865cf950f75",
"5c01138cde301e29",
"0bb26accb9a85c1d",
"5f0e5572410a109e",
"cc26cea3198da783"
],
"x": 5015,
"y": 3120,
"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",
"6fbdfc1ab44f9754",
"d09ad27d05d54698",
"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",
"6632e88ee0633e4c",
"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"
],
"x": 135,
"y": 3060,
"wires": [
[
"12f02c43a82b46f9"
]
]
},
{
"id": "d7f0ba2534f27b82",
"type": "comment",
"z": "ab51b1e8cad7b700",
"g": "20b116b788ef3f27",
"name": "If more than 12 msg / sec during 4 sec, then lock gate for one sec",
"info": "",
"x": 4090,
"y": 3360,
"wires": []
},
{
"id": "ca80e5fe27609a11",
"type": "trigger",
"z": "ab51b1e8cad7b700",
"g": "20b116b788ef3f27",
"name": "wait 4 s then true",
"op1": "",
"op2": "true",
"op1type": "nul",
"op2type": "bool",
"duration": "4",
"extend": false,
"overrideDelay": false,
"units": "s",
"reset": "",
"bytopic": "all",
"topic": "topic",
"outputs": 1,
"x": 4630,
"y": 3300,
"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": 3360,
"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": 3060,
"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": 3120,
"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) {\n node.status({\n fill: \"red\", shape: \"ring\", text: 'undefined 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": 3060,
"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": 3240,
"wires": [
[
"c15d0c66ed5af79f"
]
]
},
{
"id": "0d78bebcc5541e02",
"type": "trigger",
"z": "ab51b1e8cad7b700",
"g": "20b116b788ef3f27",
"name": "set gate payload",
"op1": "close",
"op2": "open",
"op1type": "str",
"op2type": "str",
"duration": "1",
"extend": true,
"overrideDelay": false,
"units": "s",
"reset": "",
"bytopic": "all",
"topic": "topic",
"outputs": 2,
"x": 4860,
"y": 3300,
"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": 3300,
"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": 3180,
"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": 3300,
"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": 3240,
"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": 3240,
"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": 3180,
"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": 3180,
"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": 3120,
"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": 3180,
"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": 3000,
"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": 3000,
"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": 3060,
"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"
],
"x": 1655,
"y": 5880,
"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": 5880,
"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": 5820,
"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": 5820,
"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": 5880,
"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": 5880,
"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": 4860,
"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": 4860,
"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": 4920,
"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": 5520,
"wires": [
[
"21fbe912a43d9c26"
]
]
},
{
"id": "a330cf9fee227d5f",
"type": "link in",
"z": "ab51b1e8cad7b700",
"g": "b96253f786c81415",
"name": "auto - model - in",
"links": [
"e9fecb57cdb7b4a1",
"8fcde35bc940d97d"
],
"x": 135,
"y": 5520,
"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": 5520,
"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": 5520,
"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": 5520,
"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": 5460,
"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": 5520,
"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": 5520,
"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": 5520,
"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": 5520,
"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": 5520,
"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": 5520,
"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": 5520,
"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": 6240,
"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": 5700,
"wires": []
},
{
"id": "21fbe912a43d9c26",
"type": "link out",
"z": "ab51b1e8cad7b700",
"g": "abae3c836f2269b3",
"name": "auto - model - out",
"mode": "link",
"links": [
"d55073835b5cbfc3",
"bc08df821dc21092"
],
"x": 2155,
"y": 5520,
"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": 4020,
"wires": [
[],
[
"e287e4f4d7f3a174"
]
]
},
{
"id": "f1898b7dbc641cd6",
"type": "link out",
"z": "ab51b1e8cad7b700",
"g": "4937527cddd45b61",
"name": "auto - devices",
"mode": "link",
"links": [
"949a8ee5f18f108a",
"f8e0f90e214e5ff9"
],
"x": 3395,
"y": 5820,
"wires": []
},
{
"id": "a9b3a11e9a293e92",
"type": "link out",
"z": "ab51b1e8cad7b700",
"g": "20b116b788ef3f27",
"name": "kernel - undefined metric",
"mode": "link",
"links": [
"24e4813caee6f465",
"d40db95f9a154c3a"
],
"x": 1655,
"y": 3060,
"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": 3060,
"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": 3060,
"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": 4260,
"wires": [
[
"9d4a1f539c9bf58c"
]
]
},
{
"id": "e8b0c3f8741a0a4c",
"type": "link out",
"z": "ab51b1e8cad7b700",
"g": "bc29c56f900c8d36",
"name": "kernel - write to file",
"mode": "return",
"links": [],
"x": 1235,
"y": 4260,
"wires": []
},
{
"id": "360839bebc94f209",
"type": "link out",
"z": "ab51b1e8cad7b700",
"g": "89e3a9e072e3026b",
"name": "kernel - read from file",
"mode": "return",
"links": [],
"x": 4315,
"y": 4440,
"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": 4260,
"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": 4440,
"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": 4260,
"wires": [
[
"7b3cd053cd0845dd"
]
]
},
{
"id": "ee6803ada17495f7",
"type": "link in",
"z": "ab51b1e8cad7b700",
"g": "220c62e3365abccb",
"name": "kernel - globals backup auto",
"links": [
"287d719de575c01f"
],
"x": 135,
"y": 4740,
"wires": [
[
"4b78e717c0cdd9be"
]
]
},
{
"id": "89536711b1832785",
"type": "link call",
"z": "ab51b1e8cad7b700",
"g": "220c62e3365abccb",
"name": "",
"links": [
"432e8063fae7039e"
],
"linkType": "static",
"timeout": "30",
"x": 590,
"y": 4740,
"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": 860,
"y": 4740,
"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": 3240,
"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": 3300,
"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": 1580,
"y": 6780,
"wires": [
[
"19a5c46ec6c71456"
]
]
},
{
"id": "652fac9e798d902c",
"type": "inject",
"z": "ab51b1e8cad7b700",
"g": "220c62e3365abccb",
"name": "toggle",
"props": [
{
"p": "topic",
"vt": "str"
},
{
"p": "payload"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "gate backup",
"payload": "toggle",
"payloadType": "str",
"x": 190,
"y": 4680,
"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": 370,
"y": 4740,
"wires": [
[
"89536711b1832785"
]
]
},
{
"id": "49e3a0945c3b8a8b",
"type": "inject",
"z": "ab51b1e8cad7b700",
"g": "220c62e3365abccb",
"name": "write",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "",
"payloadType": "str",
"x": 390,
"y": 4680,
"wires": [
[
"89536711b1832785"
]
]
},
{
"id": "524ae516f19cd658",
"type": "debug",
"z": "ab51b1e8cad7b700",
"g": "96d8990f6a4978cc",
"name": "debug 2",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"statusVal": "",
"statusType": "auto",
"x": 7500,
"y": 2940,
"wires": []
},
{
"id": "aac43257414dfd8f",
"type": "debug",
"z": "ab51b1e8cad7b700",
"g": "96d8990f6a4978cc",
"name": "debug 4",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"statusVal": "",
"statusType": "auto",
"x": 7500,
"y": 3000,
"wires": []
},
{
"id": "208df23ea752ffdf",
"type": "link in",
"z": "ab51b1e8cad7b700",
"g": "d1b208e623179a25",
"name": "mqtt nodered - gate metric",
"links": [
"0834ba091c1e77d9"
],
"x": 255,
"y": 6840,
"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": 2700,
"wires": [
[
"004bb30c27c94fb4"
]
]
},
{
"id": "54d6b2cd150e1e9f",
"type": "link in",
"z": "ab51b1e8cad7b700",
"g": "a762a7a552cb9f03",
"name": "kernel - cron - gate cron",
"links": [
"1f25921d9d3cd9af"
],
"x": 275,
"y": 2640,
"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": 2760,
"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": 2820,
"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": 2880,
"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": 6120,
"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": 6180,
"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": 5760,
"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": 4380,
"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": 4440,
"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": 4440,
"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": 4380,
"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": 4440,
"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": 4380,
"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": 4440,
"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": 4380,
"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": 4440,
"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": 4380,
"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": 4440,
"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": 4380,
"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": 4440,
"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": 4380,
"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": 4440,
"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": 4380,
"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": 4440,
"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": 4380,
"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": 5160,
"wires": []
},
{
"id": "6eafb2a9c1ec95c0",
"type": "link in",
"z": "ab51b1e8cad7b700",
"g": "d62c9cf0cb81a537",
"name": "auto - room",
"links": [
"a0f0f63b3934f168",
"ca7b372f821ad44a",
"e928798f23941942",
"5eec592fe4dcd9f3"
],
"x": 135,
"y": 5280,
"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": 5220,
"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": "true",
"tot": "bool"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 500,
"y": 5220,
"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": 5280,
"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": 5220,
"wires": [
[
"92d4def3b42f658e"
],
[
"cc946bae3f4b46d8"
]
]
},
{
"id": "6b5dd5979114ad9c",
"type": "comment",
"z": "ab51b1e8cad7b700",
"g": "d62c9cf0cb81a537",
"name": "buckets which are rooms",
"info": "",
"x": 930,
"y": 5160,
"wires": []
},
{
"id": "a1dbeb8cf51c3366",
"type": "inject",
"z": "ab51b1e8cad7b700",
"g": "d62c9cf0cb81a537",
"name": "manuel - update rooms",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "",
"payloadType": "date",
"x": 240,
"y": 5160,
"wires": [
[
"4e5188bf59004a54"
]
]
},
{
"id": "92d4def3b42f658e",
"type": "link out",
"z": "ab51b1e8cad7b700",
"g": "d62c9cf0cb81a537",
"name": "auto - room",
"mode": "link",
"links": [
"4a37f8f670a1c789"
],
"x": 1315,
"y": 5220,
"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": 5880,
"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": 5880,
"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": 5880,
"wires": [
[
"c3d88e1872a9789b"
]
]
},
{
"id": "8c9e51e853c941fe",
"type": "inject",
"z": "ab51b1e8cad7b700",
"g": "bd21a8b1786d3ed2",
"name": "manuel - update entities",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "",
"payloadType": "date",
"x": 240,
"y": 5820,
"wires": [
[
"25579c2b6bf10a53"
]
]
},
{
"id": "c0f805841b9314df",
"type": "comment",
"z": "ab51b1e8cad7b700",
"g": "4937527cddd45b61",
"name": "register \"manual\" and \"auto\" devices",
"info": "",
"x": 1780,
"y": 5700,
"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": 3120,
"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": 3180,
"wires": [
[
"9f055c7cccb634c1",
"68ad3074767eb2c3"
]
]
},
{
"id": "d4c051fdcf3414f6",
"type": "link in",
"z": "ab51b1e8cad7b700",
"g": "20b116b788ef3f27",
"name": "kernel - metric - gate loop",
"links": [
"094771ea30e6c0b6"
],
"x": 3575,
"y": 3060,
"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": 410,
"y": 6780,
"wires": [
[
"b961d989c357e6d6"
]
]
},
{
"id": "50597b4a81f39149",
"type": "link out",
"z": "ab51b1e8cad7b700",
"g": "20b116b788ef3f27",
"name": "kernel - metric - metric set",
"mode": "link",
"links": [
"6df8e501fdf43d1d"
],
"x": 3675,
"y": 3240,
"wires": []
},
{
"id": "86ce0c124789fd0d",
"type": "link out",
"z": "ab51b1e8cad7b700",
"g": "20b116b788ef3f27",
"name": "kernel - metric - gate loop - close",
"mode": "link",
"links": [
"da3a9220d88fc434"
],
"x": 5015,
"y": 3300,
"wires": []
},
{
"id": "b5c48a301d98335a",
"type": "link out",
"z": "ab51b1e8cad7b700",
"g": "20b116b788ef3f27",
"name": "kernel - metric - gate loop - open",
"mode": "link",
"links": [
"3736e2a70e80e34c"
],
"x": 5015,
"y": 3360,
"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": 4560,
"wires": [
[
"dd0d5e40cc4e4720"
]
]
},
{
"id": "2b4359a348c810a9",
"type": "link in",
"z": "ab51b1e8cad7b700",
"g": "014c7a6e2061521c",
"name": "kernet - reset globals",
"links": [],
"x": 135,
"y": 4560,
"wires": [
[
"da5c4af310dfc518"
]
]
},
{
"id": "dd0d5e40cc4e4720",
"type": "link out",
"z": "ab51b1e8cad7b700",
"g": "014c7a6e2061521c",
"name": "kernet - reset globals",
"mode": "return",
"links": [],
"x": 435,
"y": 4560,
"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"
],
"x": 565,
"y": 2340,
"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": 2400,
"wires": [
[
"67fe8560e3a5ea8b",
"aa05e8cb5d649408",
"2690d0c451f0a6fb"
]
]
},
{
"id": "d6f403ba291b1b17",
"type": "link out",
"z": "ab51b1e8cad7b700",
"g": "0aad38bc7c7fc52c",
"name": "boot - ui",
"mode": "return",
"links": [],
"x": 1355,
"y": 2340,
"wires": []
},
{
"id": "c5fb211c91dfecd9",
"type": "link in",
"z": "ab51b1e8cad7b700",
"g": "0aad38bc7c7fc52c",
"name": "boot - ui",
"links": [],
"x": 135,
"y": 2400,
"wires": [
[
"f8a803c79526f098"
]
]
},
{
"id": "f2b60619986117f0",
"type": "link in",
"z": "ab51b1e8cad7b700",
"g": "0aad38bc7c7fc52c",
"name": "boot - ui - through",
"links": [],
"x": 735,
"y": 2340,
"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": 2400,
"wires": [
[
"e509e8b44c9007e1",
"6d2567ef31684111"
]
]
},
{
"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": 2460,
"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": 2400,
"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": 2340,
"wires": [
[
"d6f403ba291b1b17"
]
]
},
{
"id": "655a5cf856c9ceaf",
"type": "link in",
"z": "ab51b1e8cad7b700",
"g": "b275fd7f45bdbb21",
"name": "boot - target",
"links": [],
"x": 135,
"y": 2160,
"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": 2220,
"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": 2160,
"wires": [
[
"c9799d253d22c02c",
"3b11ad218d612937",
"9f1da32513c2e9f7"
]
]
},
{
"id": "badca31e722b250c",
"type": "link out",
"z": "ab51b1e8cad7b700",
"g": "b275fd7f45bdbb21",
"name": "boot - target",
"mode": "return",
"links": [],
"x": 1355,
"y": 2100,
"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": 2160,
"wires": [
[
"91208239fbe15797",
"540a4408ff1d85b1"
]
]
},
{
"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": 2160,
"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": 2100,
"wires": [
[
"badca31e722b250c"
]
]
},
{
"id": "91208239fbe15797",
"type": "link out",
"z": "ab51b1e8cad7b700",
"g": "b275fd7f45bdbb21",
"name": "boot - target - through",
"mode": "link",
"links": [
"fd307e7cbbb08a89"
],
"x": 555,
"y": 2100,
"wires": []
},
{
"id": "65ca2d9dc3ae858d",
"type": "link in",
"z": "ab51b1e8cad7b700",
"g": "b275fd7f45bdbb21",
"name": "boot - target - through",
"links": [],
"x": 735,
"y": 2100,
"wires": [
[
"540a4408ff1d85b1"
]
]
},
{
"id": "13af35e83310ba58",
"type": "link in",
"z": "ab51b1e8cad7b700",
"g": "3e8ea39ffdb422c0",
"name": "boot - source",
"links": [],
"x": 135,
"y": 1920,
"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": 1980,
"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": 1920,
"wires": [
[
"735be69fe65e996e",
"d311c3317120581b",
"3d7b06c6e468092c"
]
]
},
{
"id": "a849455254731ba3",
"type": "link out",
"z": "ab51b1e8cad7b700",
"g": "3e8ea39ffdb422c0",
"name": "boot - source",
"mode": "return",
"links": [],
"x": 1355,
"y": 1860,
"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": 1920,
"wires": [
[
"e83e0bde60108cf0",
"a9e0aedc47d23df0"
]
]
},
{
"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": 1920,
"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": 1860,
"wires": [
[
"a849455254731ba3"
]
]
},
{
"id": "e83e0bde60108cf0",
"type": "link out",
"z": "ab51b1e8cad7b700",
"g": "3e8ea39ffdb422c0",
"name": "boot - source - through",
"mode": "link",
"links": [
"b70a3e673499fb87",
"33f7a250a7341c43"
],
"x": 575,
"y": 1860,
"wires": []
},
{
"id": "441347a44abdcdd1",
"type": "link in",
"z": "ab51b1e8cad7b700",
"g": "3e8ea39ffdb422c0",
"name": "boot - source - through",
"links": [],
"x": 735,
"y": 1860,
"wires": [
[
"a9e0aedc47d23df0"
]
]
},
{
"id": "9caf1f4f5fa6e06f",
"type": "link in",
"z": "ab51b1e8cad7b700",
"g": "8c9efe133dabdae7",
"name": "boot - metric",
"links": [],
"x": 135,
"y": 1680,
"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": 1740,
"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": 1680,
"wires": [
[
"7074b27a2ba9fa43",
"44008e5fa92b3b16",
"5bdc08d812013590"
]
]
},
{
"id": "06b6001416bcae48",
"type": "link out",
"z": "ab51b1e8cad7b700",
"g": "8c9efe133dabdae7",
"name": "boot - metric",
"mode": "return",
"links": [],
"x": 1355,
"y": 1620,
"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": 1680,
"wires": [
[
"9063c8e998532e1c",
"337b32e93ceab701"
]
]
},
{
"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": 1680,
"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": 1620,
"wires": [
[
"06b6001416bcae48"
]
]
},
{
"id": "9063c8e998532e1c",
"type": "link out",
"z": "ab51b1e8cad7b700",
"g": "8c9efe133dabdae7",
"name": "boot - metric - through",
"mode": "link",
"links": [
"92ceeb434c3fc82a"
],
"x": 555,
"y": 1620,
"wires": []
},
{
"id": "6df8e501fdf43d1d",
"type": "link in",
"z": "ab51b1e8cad7b700",
"g": "8c9efe133dabdae7",
"name": "boot - metric - through",
"links": [
"50597b4a81f39149"
],
"x": 735,
"y": 1620,
"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"
],
"x": 555,
"y": 1380,
"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": 1440,
"wires": [
[
"053978e43d953de7",
"68483bdd8d2582ac",
"e57e9117be76de70"
]
]
},
{
"id": "d065878b964a95b9",
"type": "link in",
"z": "ab51b1e8cad7b700",
"g": "7e85ca5b11887906",
"name": "boot - device",
"links": [],
"x": 135,
"y": 1440,
"wires": [
[
"0446e708929e4ba7"
]
]
},
{
"id": "f8e0f90e214e5ff9",
"type": "link in",
"z": "ab51b1e8cad7b700",
"g": "7e85ca5b11887906",
"name": "boot - device - through",
"links": [
"f1898b7dbc641cd6"
],
"x": 735,
"y": 1380,
"wires": [
[
"3c377256ce6452b1"
]
]
},
{
"id": "fbfdc7db2904aa04",
"type": "link out",
"z": "ab51b1e8cad7b700",
"g": "7e85ca5b11887906",
"name": "boot - device",
"mode": "return",
"links": [],
"x": 1355,
"y": 1380,
"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": 1440,
"wires": [
[
"3fe55eddaf0140ee",
"3c377256ce6452b1"
]
]
},
{
"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": 1500,
"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": 1440,
"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": 1380,
"wires": [
[
"fbfdc7db2904aa04"
]
]
},
{
"id": "8fcde35bc940d97d",
"type": "link out",
"z": "ab51b1e8cad7b700",
"g": "89ff0d2f726ec1fc",
"name": "boot - model - through",
"mode": "link",
"links": [
"a330cf9fee227d5f"
],
"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"
],
"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",
"7231ce2c453a544d",
"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": 1200,
"wires": [
[
"8fcde35bc940d97d",
"9d227dc0fe3db54e"
]
]
},
{
"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": 1260,
"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"
],
"x": 555,
"y": 900,
"wires": []
},
{
"id": "4a37f8f670a1c789",
"type": "link in",
"z": "ab51b1e8cad7b700",
"g": "e5bf46d1b71f880e",
"name": "boot - room - through",
"links": [
"92d4def3b42f658e"
],
"x": 735,
"y": 900,
"wires": [
[
"2bf2a3570ad9a4a9"
]
]
},
{
"id": "2696413f79392626",
"type": "link in",
"z": "ab51b1e8cad7b700",
"g": "e5bf46d1b71f880e",
"name": "boot - room",
"links": [],
"x": 135,
"y": 960,
"wires": [
[
"067bd84f68076a3e"
]
]
},
{
"id": "ab95e932d610db1d",
"type": "link out",
"z": "ab51b1e8cad7b700",
"g": "e5bf46d1b71f880e",
"name": "boot - room",
"mode": "return",
"links": [],
"x": 1355,
"y": 900,
"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": 960,
"wires": [
[
"17ea7f224128b5c0",
"20d67c2a6d0b8edb",
"0bf33511b0560853"
]
]
},
{
"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",
"2bf2a3570ad9a4a9"
]
]
},
{
"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": 960,
"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": 900,
"wires": [
[
"ab95e932d610db1d"
]
]
},
{
"id": "20d67c2a6d0b8edb",
"type": "change",
"z": "ab51b1e8cad7b700",
"g": "e5bf46d1b71f880e",
"name": "close",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "close",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 1230,
"y": 1020,
"wires": [
[
"9fefafa2d9c783e4"
]
]
},
{
"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": 360,
"wires": [
[
"7946b5daf9746284",
"ba7189be579ed3f7"
]
]
},
{
"id": "b8e0e2e88c603fca",
"type": "link call",
"z": "ab51b1e8cad7b700",
"g": "3cfc986cc7920ab6",
"name": "",
"links": [
"2696413f79392626"
],
"linkType": "static",
"timeout": "30",
"x": 1370,
"y": 360,
"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": 780,
"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": 780,
"wires": [
[
"545f1b4d3138c6ac"
]
]
},
{
"id": "d4df4da5210bac26",
"type": "link call",
"z": "ab51b1e8cad7b700",
"g": "3cfc986cc7920ab6",
"name": "",
"links": [
"395376d7e73da017"
],
"linkType": "static",
"timeout": "30",
"x": 2170,
"y": 660,
"wires": [
[
"2c10cdbc0032073a"
]
]
},
{
"id": "2c10cdbc0032073a",
"type": "link call",
"z": "ab51b1e8cad7b700",
"g": "3cfc986cc7920ab6",
"name": "",
"links": [
"d065878b964a95b9"
],
"linkType": "static",
"timeout": "30",
"x": 2370,
"y": 660,
"wires": [
[
"c79aa834b70e4674"
]
]
},
{
"id": "c79aa834b70e4674",
"type": "link call",
"z": "ab51b1e8cad7b700",
"g": "3cfc986cc7920ab6",
"name": "",
"links": [
"c5fb211c91dfecd9"
],
"linkType": "static",
"timeout": "30",
"x": 2560,
"y": 360,
"wires": [
[
"c0e7c42d02244806",
"7f34b93be6dd1ae0",
"0bc70d755d037eeb"
]
]
},
{
"id": "0ec7eb2b525d4265",
"type": "link call",
"z": "ab51b1e8cad7b700",
"g": "3cfc986cc7920ab6",
"name": "",
"links": [
"9caf1f4f5fa6e06f"
],
"linkType": "static",
"timeout": "30",
"x": 1970,
"y": 360,
"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": 300,
"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": 2520,
"y": 300,
"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": 360,
"wires": [
[
"84052fb7696fd419"
]
]
},
{
"id": "b76dfebb811b14bd",
"type": "link out",
"z": "ab51b1e8cad7b700",
"g": "3cfc986cc7920ab6",
"name": "boot - end",
"mode": "link",
"links": [
"3b2c87205ae7f992"
],
"x": 2855,
"y": 360,
"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": 360,
"wires": [
[
"b76dfebb811b14bd"
]
]
},
{
"id": "2081f5ebb7403922",
"type": "link call",
"z": "ab51b1e8cad7b700",
"g": "3cfc986cc7920ab6",
"name": "",
"links": [
"13af35e83310ba58"
],
"linkType": "static",
"timeout": "30",
"x": 2170,
"y": 360,
"wires": [
[
"778b2cff1fa0da1f"
]
]
},
{
"id": "778b2cff1fa0da1f",
"type": "link call",
"z": "ab51b1e8cad7b700",
"g": "3cfc986cc7920ab6",
"name": "",
"links": [
"655a5cf856c9ceaf"
],
"linkType": "static",
"timeout": "30",
"x": 2370,
"y": 360,
"wires": [
[
"c79aa834b70e4674"
]
]
},
{
"id": "9bac1aa814ac44eb",
"type": "link in",
"z": "ab51b1e8cad7b700",
"g": "3cfc986cc7920ab6",
"name": "boot - device",
"links": [
"1d9d8c969ccdf2be",
"68a233d0b60bf782",
"72f3d70342e83655",
"a21488eb16a467fa",
"fdea9ff531a587a8"
],
"x": 315,
"y": 720,
"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": 660,
"wires": [
[
"a112027247cda662",
"ba7189be579ed3f7"
]
]
},
{
"id": "ea9e1a4ab2b74ceb",
"type": "link call",
"z": "ab51b1e8cad7b700",
"g": "3cfc986cc7920ab6",
"name": "",
"links": [
"395376d7e73da017"
],
"linkType": "static",
"timeout": "30",
"x": 1570,
"y": 360,
"wires": [
[
"c43fe34582a0b3eb"
]
]
},
{
"id": "c43fe34582a0b3eb",
"type": "link call",
"z": "ab51b1e8cad7b700",
"g": "3cfc986cc7920ab6",
"name": "",
"links": [
"d065878b964a95b9"
],
"linkType": "static",
"timeout": "30",
"x": 1770,
"y": 360,
"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": 660,
"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": 300,
"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": 300,
"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": 240,
"wires": [
[
"64ea196fcdd442ae"
]
]
},
{
"id": "db21979f63985719",
"type": "link in",
"z": "ab51b1e8cad7b700",
"g": "3cfc986cc7920ab6",
"name": "boot - reboot",
"links": [
"cc58fa2dc61acc60"
],
"x": 315,
"y": 300,
"wires": [
[
"64ea196fcdd442ae"
]
]
},
{
"id": "64ea196fcdd442ae",
"type": "link call",
"z": "ab51b1e8cad7b700",
"g": "3cfc986cc7920ab6",
"name": "",
"links": [
"432e8063fae7039e"
],
"linkType": "static",
"timeout": "30",
"x": 490,
"y": 300,
"wires": [
[
"dd10b513ac7a04ec"
]
]
},
{
"id": "84052fb7696fd419",
"type": "link call",
"z": "ab51b1e8cad7b700",
"g": "3cfc986cc7920ab6",
"name": "",
"links": [
"797eac89000183db"
],
"linkType": "static",
"timeout": "30",
"x": 1160,
"y": 360,
"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": 540,
"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": 540,
"wires": [
[
"f17d156bf6d2ea64"
]
]
},
{
"id": "f17d156bf6d2ea64",
"type": "link call",
"z": "ab51b1e8cad7b700",
"g": "3cfc986cc7920ab6",
"name": "",
"links": [
"2b4359a348c810a9"
],
"linkType": "static",
"timeout": "30",
"x": 920,
"y": 540,
"wires": [
[
"84052fb7696fd419"
]
]
},
{
"id": "e2bf4b31ba67aab2",
"type": "link in",
"z": "ab51b1e8cad7b700",
"g": "3cfc986cc7920ab6",
"name": "boot - raz",
"links": [],
"x": 315,
"y": 600,
"wires": [
[
"67d67876268d5804",
"ba7189be579ed3f7"
]
]
},
{
"id": "bd3bd1809096e016",
"type": "change",
"z": "ab51b1e8cad7b700",
"g": "7a4b3188c2585365",
"name": "gate metric",
"rules": [
{
"t": "set",
"p": "topic",
"pt": "msg",
"to": "gate metric",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 1850,
"y": 1020,
"wires": [
[
"0834ba091c1e77d9",
"fcb2ec1001ceb323"
]
]
},
{
"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": 1020,
"wires": [
[
"bd3bd1809096e016"
]
]
},
{
"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": 1080,
"wires": [
[
"bd3bd1809096e016"
]
]
},
{
"id": "0834ba091c1e77d9",
"type": "link out",
"z": "ab51b1e8cad7b700",
"g": "7a4b3188c2585365",
"name": "gate - metric",
"mode": "link",
"links": [
"206c1fb4a48067df",
"208df23ea752ffdf"
],
"x": 1995,
"y": 1020,
"wires": []
},
{
"id": "92ceeb434c3fc82a",
"type": "link in",
"z": "ab51b1e8cad7b700",
"g": "7a4b3188c2585365",
"name": "gate - metric - open",
"links": [
"17fe5558043cd1c3",
"1a0d4d8a15723f6c",
"9063c8e998532e1c",
"c0e7c42d02244806"
],
"x": 1535,
"y": 1020,
"wires": [
[
"2ed07fe223d2313f"
]
]
},
{
"id": "064e02a8998b5685",
"type": "link in",
"z": "ab51b1e8cad7b700",
"g": "7a4b3188c2585365",
"name": "gate - metric - close",
"links": [
"4ccc6c10af26c436",
"545f1b4d3138c6ac"
],
"x": 1535,
"y": 1080,
"wires": [
[
"62899a3642eec3a6"
]
]
},
{
"id": "7e0629ebb334ac92",
"type": "change",
"z": "ab51b1e8cad7b700",
"g": "666fb3757c3b2f1c",
"name": "gate source",
"rules": [
{
"t": "set",
"p": "topic",
"pt": "msg",
"to": "gate source",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 1850,
"y": 1200,
"wires": [
[
"f1a09e5456fe03fe",
"4b2af8c17ceca370"
]
]
},
{
"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": 1200,
"wires": [
[
"7e0629ebb334ac92"
]
]
},
{
"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": 1260,
"wires": [
[
"7e0629ebb334ac92"
]
]
},
{
"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": 1995,
"y": 1200,
"wires": []
},
{
"id": "b70a3e673499fb87",
"type": "link in",
"z": "ab51b1e8cad7b700",
"g": "666fb3757c3b2f1c",
"name": "gate - source - open",
"links": [
"17fe5558043cd1c3",
"c0e7c42d02244806",
"e83e0bde60108cf0"
],
"x": 1535,
"y": 1200,
"wires": [
[
"ef8370083ab88ead"
]
]
},
{
"id": "833b9eac78de9c81",
"type": "link in",
"z": "ab51b1e8cad7b700",
"g": "666fb3757c3b2f1c",
"name": "gate - source - close",
"links": [
"545f1b4d3138c6ac"
],
"x": 1535,
"y": 1260,
"wires": [
[
"aa0c22b1ba7c2676"
]
]
},
{
"id": "a1c9d3b6fe93bd68",
"type": "change",
"z": "ab51b1e8cad7b700",
"g": "c41724b0a7d79959",
"name": "gate target",
"rules": [
{
"t": "set",
"p": "topic",
"pt": "msg",
"to": "gate target",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 1850,
"y": 1380,
"wires": [
[
"95ce18294052c029",
"5a779f9b34c8259b"
]
]
},
{
"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": 1380,
"wires": [
[
"a1c9d3b6fe93bd68"
]
]
},
{
"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": 1440,
"wires": [
[
"a1c9d3b6fe93bd68"
]
]
},
{
"id": "95ce18294052c029",
"type": "link out",
"z": "ab51b1e8cad7b700",
"g": "c41724b0a7d79959",
"name": "gate - target",
"mode": "link",
"links": [
"6c324b24ca028984",
"de0c34e8104574b0",
"5d53068f8b9e6936",
"62dd3e8d6c87a0f9",
"55db3023ac9ae3c1"
],
"x": 1995,
"y": 1380,
"wires": []
},
{
"id": "fd307e7cbbb08a89",
"type": "link in",
"z": "ab51b1e8cad7b700",
"g": "c41724b0a7d79959",
"name": "gate - target - open",
"links": [
"17fe5558043cd1c3",
"c0e7c42d02244806",
"91208239fbe15797"
],
"x": 1535,
"y": 1380,
"wires": [
[
"1f0f01c3fc8e207b"
]
]
},
{
"id": "8014ec6e193d9901",
"type": "link in",
"z": "ab51b1e8cad7b700",
"g": "c41724b0a7d79959",
"name": "gate - target - close",
"links": [
"545f1b4d3138c6ac"
],
"x": 1535,
"y": 1440,
"wires": [
[
"8df0f11b7b695158"
]
]
},
{
"id": "094771ea30e6c0b6",
"type": "link out",
"z": "ab51b1e8cad7b700",
"g": "9de0cb5fad576e92",
"name": "gate - loop",
"mode": "link",
"links": [
"d4c051fdcf3414f6",
"d40db95f9a154c3a",
"3a5d788b6c9b1490",
"8f3269222142f0f4"
],
"x": 1995,
"y": 1560,
"wires": []
},
{
"id": "df8631819a592f91",
"type": "change",
"z": "ab51b1e8cad7b700",
"g": "9de0cb5fad576e92",
"name": "gate loop",
"rules": [
{
"t": "set",
"p": "topic",
"pt": "msg",
"to": "gate loop",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 1840,
"y": 1560,
"wires": [
[
"094771ea30e6c0b6",
"3a35aa53aaedf198"
]
]
},
{
"id": "3736e2a70e80e34c",
"type": "link in",
"z": "ab51b1e8cad7b700",
"g": "9de0cb5fad576e92",
"name": "gate - loop - open",
"links": [
"17fe5558043cd1c3",
"1a0d4d8a15723f6c",
"c0e7c42d02244806",
"b5c48a301d98335a",
"c3c13d6fa17c274d"
],
"x": 1535,
"y": 1560,
"wires": [
[
"6df2ba0f14893390"
]
]
},
{
"id": "da3a9220d88fc434",
"type": "link in",
"z": "ab51b1e8cad7b700",
"g": "9de0cb5fad576e92",
"name": "gate - loop - close",
"links": [
"4ccc6c10af26c436",
"86ce0c124789fd0d",
"3284f13d382e81d1",
"545f1b4d3138c6ac"
],
"x": 1535,
"y": 1620,
"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": 1560,
"wires": [
[
"df8631819a592f91"
]
]
},
{
"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": 1620,
"wires": [
[
"df8631819a592f91"
]
]
},
{
"id": "6bf4713643c9a8ea",
"type": "change",
"z": "ab51b1e8cad7b700",
"g": "8743bc87eb8d2a91",
"name": "gate scene",
"rules": [
{
"t": "set",
"p": "topic",
"pt": "msg",
"to": "gate scene",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 1850,
"y": 1740,
"wires": [
[
"427c0a5a050502e2",
"2e871c6f42a5b449"
]
]
},
{
"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": 1740,
"wires": [
[
"6bf4713643c9a8ea"
]
]
},
{
"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": 1800,
"wires": [
[
"6bf4713643c9a8ea"
]
]
},
{
"id": "427c0a5a050502e2",
"type": "link out",
"z": "ab51b1e8cad7b700",
"g": "8743bc87eb8d2a91",
"name": "gate - scene",
"mode": "link",
"links": [
"6e5d97fd5f511366",
"f05d34dd5ff9746b"
],
"x": 1995,
"y": 1740,
"wires": []
},
{
"id": "eafdb7e55edcd0a2",
"type": "link in",
"z": "ab51b1e8cad7b700",
"g": "8743bc87eb8d2a91",
"name": "gate - scene - open",
"links": [
"17fe5558043cd1c3",
"c0e7c42d02244806"
],
"x": 1535,
"y": 1740,
"wires": [
[
"69ed4e47589ccc68"
]
]
},
{
"id": "988dc67119f59ece",
"type": "link in",
"z": "ab51b1e8cad7b700",
"g": "8743bc87eb8d2a91",
"name": "gate - scene - close",
"links": [
"545f1b4d3138c6ac"
],
"x": 1535,
"y": 1800,
"wires": [
[
"05f0bbf93f1d5bf5"
]
]
},
{
"id": "1f25921d9d3cd9af",
"type": "link out",
"z": "ab51b1e8cad7b700",
"g": "5429d0542d3e1152",
"name": "gate - cron",
"mode": "link",
"links": [
"54d6b2cd150e1e9f"
],
"x": 1995,
"y": 1920,
"wires": []
},
{
"id": "5072ab8bdc575040",
"type": "change",
"z": "ab51b1e8cad7b700",
"g": "5429d0542d3e1152",
"name": "gate cron",
"rules": [
{
"t": "set",
"p": "topic",
"pt": "msg",
"to": "gate cron",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 1840,
"y": 1920,
"wires": [
[
"1f25921d9d3cd9af",
"2016081ae13486e5"
]
]
},
{
"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": 1920,
"wires": [
[
"5072ab8bdc575040"
]
]
},
{
"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": 1980,
"wires": [
[
"5072ab8bdc575040"
]
]
},
{
"id": "504eeb064b15edb2",
"type": "link in",
"z": "ab51b1e8cad7b700",
"g": "5429d0542d3e1152",
"name": "gate - cron - open",
"links": [
"1a0d4d8a15723f6c",
"17fe5558043cd1c3",
"c0e7c42d02244806"
],
"x": 1535,
"y": 1920,
"wires": [
[
"504daced117e4792"
]
]
},
{
"id": "29e7b98cef832784",
"type": "link in",
"z": "ab51b1e8cad7b700",
"g": "5429d0542d3e1152",
"name": "gate - cron - close",
"links": [
"4ccc6c10af26c436",
"545f1b4d3138c6ac"
],
"x": 1535,
"y": 1980,
"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": 900,
"wires": [
[
"0639c6cf728f6b70"
]
]
},
{
"id": "0639c6cf728f6b70",
"type": "debug",
"z": "ab51b1e8cad7b700",
"g": "ea98356204959d40",
"name": "boot - step message",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 1720,
"y": 900,
"wires": []
},
{
"id": "b879ca6cfab8067b",
"type": "link out",
"z": "ab51b1e8cad7b700",
"g": "e5bf46d1b71f880e",
"name": "boot - room - step message",
"mode": "link",
"links": [
"c0cbe8411bd6dfcc"
],
"x": 1355,
"y": 960,
"wires": []
},
{
"id": "0bf33511b0560853",
"type": "change",
"z": "ab51b1e8cad7b700",
"g": "e5bf46d1b71f880e",
"name": "step",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "boot - room - end",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 1230,
"y": 960,
"wires": [
[
"b879ca6cfab8067b"
]
]
},
{
"id": "7231ce2c453a544d",
"type": "change",
"z": "ab51b1e8cad7b700",
"g": "89ff0d2f726ec1fc",
"name": "step",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "boot - model - end",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 1230,
"y": 1200,
"wires": [
[
"2184c8fc6df4c103"
]
]
},
{
"id": "2184c8fc6df4c103",
"type": "link out",
"z": "ab51b1e8cad7b700",
"g": "89ff0d2f726ec1fc",
"name": "boot - model- step message",
"mode": "link",
"links": [
"c0cbe8411bd6dfcc"
],
"x": 1355,
"y": 1200,
"wires": []
},
{
"id": "68483bdd8d2582ac",
"type": "change",
"z": "ab51b1e8cad7b700",
"g": "7e85ca5b11887906",
"name": "step",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "boot - device - end",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 1230,
"y": 1440,
"wires": [
[
"f92f6dcc3724dd04"
]
]
},
{
"id": "f92f6dcc3724dd04",
"type": "link out",
"z": "ab51b1e8cad7b700",
"g": "7e85ca5b11887906",
"name": "boot - device - step message",
"mode": "link",
"links": [
"c0cbe8411bd6dfcc"
],
"x": 1355,
"y": 1440,
"wires": []
},
{
"id": "44008e5fa92b3b16",
"type": "change",
"z": "ab51b1e8cad7b700",
"g": "8c9efe133dabdae7",
"name": "step",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "boot - metric - end",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 1230,
"y": 1680,
"wires": [
[
"0b27931075fedc60"
]
]
},
{
"id": "0b27931075fedc60",
"type": "link out",
"z": "ab51b1e8cad7b700",
"g": "8c9efe133dabdae7",
"name": "boot - metric - step message",
"mode": "link",
"links": [
"c0cbe8411bd6dfcc"
],
"x": 1355,
"y": 1680,
"wires": []
},
{
"id": "d311c3317120581b",
"type": "change",
"z": "ab51b1e8cad7b700",
"g": "3e8ea39ffdb422c0",
"name": "step",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "boot - source - end",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 1230,
"y": 1920,
"wires": [
[
"4b31e327ec827081"
]
]
},
{
"id": "4b31e327ec827081",
"type": "link out",
"z": "ab51b1e8cad7b700",
"g": "3e8ea39ffdb422c0",
"name": "boot - source - step message",
"mode": "link",
"links": [
"c0cbe8411bd6dfcc"
],
"x": 1355,
"y": 1920,
"wires": []
},
{
"id": "3b11ad218d612937",
"type": "change",
"z": "ab51b1e8cad7b700",
"g": "b275fd7f45bdbb21",
"name": "step",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "boot - target - end",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 1230,
"y": 2160,
"wires": [
[
"8c26e5e59e5939b0"
]
]
},
{
"id": "8c26e5e59e5939b0",
"type": "link out",
"z": "ab51b1e8cad7b700",
"g": "b275fd7f45bdbb21",
"name": "boot - target - step message",
"mode": "link",
"links": [
"c0cbe8411bd6dfcc"
],
"x": 1355,
"y": 2160,
"wires": []
},
{
"id": "aa05e8cb5d649408",
"type": "change",
"z": "ab51b1e8cad7b700",
"g": "0aad38bc7c7fc52c",
"name": "step",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "boot - ui - end",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 1230,
"y": 2400,
"wires": [
[
"cbce1107a4000a53"
]
]
},
{
"id": "cbce1107a4000a53",
"type": "link out",
"z": "ab51b1e8cad7b700",
"g": "0aad38bc7c7fc52c",
"name": "boot - ui - step message",
"mode": "link",
"links": [
"c0cbe8411bd6dfcc"
],
"x": 1355,
"y": 2400,
"wires": []
},
{
"id": "0bc70d755d037eeb",
"type": "change",
"z": "ab51b1e8cad7b700",
"g": "3cfc986cc7920ab6",
"name": "step",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "boot - end",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 2730,
"y": 420,
"wires": [
[
"3e16cec67e6dfe9b"
]
]
},
{
"id": "3e16cec67e6dfe9b",
"type": "link out",
"z": "ab51b1e8cad7b700",
"g": "3cfc986cc7920ab6",
"name": "boot - end",
"mode": "link",
"links": [
"c0cbe8411bd6dfcc"
],
"x": 2855,
"y": 720,
"wires": []
},
{
"id": "ba7189be579ed3f7",
"type": "change",
"z": "ab51b1e8cad7b700",
"g": "3cfc986cc7920ab6",
"name": "step",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "boot - start",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 450,
"y": 720,
"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": 960,
"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": 1440,
"wires": [
[
"96ad022ea9d454d9"
]
]
},
{
"id": "19884a3c55ef01e0",
"type": "change",
"z": "ab51b1e8cad7b700",
"g": "89ff0d2f726ec1fc",
"name": "close",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "close",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 1230,
"y": 1260,
"wires": [
[
"31e397def3c2efa3"
]
]
},
{
"id": "e57e9117be76de70",
"type": "change",
"z": "ab51b1e8cad7b700",
"g": "7e85ca5b11887906",
"name": "close",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "close",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 1230,
"y": 1500,
"wires": [
[
"76c80637c0ae864d"
]
]
},
{
"id": "5bdc08d812013590",
"type": "change",
"z": "ab51b1e8cad7b700",
"g": "8c9efe133dabdae7",
"name": "close",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "close",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 1230,
"y": 1740,
"wires": [
[
"328ff4712348d1ce"
]
]
},
{
"id": "3d7b06c6e468092c",
"type": "change",
"z": "ab51b1e8cad7b700",
"g": "3e8ea39ffdb422c0",
"name": "close",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "close",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 1230,
"y": 1980,
"wires": [
[
"edbc4831f0f54cc7"
]
]
},
{
"id": "9f1da32513c2e9f7",
"type": "change",
"z": "ab51b1e8cad7b700",
"g": "b275fd7f45bdbb21",
"name": "close",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "close",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 1230,
"y": 2220,
"wires": [
[
"7867d8054bf06206"
]
]
},
{
"id": "2690d0c451f0a6fb",
"type": "change",
"z": "ab51b1e8cad7b700",
"g": "0aad38bc7c7fc52c",
"name": "close",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "close",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 1230,
"y": 2460,
"wires": [
[
"88c3ff2a107f882e"
]
]
},
{
"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": 1680,
"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": 1920,
"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": 2160,
"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": 2400,
"wires": [
[
"e7ad39a80d1fe019"
]
]
},
{
"id": "fcb2ec1001ceb323",
"type": "function",
"z": "ab51b1e8cad7b700",
"g": "7a4b3188c2585365",
"name": "state",
"func": "// script var\nvar msg = msg;\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}",
"outputs": 0,
"timeout": "",
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 2030,
"y": 1080,
"wires": []
},
{
"id": "4b2af8c17ceca370",
"type": "function",
"z": "ab51b1e8cad7b700",
"g": "666fb3757c3b2f1c",
"name": "state",
"func": "// script var\nvar msg = msg;\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}",
"outputs": 0,
"timeout": "",
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 2030,
"y": 1260,
"wires": []
},
{
"id": "5a779f9b34c8259b",
"type": "function",
"z": "ab51b1e8cad7b700",
"g": "c41724b0a7d79959",
"name": "state",
"func": "// script var\nvar msg = msg;\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}",
"outputs": 0,
"timeout": "",
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 2030,
"y": 1440,
"wires": []
},
{
"id": "3a35aa53aaedf198",
"type": "function",
"z": "ab51b1e8cad7b700",
"g": "9de0cb5fad576e92",
"name": "state",
"func": "// script var\nvar msg = msg;\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}",
"outputs": 0,
"timeout": "",
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 2030,
"y": 1620,
"wires": []
},
{
"id": "2e871c6f42a5b449",
"type": "function",
"z": "ab51b1e8cad7b700",
"g": "8743bc87eb8d2a91",
"name": "state",
"func": "// script var\nvar msg = msg;\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}",
"outputs": 0,
"timeout": "",
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 2030,
"y": 1800,
"wires": []
},
{
"id": "2016081ae13486e5",
"type": "function",
"z": "ab51b1e8cad7b700",
"g": "5429d0542d3e1152",
"name": "state",
"func": "// script var\nvar msg = msg;\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}",
"outputs": 0,
"timeout": "",
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 2030,
"y": 1980,
"wires": []
},
{
"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": 6120,
"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": 6180,
"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": 3300,
"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": 3360,
"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": 3360,
"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": 5280,
"wires": [
[
"4e5188bf59004a54"
],
[
"f7cc8fb174a23f1a"
]
]
},
{
"id": "f7cc8fb174a23f1a",
"type": "change",
"z": "ab51b1e8cad7b700",
"g": "d62c9cf0cb81a537",
"name": "set room to global",
"rules": [
{
"t": "set",
"p": "rooms[msg.room]",
"pt": "global",
"to": "true",
"tot": "bool"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 670,
"y": 5280,
"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": 5880,
"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": 420,
"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": 420,
"wires": [
[
"419ed058d98d30ad"
]
]
},
{
"id": "419ed058d98d30ad",
"type": "link call",
"z": "ab51b1e8cad7b700",
"g": "3cfc986cc7920ab6",
"name": "",
"links": [
"2b4359a348c810a9"
],
"linkType": "static",
"timeout": "30",
"x": 660,
"y": 420,
"wires": [
[
"cb927baab479c03f"
]
]
},
{
"id": "cb927baab479c03f",
"type": "link call",
"z": "ab51b1e8cad7b700",
"g": "3cfc986cc7920ab6",
"name": "",
"links": [
"dfb4b5350a9383c9"
],
"linkType": "static",
"timeout": "30",
"x": 920,
"y": 420,
"wires": [
[
"84052fb7696fd419"
]
]
},
{
"id": "cfe7a728431d4432",
"type": "link in",
"z": "ab51b1e8cad7b700",
"g": "3cfc986cc7920ab6",
"name": "boot - file",
"links": [
"dcf05c7a22428a38"
],
"x": 315,
"y": 480,
"wires": [
[
"3cc6bbbc6844b7b1",
"ba7189be579ed3f7"
]
]
}
]