iotredloop/flows/K.Thermostat.json
2024-08-28 18:04:14 +02:00

11377 lines
No EOL
212 KiB
JSON

[
{
"id": "80f2ffd4953c67e9",
"type": "tab",
"label": "K.Thermostat",
"disabled": false,
"info": "",
"env": []
},
{
"id": "dbf491fd689e7cd2",
"type": "group",
"z": "80f2ffd4953c67e9",
"name": "thermostat - kernel",
"style": {
"fill": "#777777",
"fill-opacity": "0.05",
"label": true
},
"nodes": [
"ccc78d495cbd8f7d",
"e57e9c900c787424",
"8206912d2f9bab36",
"0af18fd6cc155518",
"c311204f22191fa2",
"868902cdeaa428fe",
"467ec12f292b2573",
"6c4b12585b58300e",
"7e9cff1699c061ec",
"272756073495f0a8"
],
"x": 68,
"y": 2393,
"w": 2204,
"h": 2174
},
{
"id": "c3cbb2a2dd06d1bb",
"type": "group",
"z": "80f2ffd4953c67e9",
"name": "thermostat - ui - test",
"style": {
"fill": "#6f2fa0",
"fill-opacity": "0.05",
"label": true
},
"nodes": [
"659f9752db0967bc",
"9caafb8c1719d275",
"515b0c184c8a3628",
"13697bbd73295b46",
"c6fdc57a80266f04",
"b7bc73260cea8570",
"d60c017a8962d3f8",
"dc37631fe73fce2a",
"c932311ec07112b5",
"67e91e753d3708e2",
"a86e51fee3e3458d",
"f974a627497b4b7d",
"809635d5f2efc402",
"c9291360c0f0b490",
"f10733a435dc7390",
"f81152d8df61c845",
"bc4771242d5d3bd8",
"135b7546018ecfba",
"6bf593bd1612dbde",
"64405bce10cccde1",
"bf5b9cb6fe9e3550",
"6e4f87c323cc4659"
],
"x": 94,
"y": 6519,
"w": 1752,
"h": 502
},
{
"id": "1338205554153fa8",
"type": "group",
"z": "80f2ffd4953c67e9",
"name": "catch error",
"style": {
"fill": "#ff0000",
"fill-opacity": "0.05",
"label": true,
"stroke": "#ff0000"
},
"nodes": [
"104783a075f279a3",
"225fbec54fe689f8",
"efdfaa2b7173a43a"
],
"x": 534,
"y": 19,
"w": 422,
"h": 82
},
{
"id": "ef2c257bbe04f8d2",
"type": "group",
"z": "80f2ffd4953c67e9",
"name": "thermostat - trigger",
"style": {
"fill": "#777777",
"fill-opacity": "0.05",
"label": true
},
"nodes": [
"b3bc1717c16dc7dc",
"6f1f772c23d57e24",
"e653f3ec3dc88a8f",
"8ecd405cd0a1e5ac",
"3c533bc3592e06b9",
"f987d89b8997cf8d",
"57656fc40a9ba454"
],
"x": 68,
"y": 4613,
"w": 3284,
"h": 1514
},
{
"id": "9cb08113dfb0f712",
"type": "group",
"z": "80f2ffd4953c67e9",
"name": "thermostat - device",
"style": {
"label": true,
"fill": "#777777",
"fill-opacity": "0.05"
},
"nodes": [
"e6edd4684b272434",
"bb2ebd173a2ba06c",
"eafad08e39c60266",
"f4f5c470dc44c769"
],
"x": 68,
"y": 173,
"w": 6584,
"h": 2174
},
{
"id": "7e9cff1699c061ec",
"type": "group",
"z": "80f2ffd4953c67e9",
"g": "dbf491fd689e7cd2",
"name": "thermostat - compute heat request",
"style": {
"stroke": "#92d04f",
"fill": "#92d04f",
"fill-opacity": "0.05",
"label": true
},
"nodes": [
"1452439e0c937126",
"15d8d0ba06961e4b",
"4b342483a51b0f93",
"9f5320eaa60df7cf"
],
"x": 94,
"y": 2419,
"w": 792,
"h": 142
},
{
"id": "e653f3ec3dc88a8f",
"type": "group",
"z": "80f2ffd4953c67e9",
"g": "ef2c257bbe04f8d2",
"name": "thermostat - trigger - indoor temperature",
"style": {
"fill": "#ff0000",
"fill-opacity": "0.05",
"label": true
},
"nodes": [
"3099e4a17fd21410",
"a2b07c98d61de126",
"d09ad27d05d54698",
"4c169fc26f833802",
"9eb8cf78caf3141d",
"313fbd5fc01985a5",
"b7ffd39578f29c8b",
"c3b17da928d7afba",
"b7a2b83163ce711a"
],
"x": 94,
"y": 4819,
"w": 1692,
"h": 142
},
{
"id": "6f1f772c23d57e24",
"type": "group",
"z": "80f2ffd4953c67e9",
"g": "ef2c257bbe04f8d2",
"name": "thermostat - trigger - offloading",
"style": {
"fill": "#ff0000",
"fill-opacity": "0.05",
"label": true
},
"nodes": [
"079470627ad50e8f",
"155125df6f9f4c8f",
"e34e8e0cc31ce986",
"997102eb65c0f5a6",
"88a5a0ac352fc41d",
"3dcb3769e00444e7",
"436d4c01221aac9b",
"c17018592ee074bc",
"620e2650e654d9f6",
"26ba5f96ea39ad61",
"5e7a96ca03ea3041",
"381cef91081d78b4",
"14218375ec9530c1",
"6e4177612c29fa84",
"8a2948a62f550e2b",
"5bf92e5b12ab168c",
"fbe02bdff670f4bd"
],
"x": 94,
"y": 5419,
"w": 3232,
"h": 142
},
{
"id": "e6edd4684b272434",
"type": "group",
"z": "80f2ffd4953c67e9",
"g": "9cb08113dfb0f712",
"name": "thermostat - device",
"style": {
"label": true,
"fill": "#ffC000",
"fill-opacity": "0.05"
},
"nodes": [
"949a8ee5f18f108a",
"fae8eb23e8443ee5",
"c2589545c2409827",
"55333767f9209bca",
"c5b547a57eb368ad",
"958bbeb30de3eada",
"9ca9625cd3f893dc",
"4efebf9bfd65df96",
"96d26c543c5fcf13",
"5f1e10e5657e3138",
"2039bf8bb21c10d1",
"21d8e3e1da7313ff",
"657fe886d2a3f59f",
"f513b11976d16bb9",
"73c382176ddebc2b",
"a900585cd904a957",
"873ead3b33da82c9",
"e069a71e517cb7ea",
"834fc1d89a1493b3",
"c79982618f4e3345",
"cb222ce1c4c3d7dc",
"3006243d30270236",
"1707bc7a4bb0daa5",
"ea848cdc88365d9a",
"0c919f0ee88983ad",
"780cf693ea55249b",
"fb20d3e29fc3092d",
"2b4f4116011a9ca6",
"07b7d259f0949e49",
"a895f0ea053086fe",
"3683e8f63f0dc5aa",
"bae9495793960012",
"d93c5182974350b0",
"ae60f951124d5757",
"a21d727b6d73b7f1",
"f97b5115e1d99d4b",
"08830b1bec822cd0",
"8f479a7a6d5419a5",
"14793d33b66432fd"
],
"x": 94,
"y": 199,
"w": 1142,
"h": 1882
},
{
"id": "8ecd405cd0a1e5ac",
"type": "group",
"z": "80f2ffd4953c67e9",
"g": "ef2c257bbe04f8d2",
"name": "thermostat - trigger - aperture opened",
"style": {
"fill": "#ff0000",
"fill-opacity": "0.05",
"label": true
},
"nodes": [
"7837b5fcc1432bfa",
"6632e88ee0633e4c",
"87b35783671bc785",
"748b1f355c0e00f8",
"86cb7c12e7bccf56",
"a91a6950282e40e0",
"2b1ba57fb5c945df",
"618c0cd766442117",
"c422635e69d1eaf7",
"092568ca52a77671",
"abef8f252aedce0a",
"632ae6a86b8d4095",
"cff0bca6c0bb1782",
"8d466808ce870af4",
"b315363385257040",
"c86253a53e062d16",
"9a561c9f4fd75edb",
"dba3af356708ccb7",
"3c2f8f4f7cff096c",
"30460d81f866f13d"
],
"x": 94,
"y": 5179,
"w": 2792,
"h": 202
},
{
"id": "b3bc1717c16dc7dc",
"type": "group",
"z": "80f2ffd4953c67e9",
"g": "ef2c257bbe04f8d2",
"name": "thermostat - update - operating mode",
"style": {
"stroke": "#a4a4a4",
"fill": "#92d04f",
"fill-opacity": "0.05",
"label": true
},
"nodes": [
"048bc1e501b0f9f2",
"3b8d8924bdb03f80",
"3e40fc1c77ed372a",
"b461040a6c998b61",
"3c808f997ae66a1c",
"069ab711c0c089a6",
"c20295d9b0ac3419",
"34992e101a5f7e1c",
"36eb92fa692e166c",
"d4c1d964e9c56e01",
"abd02925c2597211",
"e267a0404a5c5d6c",
"758acb218148a1d7",
"0728c8c3564e6e93",
"d1c7f4810b12afe2",
"35ea643afefc732d",
"45bd2f5743776c20",
"d6ec98126b0438ab",
"84f1bb54c15f032d",
"f05d34dd5ff9746b",
"080a2e3d678b9119",
"0cac48ac1fa4efa4"
],
"x": 94,
"y": 5779,
"w": 3212,
"h": 322
},
{
"id": "bb2ebd173a2ba06c",
"type": "group",
"z": "80f2ffd4953c67e9",
"g": "9cb08113dfb0f712",
"name": "room - ui - thermostat",
"style": {
"fill": "#6f2fa0",
"fill-opacity": "0.05",
"label": true
},
"nodes": [
"9737afb19d9c9fbb",
"dd49b4996fb683ff",
"fc673a36d8691d63",
"37aa96c6d80d8ade",
"1ef76a4c1fab9b78",
"adc6196b15cf8c39",
"26bdcbaa93cfcc27",
"c4f79cb042dc36a1",
"f391ba85b3d53073",
"7e364afe6e09d405",
"f85914dec075a3d8",
"bd8ab43b4a91a2ae",
"19b6504e1bbece40",
"f968a8fc298f04c3",
"07108de5adf3ae2a",
"bcf6468037b4c2a6",
"37794c3da2ceda38",
"dfd8650d923f73e4",
"4c5adf85df17025b",
"26537f8818c29c61",
"a7420198a3e0f879",
"f23d5105ca948593",
"2efa063af4b505d2",
"6cc81c8342d6ef1c",
"f7ed99ce22cd37cb",
"348134507ffe8815",
"63561fec4fba2afd",
"53f7b3195f6dfeed",
"99e789a941d2af52",
"39615dab9370d868",
"e223793b9998818b",
"136162f12991809c",
"fb9711affc7d14af",
"a9e89b46159c4ec8",
"cb3f8f9fa322b59f",
"51dc21bc28ea3f06",
"272807d6b707d92f",
"4540d4f432f8742d",
"6d0cb16590b1da18",
"bfb0a473b6a09c81",
"61d316384ef1521b",
"27d7b08fb3646a52",
"3f9eefa51c1e5e9e",
"ff2211c1efd24971",
"f814aebd5bd599b5",
"8c3c9bc4a66b1e32",
"93e874f6e4a1f87a",
"3d40410e159beaab",
"4565730f04bd7072",
"79764253e9e92fda",
"4ad97596d0efa64b",
"33fde1af7428bf26",
"1d92bf6b8fc98959",
"25b3542fda8fae4d",
"4b8267934ced5596",
"151d5194b8538480",
"f670239d8cf08808",
"a4b56ada8159bff6",
"990b4d58c23a68a2",
"ee3e358d88bbf249",
"6f096e24c9634c56",
"83b16f9aed4fa051",
"db3ebf0b6421aeae",
"10c3697bddec1a05",
"4f0ea1cdd4d0b719",
"b87af6e4d9e65d33",
"aefd619aa22eea0b",
"bc775d86aa14a73f",
"b74bf0ca5e271336",
"f8705fb32062a93f",
"3afbcb94c2dd9a98",
"5058697599c00bfb",
"788641b627884830",
"2a09806bd2dd8204",
"2daacd754d59567f",
"2f53d6a12a1b9648",
"38b3de42eccb63ea",
"cd64045ae78319dc",
"74b33297e4369aee",
"a3a5880c2003c6cd",
"86a901b933d34c8a",
"d820170df2717cca",
"3a1f2c63baddb5b7"
],
"x": 1334,
"y": 199,
"w": 1962,
"h": 2122
},
{
"id": "ccc78d495cbd8f7d",
"type": "group",
"z": "80f2ffd4953c67e9",
"g": "dbf491fd689e7cd2",
"name": "thermostat - update - pilot",
"style": {
"label": true,
"fill": "#ff0000",
"fill-opacity": "0.05"
},
"nodes": [
"cfeaa3a9e12b40eb",
"2b98ac8845853557",
"1b79850c96d3d208",
"014df3b24c891646",
"d67d4a70e837c744",
"b809a2344b2a162c",
"b5123d0e6886505f",
"2311d66d2d2f1a5a",
"d2ded0d940485aa7",
"80b02c9d206eb796",
"e50f34cde29f1023",
"502bf87b213069c7",
"4e6ed9498ff4530e",
"12cadcc5d1bee95b",
"b54dd8d3915e207f",
"06abf52a6249bd22",
"93d2b581d45d7631"
],
"x": 94,
"y": 4099,
"w": 2152,
"h": 262
},
{
"id": "e57e9c900c787424",
"type": "group",
"z": "80f2ffd4953c67e9",
"g": "dbf491fd689e7cd2",
"name": "thermostat - update - status",
"style": {
"label": true,
"fill": "#ff0000",
"fill-opacity": "0.05"
},
"nodes": [
"cd96635eddc7da1f",
"4fc3e55ddfdaa010",
"529ee15b89c1a59a",
"559221227a779f47",
"5473623028666410",
"61a83a7757b78adc",
"889157da2139e8ff",
"503a81673f2d7fb0",
"a4c6172c4c4737ac",
"4cdca41467e84399",
"6335a0ba7e4fd02e",
"ffdbc6f74f0bd44a",
"1ff0b0648a927b0f",
"f0e65595e5827e60",
"54a377fdde983cc9"
],
"x": 94,
"y": 3739,
"w": 1952,
"h": 322
},
{
"id": "8206912d2f9bab36",
"type": "group",
"z": "80f2ffd4953c67e9",
"g": "dbf491fd689e7cd2",
"name": "thermostat - update - offloading",
"style": {
"label": true,
"fill": "#ff0000",
"fill-opacity": "0.05"
},
"nodes": [
"f3335edf661bfc8d",
"82489d3f8ae606cf",
"c91c042b412afd7f",
"8a7f5acb317722bc",
"aa80f7b58c825d6d",
"cbb6f339addc057f",
"772937ddeb3e1b72",
"1b11e45ef3e9f02f",
"3bc159f186c762cd",
"0ea437f46160f0e5"
],
"x": 94,
"y": 3499,
"w": 1632,
"h": 202
},
{
"id": "0af18fd6cc155518",
"type": "group",
"z": "80f2ffd4953c67e9",
"g": "dbf491fd689e7cd2",
"name": "thermostat - udpate - temperature setpoint",
"style": {
"label": true,
"fill": "#ff0000",
"fill-opacity": "0.05"
},
"nodes": [
"e7a80893daf9f5cd",
"85d6369076d887c9",
"1164fe72097e884c",
"0eb756ee244751a4",
"3a3af17d95ca520a",
"70c27df7cb0add1d",
"64754ad76b3561d6",
"f9fad454dec37bc7",
"55660ec49f882e13",
"3a23d8541c5bc71c"
],
"x": 94,
"y": 3199,
"w": 1412,
"h": 262
},
{
"id": "c311204f22191fa2",
"type": "group",
"z": "80f2ffd4953c67e9",
"g": "dbf491fd689e7cd2",
"name": "thermostat - update - delayed aperture",
"style": {
"label": true,
"fill": "#ff0000",
"fill-opacity": "0.05"
},
"nodes": [
"f1240da189a60ba8",
"ecda411603ebcccf",
"f3eb2e8c09f67e89",
"f305bda7c25657e5",
"6a726c7db415e700",
"4658e2323b1a287a",
"37b31a14146e2a3f",
"92add418b3868c54",
"6893398018de38e9"
],
"x": 94,
"y": 3019,
"w": 1592,
"h": 142
},
{
"id": "868902cdeaa428fe",
"type": "group",
"z": "80f2ffd4953c67e9",
"g": "dbf491fd689e7cd2",
"name": "thermostat - metric - input",
"style": {
"label": true,
"fill": "#ff0000",
"fill-opacity": "0.05"
},
"nodes": [
"266e831763ed3b77",
"ed42e96a79df8e09",
"7b43ab1cda2d8f3f",
"ff4225d872a9a0d3",
"623975efd8e9bbcd",
"be58e8ac1e1b6eb1"
],
"x": 94,
"y": 2599,
"w": 1172,
"h": 142
},
{
"id": "467ec12f292b2573",
"type": "group",
"z": "80f2ffd4953c67e9",
"g": "dbf491fd689e7cd2",
"name": "thermostat - update - heat request",
"style": {
"label": true,
"fill": "#ff0000",
"fill-opacity": "0.05"
},
"nodes": [
"1ed6b5ff63020d07",
"69fda60f897db5fd",
"d75bdce71118a56f",
"5f6fd378f40e4c81",
"0fb59058d3aa9663",
"0998eafda2346961",
"5409904037bf4a62",
"7d5ba4790bc3a720",
"92e341f726c9c5ac",
"e13e76f216b98c22"
],
"x": 94,
"y": 2779,
"w": 1732,
"h": 202
},
{
"id": "6c4b12585b58300e",
"type": "group",
"z": "80f2ffd4953c67e9",
"g": "dbf491fd689e7cd2",
"name": "thermostat - metric - output",
"style": {
"label": true,
"fill": "#ff0000",
"fill-opacity": "0.05"
},
"nodes": [
"a091b2e84a4e89e6",
"34e6817c2f435667",
"9ba0a97276e93540",
"147aa94543fa77cb"
],
"x": 94,
"y": 4399,
"w": 592,
"h": 142
},
{
"id": "272756073495f0a8",
"type": "group",
"z": "80f2ffd4953c67e9",
"g": "dbf491fd689e7cd2",
"name": "thermostat - compute cool request",
"style": {
"stroke": "#92d04f",
"fill": "#92d04f",
"fill-opacity": "0.05",
"label": true
},
"nodes": [
"0162f458d02a06ca",
"736b4f85b471f119",
"97694aa50cf4ce0e",
"919dab1a8b106864"
],
"x": 974,
"y": 2419,
"w": 792,
"h": 142
},
{
"id": "3c533bc3592e06b9",
"type": "group",
"z": "80f2ffd4953c67e9",
"g": "ef2c257bbe04f8d2",
"name": "thermostat - trigger - input",
"style": {
"fill": "#ff0000",
"fill-opacity": "0.05",
"label": true
},
"nodes": [
"4146df2b9fa3a8cd",
"cb4e055ec23ccd1c",
"6b4c87d53563c36d",
"e3b571afbf1bcf4f",
"2b3708a60ff31dac",
"4ffd7369035e168f",
"5336228b64d336af",
"a118873a4609acd7"
],
"x": 94,
"y": 4639,
"w": 1532,
"h": 142
},
{
"id": "f987d89b8997cf8d",
"type": "group",
"z": "80f2ffd4953c67e9",
"g": "ef2c257bbe04f8d2",
"name": "thermostat - trigger - output",
"style": {
"fill": "#ff0000",
"fill-opacity": "0.05",
"label": true
},
"nodes": [
"7a77ef69ce9e0f32",
"63f9a6d8c925d3d3",
"12d940e60360ef46",
"fb119d97ea6bb137"
],
"x": 94,
"y": 5599,
"w": 592,
"h": 142
},
{
"id": "eafad08e39c60266",
"type": "group",
"z": "80f2ffd4953c67e9",
"g": "9cb08113dfb0f712",
"name": "thermostat - ui - apertures",
"style": {
"stroke": "#ff0000",
"fill": "#ff0000",
"fill-opacity": "0.05",
"label": true
},
"nodes": [
"ea1b7dbf3573fd5e",
"0711217590341f99",
"3930f84bd36fd5aa",
"b6f3145afc37707c",
"7a9f4d42d5c7497c",
"dd517b4d06983aac",
"e7dcdd83cf9e08e1",
"73dc6a2b0e041f8e",
"ad09f7f6ad1acedd",
"7bb3239b80bb5650",
"e0613fa53ec99a7d",
"b0670866409f1f18",
"7421f25ff88e96ea",
"1e23b9043692efc9",
"ed6edb1e6f6e0603",
"c1311d74af614a6b",
"c5b1171ac4cfb2fa",
"f80f5a53d9b07000",
"2d0116a7f0e5267e",
"47121b9ebadde960",
"e770267366a41538"
],
"x": 3374,
"y": 199,
"w": 3252,
"h": 262
},
{
"id": "f4f5c470dc44c769",
"type": "group",
"z": "80f2ffd4953c67e9",
"g": "9cb08113dfb0f712",
"name": "thermostat - ui - outdoors",
"style": {
"stroke": "#ff0000",
"fill": "#ff0000",
"fill-opacity": "0.05",
"label": true
},
"nodes": [
"99820dc85872f042",
"e22365b6f5faa937",
"d2068bbda5e20f86",
"7b0cbcf02bc8dd7e",
"61a21c746c904524",
"b5a2ecd26dffba3a",
"67d347fd47288266",
"64580efef0e57642",
"aee1a18c7263ba86",
"b0ad0b1193226130",
"00f707d1661e4bef",
"127c961637b6310d",
"354a444bcb3837e0",
"3da0bd1cf66878da",
"ad6b3250a3541a1f",
"3dda93172bdc65d7",
"b3e1001ef74f47b3",
"713df21fb71f138b"
],
"x": 3374,
"y": 559,
"w": 3092,
"h": 202
},
{
"id": "57656fc40a9ba454",
"type": "group",
"z": "80f2ffd4953c67e9",
"g": "ef2c257bbe04f8d2",
"name": "thermostat - trigger - outdoor temperature",
"style": {
"label": true,
"fill": "#ff0000",
"fill-opacity": "0.05"
},
"nodes": [
"5c2ee7a9a0b1a4f4",
"60f65b4b5f4c2cc4",
"f425887de67cad57",
"7a3b533f0e9d934a",
"33151ec7b379db49",
"b3f3ee85862b09ef",
"5f67fdb103a398c8"
],
"x": 94,
"y": 4999,
"w": 1172,
"h": 142
},
{
"id": "cfeaa3a9e12b40eb",
"type": "link out",
"z": "80f2ffd4953c67e9",
"g": "ccc78d495cbd8f7d",
"name": "thermostat - update - pilot metric",
"mode": "link",
"links": [
"206c1fb4a48067df"
],
"x": 2055,
"y": 4260,
"wires": []
},
{
"id": "2b98ac8845853557",
"type": "switch",
"z": "80f2ffd4953c67e9",
"g": "ccc78d495cbd8f7d",
"name": "trigger",
"property": "field",
"propertyType": "msg",
"rules": [
{
"t": "eq",
"v": "status",
"vt": "str"
}
],
"checkall": "false",
"repair": false,
"outputs": 1,
"x": 270,
"y": 4200,
"wires": [
[
"1b79850c96d3d208"
]
]
},
{
"id": "1b79850c96d3d208",
"type": "switch",
"z": "80f2ffd4953c67e9",
"g": "ccc78d495cbd8f7d",
"name": "status",
"property": "payload",
"propertyType": "msg",
"rules": [
{
"t": "eq",
"v": "powered",
"vt": "str"
},
{
"t": "eq",
"v": "reached",
"vt": "str"
},
{
"t": "else"
}
],
"checkall": "false",
"repair": false,
"outputs": 3,
"x": 430,
"y": 4200,
"wires": [
[
"b809a2344b2a162c"
],
[
"d67d4a70e837c744"
],
[
"d67d4a70e837c744"
]
]
},
{
"id": "014df3b24c891646",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "ccc78d495cbd8f7d",
"name": "to true",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "true",
"tot": "bool"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 830,
"y": 4260,
"wires": [
[
"4e6ed9498ff4530e",
"12cadcc5d1bee95b",
"b5123d0e6886505f"
]
]
},
{
"id": "d67d4a70e837c744",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "ccc78d495cbd8f7d",
"name": "to false",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "false",
"tot": "bool"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 840,
"y": 4200,
"wires": [
[
"12cadcc5d1bee95b",
"4e6ed9498ff4530e",
"b5123d0e6886505f"
]
]
},
{
"id": "b809a2344b2a162c",
"type": "switch",
"z": "80f2ffd4953c67e9",
"g": "ccc78d495cbd8f7d",
"name": "system offloaded",
"property": "metrics.system.mode.offloading",
"propertyType": "global",
"rules": [
{
"t": "eq",
"v": "offloaded",
"vt": "str"
},
{
"t": "else"
}
],
"checkall": "false",
"repair": false,
"outputs": 2,
"x": 630,
"y": 4140,
"wires": [
[
"b54dd8d3915e207f"
],
[
"014df3b24c891646"
]
]
},
{
"id": "b5123d0e6886505f",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "ccc78d495cbd8f7d",
"name": "cycle time",
"rules": [
{
"t": "set",
"p": "tc",
"pt": "msg",
"to": "th['cycle time']",
"tot": "msg"
},
{
"t": "set",
"p": "delay",
"pt": "msg",
"to": "msg.tc * 60000",
"tot": "jsonata"
},
{
"t": "delete",
"p": "tc",
"pt": "msg"
},
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "false",
"tot": "bool"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 1020,
"y": 4320,
"wires": [
[
"d2ded0d940485aa7"
]
]
},
{
"id": "2311d66d2d2f1a5a",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "ccc78d495cbd8f7d",
"name": "thermostat / offloading",
"rules": [
{
"t": "set",
"p": "field",
"pt": "msg",
"to": "offloading",
"tot": "str"
},
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "true",
"tot": "bool"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 1060,
"y": 4140,
"wires": [
[
"502bf87b213069c7"
]
]
},
{
"id": "d2ded0d940485aa7",
"type": "trigger",
"z": "80f2ffd4953c67e9",
"g": "ccc78d495cbd8f7d",
"name": "wait delay then send false, reset on false",
"op1": "",
"op2": "false",
"op1type": "nul",
"op2type": "bool",
"duration": "30",
"extend": false,
"overrideDelay": true,
"units": "min",
"reset": "false",
"bytopic": "topic",
"topic": "th.bucket",
"outputs": 1,
"x": 1300,
"y": 4320,
"wires": [
[
"4e6ed9498ff4530e",
"12cadcc5d1bee95b"
]
]
},
{
"id": "80b02c9d206eb796",
"type": "trigger",
"z": "80f2ffd4953c67e9",
"g": "ccc78d495cbd8f7d",
"name": "wait 1 min then send last",
"op1": "",
"op2": "",
"op1type": "nul",
"op2type": "payl",
"duration": "1",
"extend": true,
"overrideDelay": false,
"units": "min",
"reset": "",
"bytopic": "topic",
"topic": "bucket",
"outputs": 1,
"x": 1870,
"y": 4320,
"wires": [
[
"cfeaa3a9e12b40eb",
"93d2b581d45d7631"
]
]
},
{
"id": "e50f34cde29f1023",
"type": "link in",
"z": "80f2ffd4953c67e9",
"g": "ccc78d495cbd8f7d",
"name": "thermostat - update - pilot",
"links": [
"be58e8ac1e1b6eb1"
],
"x": 135,
"y": 4200,
"wires": [
[
"2b98ac8845853557"
]
]
},
{
"id": "502bf87b213069c7",
"type": "link out",
"z": "80f2ffd4953c67e9",
"g": "ccc78d495cbd8f7d",
"name": "thermostat - update - pilot",
"mode": "link",
"links": [
"147aa94543fa77cb"
],
"x": 1795,
"y": 4140,
"wires": []
},
{
"id": "4e6ed9498ff4530e",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "ccc78d495cbd8f7d",
"name": "thermostat / last pilot",
"rules": [
{
"t": "set",
"p": "field",
"pt": "msg",
"to": "last pilot",
"tot": "str"
},
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "",
"tot": "date"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 1620,
"y": 4200,
"wires": [
[
"502bf87b213069c7",
"06abf52a6249bd22"
]
]
},
{
"id": "12cadcc5d1bee95b",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "ccc78d495cbd8f7d",
"name": "metric cible / pilot",
"rules": [
{
"t": "set",
"p": "bucket",
"pt": "msg",
"to": "th.bucket",
"tot": "msg"
},
{
"t": "set",
"p": "measurement",
"pt": "msg",
"to": "cible",
"tot": "str"
},
{
"t": "set",
"p": "field",
"pt": "msg",
"to": "pilot",
"tot": "str"
},
{
"t": "delete",
"p": "th",
"pt": "msg"
},
{
"t": "set",
"p": "repeat",
"pt": "msg",
"to": "true",
"tot": "bool"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 1610,
"y": 4260,
"wires": [
[
"80b02c9d206eb796",
"cfeaa3a9e12b40eb",
"93d2b581d45d7631"
]
]
},
{
"id": "b54dd8d3915e207f",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "ccc78d495cbd8f7d",
"name": "to false",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "false",
"tot": "bool"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 840,
"y": 4140,
"wires": [
[
"2311d66d2d2f1a5a",
"b5123d0e6886505f"
]
]
},
{
"id": "06abf52a6249bd22",
"type": "debug",
"z": "80f2ffd4953c67e9",
"g": "ccc78d495cbd8f7d",
"name": "thermostat / last pilot",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"statusVal": "",
"statusType": "auto",
"x": 1880,
"y": 4200,
"wires": []
},
{
"id": "93d2b581d45d7631",
"type": "debug",
"z": "80f2ffd4953c67e9",
"g": "ccc78d495cbd8f7d",
"name": "xxx / cible / pilot",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"statusVal": "",
"statusType": "auto",
"x": 2120,
"y": 4320,
"wires": []
},
{
"id": "cd96635eddc7da1f",
"type": "switch",
"z": "80f2ffd4953c67e9",
"g": "e57e9c900c787424",
"name": "operating mode",
"property": "th['operating mode']",
"propertyType": "msg",
"rules": [
{
"t": "eq",
"v": "off",
"vt": "str"
},
{
"t": "else"
}
],
"checkall": "false",
"repair": false,
"outputs": 2,
"x": 460,
"y": 3780,
"wires": [
[
"5473623028666410"
],
[
"4fc3e55ddfdaa010"
]
]
},
{
"id": "4fc3e55ddfdaa010",
"type": "switch",
"z": "80f2ffd4953c67e9",
"g": "e57e9c900c787424",
"name": "offloading",
"property": "th.offloading",
"propertyType": "msg",
"rules": [
{
"t": "true"
},
{
"t": "else"
}
],
"checkall": "false",
"repair": false,
"outputs": 2,
"x": 660,
"y": 3840,
"wires": [
[
"61a83a7757b78adc"
],
[
"529ee15b89c1a59a"
]
]
},
{
"id": "529ee15b89c1a59a",
"type": "switch",
"z": "80f2ffd4953c67e9",
"g": "e57e9c900c787424",
"name": "delayed aperture",
"property": "th['delayed aperture']",
"propertyType": "msg",
"rules": [
{
"t": "true"
},
{
"t": "else"
}
],
"checkall": "false",
"repair": false,
"outputs": 2,
"x": 870,
"y": 3900,
"wires": [
[
"889157da2139e8ff"
],
[
"559221227a779f47"
]
]
},
{
"id": "559221227a779f47",
"type": "switch",
"z": "80f2ffd4953c67e9",
"g": "e57e9c900c787424",
"name": "heat request",
"property": "th['heat request']",
"propertyType": "msg",
"rules": [
{
"t": "true"
},
{
"t": "else"
}
],
"checkall": "false",
"repair": false,
"outputs": 2,
"x": 1090,
"y": 3960,
"wires": [
[
"503a81673f2d7fb0"
],
[
"54a377fdde983cc9"
]
]
},
{
"id": "5473623028666410",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "e57e9c900c787424",
"name": "stopped",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "stopped",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 1460,
"y": 3780,
"wires": [
[
"4cdca41467e84399"
]
]
},
{
"id": "61a83a7757b78adc",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "e57e9c900c787424",
"name": "offloaded",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "offloaded",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 1460,
"y": 3840,
"wires": [
[
"4cdca41467e84399"
]
]
},
{
"id": "889157da2139e8ff",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "e57e9c900c787424",
"name": "suspended",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "suspended",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 1470,
"y": 3900,
"wires": [
[
"4cdca41467e84399"
]
]
},
{
"id": "503a81673f2d7fb0",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "e57e9c900c787424",
"name": "powered",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "powered",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 1460,
"y": 3960,
"wires": [
[
"4cdca41467e84399"
]
]
},
{
"id": "a4c6172c4c4737ac",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "e57e9c900c787424",
"name": "reached",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "reached",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 1460,
"y": 4020,
"wires": [
[
"4cdca41467e84399"
]
]
},
{
"id": "4cdca41467e84399",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "e57e9c900c787424",
"name": "thermostat / status",
"rules": [
{
"t": "set",
"p": "field",
"pt": "msg",
"to": "status",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 1670,
"y": 3840,
"wires": [
[
"1ff0b0648a927b0f",
"f0e65595e5827e60"
]
]
},
{
"id": "6335a0ba7e4fd02e",
"type": "switch",
"z": "80f2ffd4953c67e9",
"g": "e57e9c900c787424",
"name": "trigger",
"property": "field",
"propertyType": "msg",
"rules": [
{
"t": "eq",
"v": "heat request",
"vt": "str"
},
{
"t": "eq",
"v": "operating mode",
"vt": "str"
},
{
"t": "eq",
"v": "offloading",
"vt": "str"
},
{
"t": "eq",
"v": "delayed aperture",
"vt": "str"
}
],
"checkall": "false",
"repair": false,
"outputs": 4,
"x": 270,
"y": 3840,
"wires": [
[
"cd96635eddc7da1f"
],
[
"cd96635eddc7da1f"
],
[
"cd96635eddc7da1f"
],
[
"cd96635eddc7da1f"
]
]
},
{
"id": "ffdbc6f74f0bd44a",
"type": "link in",
"z": "80f2ffd4953c67e9",
"g": "e57e9c900c787424",
"name": "thermostat - update - status",
"links": [
"be58e8ac1e1b6eb1"
],
"x": 135,
"y": 3840,
"wires": [
[
"6335a0ba7e4fd02e"
]
]
},
{
"id": "1ff0b0648a927b0f",
"type": "link out",
"z": "80f2ffd4953c67e9",
"g": "e57e9c900c787424",
"name": "thermostat - update - status",
"mode": "link",
"links": [
"147aa94543fa77cb"
],
"x": 1835,
"y": 3840,
"wires": []
},
{
"id": "f0e65595e5827e60",
"type": "debug",
"z": "80f2ffd4953c67e9",
"g": "e57e9c900c787424",
"name": "thermostat / status",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"statusVal": "",
"statusType": "auto",
"x": 1910,
"y": 3780,
"wires": []
},
{
"id": "54a377fdde983cc9",
"type": "switch",
"z": "80f2ffd4953c67e9",
"g": "e57e9c900c787424",
"name": "cycle time",
"property": "th['last pilot']",
"propertyType": "msg",
"rules": [
{
"t": "lt",
"v": "$millis() - ($number(msg.th.'cycle time') * 60000)",
"vt": "jsonata"
}
],
"checkall": "false",
"repair": false,
"outputs": 1,
"x": 1280,
"y": 4020,
"wires": [
[
"a4c6172c4c4737ac"
]
]
},
{
"id": "f3335edf661bfc8d",
"type": "switch",
"z": "80f2ffd4953c67e9",
"g": "8206912d2f9bab36",
"name": "trigger",
"property": "field",
"propertyType": "msg",
"rules": [
{
"t": "eq",
"v": "offloading",
"vt": "str"
}
],
"checkall": "false",
"repair": false,
"outputs": 1,
"x": 270,
"y": 3600,
"wires": [
[
"82489d3f8ae606cf"
]
]
},
{
"id": "82489d3f8ae606cf",
"type": "switch",
"z": "80f2ffd4953c67e9",
"g": "8206912d2f9bab36",
"name": "is true",
"property": "payload",
"propertyType": "msg",
"rules": [
{
"t": "true"
}
],
"checkall": "false",
"repair": false,
"outputs": 1,
"x": 430,
"y": 3600,
"wires": [
[
"c91c042b412afd7f",
"cbb6f339addc057f",
"772937ddeb3e1b72"
]
]
},
{
"id": "c91c042b412afd7f",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "8206912d2f9bab36",
"name": "set delay",
"rules": [
{
"t": "set",
"p": "delay",
"pt": "msg",
"to": "metrics.thermostat.config['offloading delay']",
"tot": "global"
},
{
"t": "set",
"p": "delay",
"pt": "msg",
"to": "$number(msg.delay) * 60000",
"tot": "jsonata"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 600,
"y": 3660,
"wires": [
[
"8a7f5acb317722bc"
]
]
},
{
"id": "8a7f5acb317722bc",
"type": "trigger",
"z": "80f2ffd4953c67e9",
"g": "8206912d2f9bab36",
"name": "wait delay then false",
"op1": "",
"op2": "false",
"op1type": "nul",
"op2type": "bool",
"duration": "1",
"extend": true,
"overrideDelay": true,
"units": "min",
"reset": "",
"bytopic": "topic",
"topic": "th.bucket",
"outputs": 1,
"x": 820,
"y": 3660,
"wires": [
[
"aa80f7b58c825d6d"
]
]
},
{
"id": "aa80f7b58c825d6d",
"type": "switch",
"z": "80f2ffd4953c67e9",
"g": "8206912d2f9bab36",
"name": "system offloaded",
"property": "metrics.system.mode.offloading",
"propertyType": "global",
"rules": [
{
"t": "eq",
"v": "offloaded",
"vt": "str"
},
{
"t": "else"
}
],
"checkall": "false",
"repair": false,
"outputs": 2,
"x": 1070,
"y": 3660,
"wires": [
[
"c91c042b412afd7f"
],
[
"cbb6f339addc057f"
]
]
},
{
"id": "cbb6f339addc057f",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "8206912d2f9bab36",
"name": "thermostat / offloading",
"rules": [
{
"t": "set",
"p": "field",
"pt": "msg",
"to": "offloading",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 1320,
"y": 3600,
"wires": [
[
"3bc159f186c762cd",
"0ea437f46160f0e5"
]
]
},
{
"id": "772937ddeb3e1b72",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "8206912d2f9bab36",
"name": "thermostat / offloading count",
"rules": [
{
"t": "set",
"p": "field",
"pt": "msg",
"to": "offloading count",
"tot": "str"
},
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "th['offloading count']",
"tot": "msg"
},
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "$number(msg.payload) + 1",
"tot": "jsonata"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 660,
"y": 3540,
"wires": [
[
"3bc159f186c762cd"
]
]
},
{
"id": "1b11e45ef3e9f02f",
"type": "link in",
"z": "80f2ffd4953c67e9",
"g": "8206912d2f9bab36",
"name": "thermostat - update - offloading",
"links": [
"be58e8ac1e1b6eb1"
],
"x": 135,
"y": 3600,
"wires": [
[
"f3335edf661bfc8d"
]
]
},
{
"id": "3bc159f186c762cd",
"type": "link out",
"z": "80f2ffd4953c67e9",
"g": "8206912d2f9bab36",
"name": "thermostat - update - offloading",
"mode": "link",
"links": [
"147aa94543fa77cb"
],
"x": 1495,
"y": 3540,
"wires": []
},
{
"id": "0ea437f46160f0e5",
"type": "debug",
"z": "80f2ffd4953c67e9",
"g": "8206912d2f9bab36",
"name": "thermostat / offloading",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"statusVal": "",
"statusType": "auto",
"x": 1580,
"y": 3600,
"wires": []
},
{
"id": "e7a80893daf9f5cd",
"type": "switch",
"z": "80f2ffd4953c67e9",
"g": "0af18fd6cc155518",
"name": "trigger",
"property": "field",
"propertyType": "msg",
"rules": [
{
"t": "eq",
"v": "operating mode",
"vt": "str"
},
{
"t": "eq",
"v": "confort setpoint",
"vt": "str"
},
{
"t": "eq",
"v": "eco setpoint",
"vt": "str"
},
{
"t": "eq",
"v": "cold setpoint",
"vt": "str"
}
],
"checkall": "false",
"repair": false,
"outputs": 4,
"x": 270,
"y": 3300,
"wires": [
[
"85d6369076d887c9"
],
[
"85d6369076d887c9"
],
[
"85d6369076d887c9"
],
[
"85d6369076d887c9"
]
]
},
{
"id": "85d6369076d887c9",
"type": "switch",
"z": "80f2ffd4953c67e9",
"g": "0af18fd6cc155518",
"name": "check operating mode",
"property": "th['operating mode']",
"propertyType": "msg",
"rules": [
{
"t": "eq",
"v": "cool",
"vt": "str"
},
{
"t": "eq",
"v": "confort",
"vt": "str"
},
{
"t": "eq",
"v": "eco",
"vt": "str"
},
{
"t": "eq",
"v": "anti-freeze",
"vt": "str"
}
],
"checkall": "false",
"repair": false,
"outputs": 4,
"x": 480,
"y": 3300,
"wires": [
[
"3a23d8541c5bc71c"
],
[
"1164fe72097e884c"
],
[
"0eb756ee244751a4"
],
[
"3a3af17d95ca520a"
]
]
},
{
"id": "1164fe72097e884c",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "0af18fd6cc155518",
"name": "confort",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "th['confort setpoint']",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 690,
"y": 3300,
"wires": [
[
"70c27df7cb0add1d"
]
]
},
{
"id": "0eb756ee244751a4",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "0af18fd6cc155518",
"name": "eco",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "th['eco setpoint']",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 690,
"y": 3360,
"wires": [
[
"70c27df7cb0add1d"
]
]
},
{
"id": "3a3af17d95ca520a",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "0af18fd6cc155518",
"name": "anti-freeze",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "7",
"tot": "num"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 710,
"y": 3420,
"wires": [
[
"70c27df7cb0add1d"
]
]
},
{
"id": "70c27df7cb0add1d",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "0af18fd6cc155518",
"name": "thermostat / temperature setpoint",
"rules": [
{
"t": "set",
"p": "field",
"pt": "msg",
"to": "temperature setpoint",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 980,
"y": 3300,
"wires": [
[
"f9fad454dec37bc7",
"55660ec49f882e13"
]
]
},
{
"id": "64754ad76b3561d6",
"type": "link in",
"z": "80f2ffd4953c67e9",
"g": "0af18fd6cc155518",
"name": "thermostat - update - temperature setpoint",
"links": [
"be58e8ac1e1b6eb1"
],
"x": 135,
"y": 3300,
"wires": [
[
"e7a80893daf9f5cd"
]
]
},
{
"id": "f9fad454dec37bc7",
"type": "link out",
"z": "80f2ffd4953c67e9",
"g": "0af18fd6cc155518",
"name": "thermostat - update - tempearture setpoint",
"mode": "link",
"links": [
"147aa94543fa77cb"
],
"x": 1195,
"y": 3300,
"wires": []
},
{
"id": "55660ec49f882e13",
"type": "debug",
"z": "80f2ffd4953c67e9",
"g": "0af18fd6cc155518",
"name": "thermostat / temperature setpoint",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"statusVal": "",
"statusType": "auto",
"x": 1320,
"y": 3240,
"wires": []
},
{
"id": "f1240da189a60ba8",
"type": "switch",
"z": "80f2ffd4953c67e9",
"g": "c311204f22191fa2",
"name": "trigger",
"property": "field",
"propertyType": "msg",
"rules": [
{
"t": "eq",
"v": "aperture opened",
"vt": "str"
}
],
"checkall": "false",
"repair": false,
"outputs": 1,
"x": 270,
"y": 3120,
"wires": [
[
"ecda411603ebcccf"
]
]
},
{
"id": "ecda411603ebcccf",
"type": "delay",
"z": "80f2ffd4953c67e9",
"g": "c311204f22191fa2",
"name": "delay 250 ms",
"pauseType": "delay",
"timeout": "250",
"timeoutUnits": "milliseconds",
"rate": "1",
"nbRateUnits": "1",
"rateUnits": "second",
"randomFirst": "1",
"randomLast": "5",
"randomUnits": "seconds",
"drop": false,
"allowrate": false,
"outputs": 1,
"x": 450,
"y": 3120,
"wires": [
[
"4658e2323b1a287a"
]
]
},
{
"id": "f3eb2e8c09f67e89",
"type": "trigger",
"z": "80f2ffd4953c67e9",
"g": "c311204f22191fa2",
"name": "wait delay then false, reset on true",
"op1": "",
"op2": "false",
"op1type": "nul",
"op2type": "bool",
"duration": "2",
"extend": false,
"overrideDelay": true,
"units": "min",
"reset": "true",
"bytopic": "topic",
"topic": "th.bucket",
"outputs": 1,
"x": 900,
"y": 3060,
"wires": [
[
"6a726c7db415e700"
]
]
},
{
"id": "f305bda7c25657e5",
"type": "trigger",
"z": "80f2ffd4953c67e9",
"g": "c311204f22191fa2",
"name": "wait delay then true, reset on false",
"op1": "",
"op2": "true",
"op1type": "nul",
"op2type": "bool",
"duration": "2",
"extend": false,
"overrideDelay": true,
"units": "min",
"reset": "false",
"bytopic": "topic",
"topic": "th.bucket",
"outputs": 1,
"x": 900,
"y": 3120,
"wires": [
[
"6a726c7db415e700"
]
]
},
{
"id": "6a726c7db415e700",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "c311204f22191fa2",
"name": "thermostat / delayed aperture",
"rules": [
{
"t": "set",
"p": "field",
"pt": "msg",
"to": "delayed aperture",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 1220,
"y": 3120,
"wires": [
[
"92add418b3868c54",
"6893398018de38e9"
]
]
},
{
"id": "4658e2323b1a287a",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "c311204f22191fa2",
"name": "set delay",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "$boolean(msg.th.'aperture opened')",
"tot": "jsonata"
},
{
"t": "set",
"p": "delay",
"pt": "msg",
"to": "metrics.thermostat.config['aperture delay']",
"tot": "global"
},
{
"t": "set",
"p": "delay",
"pt": "msg",
"to": "msg.delay * 60000",
"tot": "jsonata"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 640,
"y": 3120,
"wires": [
[
"f3eb2e8c09f67e89",
"f305bda7c25657e5"
]
]
},
{
"id": "37b31a14146e2a3f",
"type": "link in",
"z": "80f2ffd4953c67e9",
"g": "c311204f22191fa2",
"name": "thermostat - update - delayed aperture",
"links": [
"be58e8ac1e1b6eb1"
],
"x": 135,
"y": 3120,
"wires": [
[
"f1240da189a60ba8"
]
]
},
{
"id": "92add418b3868c54",
"type": "link out",
"z": "80f2ffd4953c67e9",
"g": "c311204f22191fa2",
"name": "thermostat - update - delayed aperture",
"mode": "link",
"links": [
"147aa94543fa77cb"
],
"x": 1405,
"y": 3120,
"wires": []
},
{
"id": "6893398018de38e9",
"type": "debug",
"z": "80f2ffd4953c67e9",
"g": "c311204f22191fa2",
"name": "thermostat / delayed aperture",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"statusVal": "",
"statusType": "auto",
"x": 1520,
"y": 3060,
"wires": []
},
{
"id": "266e831763ed3b77",
"type": "link in",
"z": "80f2ffd4953c67e9",
"g": "868902cdeaa428fe",
"name": "thermostat - metric - input",
"links": [
"031a6afd8300356a"
],
"x": 135,
"y": 2700,
"wires": [
[
"ed42e96a79df8e09"
]
]
},
{
"id": "ed42e96a79df8e09",
"type": "switch",
"z": "80f2ffd4953c67e9",
"g": "868902cdeaa428fe",
"name": "check measurement",
"property": "measurement",
"propertyType": "msg",
"rules": [
{
"t": "eq",
"v": "thermostat",
"vt": "str"
}
],
"checkall": "false",
"repair": false,
"outputs": 1,
"x": 320,
"y": 2700,
"wires": [
[
"7b43ab1cda2d8f3f"
]
]
},
{
"id": "7b43ab1cda2d8f3f",
"type": "switch",
"z": "80f2ffd4953c67e9",
"g": "868902cdeaa428fe",
"name": "check field",
"property": "metrics[msg.bucket][msg.measurement]",
"propertyType": "global",
"rules": [
{
"t": "hask",
"v": "pilot",
"vt": "str"
}
],
"checkall": "false",
"repair": false,
"outputs": 1,
"x": 550,
"y": 2700,
"wires": [
[
"ff4225d872a9a0d3"
]
]
},
{
"id": "ff4225d872a9a0d3",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "868902cdeaa428fe",
"name": "get thermostat from global metrics",
"rules": [
{
"t": "set",
"p": "th",
"pt": "msg",
"to": "metrics[msg.bucket][msg.measurement]",
"tot": "global"
},
{
"t": "set",
"p": "th.bucket",
"pt": "msg",
"to": "bucket",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 820,
"y": 2700,
"wires": [
[
"623975efd8e9bbcd",
"be58e8ac1e1b6eb1"
]
]
},
{
"id": "623975efd8e9bbcd",
"type": "debug",
"z": "80f2ffd4953c67e9",
"g": "868902cdeaa428fe",
"name": "thermostat - metric - input",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"statusVal": "",
"statusType": "auto",
"x": 1110,
"y": 2640,
"wires": []
},
{
"id": "be58e8ac1e1b6eb1",
"type": "link out",
"z": "80f2ffd4953c67e9",
"g": "868902cdeaa428fe",
"name": "thermostat - update - metric",
"mode": "link",
"links": [
"0998eafda2346961",
"1b11e45ef3e9f02f",
"37b31a14146e2a3f",
"64754ad76b3561d6",
"e50f34cde29f1023",
"ffdbc6f74f0bd44a",
"6e0cafa29c0a6d42"
],
"x": 1035,
"y": 2700,
"wires": []
},
{
"id": "1ed6b5ff63020d07",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "467ec12f292b2573",
"name": "thermostat / heat request",
"rules": [
{
"t": "set",
"p": "field",
"pt": "msg",
"to": "heat request",
"tot": "str"
},
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "$number(msg.th.compute)>0",
"tot": "jsonata"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 1390,
"y": 2880,
"wires": [
[
"0fb59058d3aa9663",
"5f6fd378f40e4c81"
]
]
},
{
"id": "69fda60f897db5fd",
"type": "switch",
"z": "80f2ffd4953c67e9",
"g": "467ec12f292b2573",
"name": "trigger",
"property": "field",
"propertyType": "msg",
"rules": [
{
"t": "eq",
"v": "temperature setpoint",
"vt": "str"
},
{
"t": "eq",
"v": "indoor temperature",
"vt": "str"
},
{
"t": "eq",
"v": "outdoor temperature",
"vt": "str"
},
{
"t": "eq",
"v": "operating mode",
"vt": "str"
}
],
"checkall": "false",
"repair": false,
"outputs": 4,
"x": 270,
"y": 2880,
"wires": [
[
"92e341f726c9c5ac"
],
[
"92e341f726c9c5ac"
],
[
"92e341f726c9c5ac"
],
[
"92e341f726c9c5ac"
]
]
},
{
"id": "d75bdce71118a56f",
"type": "link call",
"z": "80f2ffd4953c67e9",
"g": "467ec12f292b2573",
"name": "",
"links": [
"1452439e0c937126"
],
"linkType": "static",
"timeout": "30",
"x": 780,
"y": 2940,
"wires": [
[
"1ed6b5ff63020d07"
]
]
},
{
"id": "5f6fd378f40e4c81",
"type": "debug",
"z": "80f2ffd4953c67e9",
"g": "467ec12f292b2573",
"name": "thermostat / heat request",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": true,
"complete": "true",
"targetType": "full",
"statusVal": "th.compute",
"statusType": "msg",
"x": 1670,
"y": 2820,
"wires": []
},
{
"id": "0fb59058d3aa9663",
"type": "link out",
"z": "80f2ffd4953c67e9",
"g": "467ec12f292b2573",
"name": "thermostat - update - heat request",
"mode": "link",
"links": [
"147aa94543fa77cb"
],
"x": 1575,
"y": 2880,
"wires": []
},
{
"id": "0998eafda2346961",
"type": "link in",
"z": "80f2ffd4953c67e9",
"g": "467ec12f292b2573",
"name": "thermostat - update - heat request",
"links": [
"be58e8ac1e1b6eb1"
],
"x": 135,
"y": 2880,
"wires": [
[
"69fda60f897db5fd"
]
]
},
{
"id": "a091b2e84a4e89e6",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "6c4b12585b58300e",
"name": "set metric",
"rules": [
{
"t": "set",
"p": "bucket",
"pt": "msg",
"to": "th.bucket",
"tot": "msg"
},
{
"t": "set",
"p": "measurement",
"pt": "msg",
"to": "thermostat",
"tot": "str"
},
{
"t": "delete",
"p": "th",
"pt": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 280,
"y": 4500,
"wires": [
[
"34e6817c2f435667",
"9ba0a97276e93540"
]
]
},
{
"id": "34e6817c2f435667",
"type": "link out",
"z": "80f2ffd4953c67e9",
"g": "6c4b12585b58300e",
"name": "thermostat - metric - output",
"mode": "link",
"links": [
"206c1fb4a48067df"
],
"x": 415,
"y": 4500,
"wires": []
},
{
"id": "9ba0a97276e93540",
"type": "debug",
"z": "80f2ffd4953c67e9",
"g": "6c4b12585b58300e",
"name": "thermostat - metric - output",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"statusVal": "",
"statusType": "auto",
"x": 520,
"y": 4440,
"wires": []
},
{
"id": "147aa94543fa77cb",
"type": "link in",
"z": "80f2ffd4953c67e9",
"g": "6c4b12585b58300e",
"name": "thermostat - update - metric",
"links": [
"0fb59058d3aa9663",
"1ff0b0648a927b0f",
"3bc159f186c762cd",
"502bf87b213069c7",
"92add418b3868c54",
"f9fad454dec37bc7",
"ab22bd17459bcba2"
],
"x": 135,
"y": 4500,
"wires": [
[
"a091b2e84a4e89e6"
]
]
},
{
"id": "1452439e0c937126",
"type": "link in",
"z": "80f2ffd4953c67e9",
"g": "7e9cff1699c061ec",
"name": "thermostat - compute heat request",
"links": [],
"x": 135,
"y": 2520,
"wires": [
[
"15d8d0ba06961e4b"
]
]
},
{
"id": "15d8d0ba06961e4b",
"type": "function",
"z": "80f2ffd4953c67e9",
"g": "7e9cff1699c061ec",
"name": "thermostat compute heat request",
"func": "var souscalcul = ((msg.th['temperature setpoint'] - msg.th['indoor temperature']) * msg.th['indoor coefficient']) + ((msg.th['indoor temperature'] - msg.th['outdoor temperature']) * msg.th['outdoor coefficient']);\nvar calculb = (souscalcul / 100 * msg.th['cycle time']);\nvar calculc = (msg.th['cycle time'] * msg.th['preheat time'] / 100);\ncalculb = calculb.toFixed(1);\ncalculc = calculc.toFixed(1);\n\n// positive result for heat request\nmsg.th.compute = calculb - calculc;\n\nif (msg.th.compute > 0) {\n node.status({\n fill: \"red\", shape: \"ring\", text: msg.th.bucket+' heat resquest at '+msg.th.compute\n });\n}\nif (msg.th.compute <= 0) {\n node.status({\n fill: \"green\", shape: \"ring\", text: msg.th.bucket+' at '+msg.th.compute\n });\n}\n\n\nreturn msg;",
"outputs": 1,
"timeout": "",
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 360,
"y": 2520,
"wires": [
[
"4b342483a51b0f93",
"9f5320eaa60df7cf"
]
]
},
{
"id": "4b342483a51b0f93",
"type": "link out",
"z": "80f2ffd4953c67e9",
"g": "7e9cff1699c061ec",
"name": "thermostat - compute heat request",
"mode": "return",
"links": [],
"x": 575,
"y": 2520,
"wires": []
},
{
"id": "3099e4a17fd21410",
"type": "link in",
"z": "80f2ffd4953c67e9",
"g": "e653f3ec3dc88a8f",
"name": "thermostat - update - indoor temperature",
"links": [
"6b4c87d53563c36d"
],
"x": 135,
"y": 4920,
"wires": [
[
"b7a2b83163ce711a"
]
]
},
{
"id": "a2b07c98d61de126",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "e653f3ec3dc88a8f",
"name": "set field",
"rules": [
{
"t": "set",
"p": "field",
"pt": "msg",
"to": "indoor temperature",
"tot": "str"
},
{
"t": "set",
"p": "trigger_payload",
"pt": "msg",
"to": "payload",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 1300,
"y": 4920,
"wires": [
[
"d09ad27d05d54698",
"c3b17da928d7afba"
]
]
},
{
"id": "d09ad27d05d54698",
"type": "link out",
"z": "80f2ffd4953c67e9",
"g": "e653f3ec3dc88a8f",
"name": "thermostat - update - indoor temperature",
"mode": "link",
"links": [
"63f9a6d8c925d3d3"
],
"x": 1435,
"y": 4920,
"wires": []
},
{
"id": "4c169fc26f833802",
"type": "switch",
"z": "80f2ffd4953c67e9",
"g": "e653f3ec3dc88a8f",
"name": "trigger",
"property": "measurement",
"propertyType": "msg",
"rules": [
{
"t": "eq",
"v": "temperature",
"vt": "str"
}
],
"checkall": "false",
"repair": false,
"outputs": 1,
"x": 470,
"y": 4920,
"wires": [
[
"9eb8cf78caf3141d"
]
]
},
{
"id": "9eb8cf78caf3141d",
"type": "link call",
"z": "80f2ffd4953c67e9",
"g": "e653f3ec3dc88a8f",
"name": "",
"links": [
"ddd39f991efd9d31"
],
"linkType": "static",
"timeout": "30",
"x": 670,
"y": 4920,
"wires": [
[
"313fbd5fc01985a5"
]
]
},
{
"id": "313fbd5fc01985a5",
"type": "switch",
"z": "80f2ffd4953c67e9",
"g": "e653f3ec3dc88a8f",
"name": "rsp",
"property": "search.response",
"propertyType": "msg",
"rules": [
{
"t": "eq",
"v": "1",
"vt": "num"
}
],
"checkall": "false",
"repair": false,
"outputs": 1,
"x": 870,
"y": 4920,
"wires": [
[
"b7ffd39578f29c8b"
]
]
},
{
"id": "b7ffd39578f29c8b",
"type": "delay",
"z": "80f2ffd4953c67e9",
"g": "e653f3ec3dc88a8f",
"name": "limit 1 msg / s / topic",
"pauseType": "queue",
"timeout": "5",
"timeoutUnits": "seconds",
"rate": "1",
"nbRateUnits": "1",
"rateUnits": "second",
"randomFirst": "1",
"randomLast": "5",
"randomUnits": "seconds",
"drop": true,
"allowrate": false,
"outputs": 1,
"x": 1080,
"y": 4920,
"wires": [
[
"a2b07c98d61de126"
]
]
},
{
"id": "659f9752db0967bc",
"type": "ui-slider",
"z": "80f2ffd4953c67e9",
"g": "c3cbb2a2dd06d1bb",
"group": "75a98516fdcdf832",
"name": "indoor temperature",
"label": "Température intèrieur",
"tooltip": "",
"order": 2,
"width": "6",
"height": "1",
"passthru": false,
"outs": "end",
"topic": "indoor temperature",
"topicType": "str",
"thumbLabel": true,
"min": 0,
"max": "30",
"step": 1,
"className": "",
"x": 870,
"y": 6680,
"wires": [
[
"d60c017a8962d3f8"
]
]
},
{
"id": "9caafb8c1719d275",
"type": "ui-slider",
"z": "80f2ffd4953c67e9",
"g": "c3cbb2a2dd06d1bb",
"group": "75a98516fdcdf832",
"name": "outdoor temperature",
"label": "Température extèrieur",
"tooltip": "",
"order": 4,
"width": "6",
"height": "1",
"passthru": false,
"outs": "end",
"topic": "outdoor temperature",
"topicType": "str",
"thumbLabel": true,
"min": 0,
"max": "30",
"step": 1,
"className": "",
"x": 880,
"y": 6800,
"wires": [
[
"d60c017a8962d3f8"
]
]
},
{
"id": "515b0c184c8a3628",
"type": "ui-slider",
"z": "80f2ffd4953c67e9",
"g": "c3cbb2a2dd06d1bb",
"group": "75a98516fdcdf832",
"name": "temperature setpoint",
"label": "Température consigne",
"tooltip": "",
"order": 1,
"width": "6",
"height": "1",
"passthru": false,
"outs": "end",
"topic": "temperature setpoint",
"topicType": "str",
"thumbLabel": true,
"min": 0,
"max": "30",
"step": 1,
"className": "",
"x": 880,
"y": 6620,
"wires": [
[
"d60c017a8962d3f8"
]
]
},
{
"id": "13697bbd73295b46",
"type": "ui-slider",
"z": "80f2ffd4953c67e9",
"g": "c3cbb2a2dd06d1bb",
"group": "75a98516fdcdf832",
"name": "indoor coefficient",
"label": "Coefficient intèrieur",
"tooltip": "",
"order": 3,
"width": "6",
"height": "1",
"passthru": false,
"outs": "end",
"topic": "indoor coefficient",
"topicType": "str",
"thumbLabel": true,
"min": "1",
"max": "200",
"step": 1,
"className": "",
"x": 870,
"y": 6740,
"wires": [
[
"d60c017a8962d3f8"
]
]
},
{
"id": "c6fdc57a80266f04",
"type": "ui-slider",
"z": "80f2ffd4953c67e9",
"g": "c3cbb2a2dd06d1bb",
"group": "75a98516fdcdf832",
"name": "preheat time",
"label": "Temps de chauffe",
"tooltip": "",
"order": 7,
"width": "6",
"height": "1",
"passthru": false,
"outs": "end",
"topic": "preheat time",
"topicType": "str",
"thumbLabel": true,
"min": "5",
"max": "60",
"step": "5",
"className": "",
"x": 850,
"y": 6980,
"wires": [
[
"d60c017a8962d3f8"
]
]
},
{
"id": "b7bc73260cea8570",
"type": "ui-slider",
"z": "80f2ffd4953c67e9",
"g": "c3cbb2a2dd06d1bb",
"group": "75a98516fdcdf832",
"name": "cycle time",
"label": "Temps de cycle",
"tooltip": "",
"order": 6,
"width": "6",
"height": "1",
"passthru": false,
"outs": "end",
"topic": "cycle time",
"topicType": "str",
"thumbLabel": true,
"min": "5",
"max": "90",
"step": "5",
"className": "",
"x": 840,
"y": 6920,
"wires": [
[
"d60c017a8962d3f8"
]
]
},
{
"id": "d60c017a8962d3f8",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "c3cbb2a2dd06d1bb",
"name": "field",
"rules": [
{
"t": "set",
"p": "th",
"pt": "msg",
"to": "#:(onMemory)::thermostattest",
"tot": "flow"
},
{
"t": "set",
"p": "th[msg.topic]",
"pt": "msg",
"to": "payload",
"tot": "msg"
},
{
"t": "set",
"p": "#:(onMemory)::thermostattest",
"pt": "flow",
"to": "th",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 1090,
"y": 6620,
"wires": [
[
"6e4f87c323cc4659"
]
]
},
{
"id": "dc37631fe73fce2a",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "c3cbb2a2dd06d1bb",
"name": "reset",
"rules": [
{
"t": "set",
"p": "th",
"pt": "msg",
"to": "{\t 'indoor temperature':20,\t 'outdoor temperature':20,\t 'temperature setpoint':20,\t 'indoor coefficient':5,\t 'outdoor coefficient':5,\t 'preheat time':10,\t 'cycle time':30\t }",
"tot": "jsonata"
},
{
"t": "set",
"p": "#:(onMemory)::thermostattest",
"pt": "flow",
"to": "th",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 330,
"y": 6560,
"wires": [
[
"67e91e753d3708e2",
"6e4f87c323cc4659"
]
]
},
{
"id": "c932311ec07112b5",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "c3cbb2a2dd06d1bb",
"name": "topic",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "#:(onMemory)::thermostattest['indoor temperature']",
"tot": "flow"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 670,
"y": 6680,
"wires": [
[
"659f9752db0967bc"
]
]
},
{
"id": "67e91e753d3708e2",
"type": "delay",
"z": "80f2ffd4953c67e9",
"g": "c3cbb2a2dd06d1bb",
"name": "100 ms",
"pauseType": "delay",
"timeout": "100",
"timeoutUnits": "milliseconds",
"rate": "1",
"nbRateUnits": "1",
"rateUnits": "second",
"randomFirst": "1",
"randomLast": "5",
"randomUnits": "seconds",
"drop": false,
"allowrate": false,
"outputs": 1,
"x": 500,
"y": 6620,
"wires": [
[
"c932311ec07112b5",
"f974a627497b4b7d",
"f81152d8df61c845",
"bc4771242d5d3bd8",
"135b7546018ecfba",
"6bf593bd1612dbde",
"64405bce10cccde1"
]
]
},
{
"id": "a86e51fee3e3458d",
"type": "link in",
"z": "80f2ffd4953c67e9",
"g": "c3cbb2a2dd06d1bb",
"name": "thermostat - ui - test",
"links": [],
"x": 135,
"y": 6560,
"wires": [
[
"dc37631fe73fce2a"
]
]
},
{
"id": "f974a627497b4b7d",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "c3cbb2a2dd06d1bb",
"name": "topic",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "#:(onMemory)::thermostattest['outdoor temperature']",
"tot": "flow"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 670,
"y": 6800,
"wires": [
[
"9caafb8c1719d275"
]
]
},
{
"id": "809635d5f2efc402",
"type": "ui-button",
"z": "80f2ffd4953c67e9",
"g": "c3cbb2a2dd06d1bb",
"group": "75a98516fdcdf832",
"name": "reset",
"label": "RAZ",
"order": 8,
"width": "6",
"height": "1",
"tooltip": "",
"color": "",
"bgcolor": "",
"className": "",
"icon": "",
"iconPosition": "left",
"payload": "",
"payloadType": "str",
"topic": "topic",
"topicType": "msg",
"x": 170,
"y": 6620,
"wires": [
[
"dc37631fe73fce2a"
]
]
},
{
"id": "c9291360c0f0b490",
"type": "ui-text",
"z": "80f2ffd4953c67e9",
"g": "c3cbb2a2dd06d1bb",
"group": "75a98516fdcdf832",
"order": 9,
"width": "6",
"height": "1",
"name": "calcul",
"label": "Résultat",
"format": "{{msg.payload}}",
"layout": "row-spread",
"style": false,
"font": "",
"fontSize": 16,
"color": "#717171",
"className": "",
"x": 1770,
"y": 6560,
"wires": []
},
{
"id": "f10733a435dc7390",
"type": "ui-slider",
"z": "80f2ffd4953c67e9",
"g": "c3cbb2a2dd06d1bb",
"group": "75a98516fdcdf832",
"name": "outdoor coefficient",
"label": "Coefficient extèrieur",
"tooltip": "",
"order": 5,
"width": "6",
"height": "1",
"passthru": false,
"outs": "end",
"topic": "outdoor coefficient",
"topicType": "str",
"thumbLabel": true,
"min": "1",
"max": "200",
"step": 1,
"className": "",
"x": 870,
"y": 6860,
"wires": [
[
"d60c017a8962d3f8"
]
]
},
{
"id": "f81152d8df61c845",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "c3cbb2a2dd06d1bb",
"name": "topic",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "#:(onMemory)::thermostattest['temperature setpoint']",
"tot": "flow"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 670,
"y": 6620,
"wires": [
[
"515b0c184c8a3628"
]
]
},
{
"id": "bc4771242d5d3bd8",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "c3cbb2a2dd06d1bb",
"name": "topic",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "#:(onMemory)::thermostattest['indoor coefficient']",
"tot": "flow"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 670,
"y": 6740,
"wires": [
[
"13697bbd73295b46"
]
]
},
{
"id": "135b7546018ecfba",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "c3cbb2a2dd06d1bb",
"name": "topic",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "#:(onMemory)::thermostattest['outdoor coefficient']",
"tot": "flow"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 670,
"y": 6860,
"wires": [
[
"f10733a435dc7390"
]
]
},
{
"id": "6bf593bd1612dbde",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "c3cbb2a2dd06d1bb",
"name": "topic",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "#:(onMemory)::thermostattest['preheat time']",
"tot": "flow"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 670,
"y": 6980,
"wires": [
[
"c6fdc57a80266f04"
]
]
},
{
"id": "64405bce10cccde1",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "c3cbb2a2dd06d1bb",
"name": "topic",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "#:(onMemory)::thermostattest['cycle time']",
"tot": "flow"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 670,
"y": 6920,
"wires": [
[
"b7bc73260cea8570"
]
]
},
{
"id": "bf5b9cb6fe9e3550",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "c3cbb2a2dd06d1bb",
"name": "payload",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "th.compute",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 1600,
"y": 6560,
"wires": [
[
"c9291360c0f0b490"
]
]
},
{
"id": "6e4f87c323cc4659",
"type": "link call",
"z": "80f2ffd4953c67e9",
"g": "c3cbb2a2dd06d1bb",
"name": "",
"links": [
"1452439e0c937126"
],
"linkType": "static",
"timeout": "30",
"x": 1340,
"y": 6560,
"wires": [
[
"bf5b9cb6fe9e3550"
]
]
},
{
"id": "104783a075f279a3",
"type": "catch",
"z": "80f2ffd4953c67e9",
"g": "1338205554153fa8",
"name": "catch error",
"scope": null,
"uncaught": false,
"x": 620,
"y": 60,
"wires": [
[
"225fbec54fe689f8"
]
]
},
{
"id": "225fbec54fe689f8",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "1338205554153fa8",
"name": "topic",
"rules": [
{
"t": "set",
"p": "topic",
"pt": "msg",
"to": "thermostat",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 790,
"y": 60,
"wires": [
[
"efdfaa2b7173a43a"
]
]
},
{
"id": "efdfaa2b7173a43a",
"type": "link out",
"z": "80f2ffd4953c67e9",
"g": "1338205554153fa8",
"name": "catch error",
"mode": "link",
"links": [
"a52f0e788cd4dca3"
],
"x": 915,
"y": 60,
"wires": []
},
{
"id": "949a8ee5f18f108a",
"type": "link in",
"z": "80f2ffd4953c67e9",
"g": "e6edd4684b272434",
"name": "thermostat - kernel - device - catch",
"links": [
"f1898b7dbc641cd6"
],
"x": 135,
"y": 240,
"wires": [
[
"fae8eb23e8443ee5"
]
]
},
{
"id": "fae8eb23e8443ee5",
"type": "switch",
"z": "80f2ffd4953c67e9",
"g": "e6edd4684b272434",
"name": "field",
"property": "field",
"propertyType": "msg",
"rules": [
{
"t": "eq",
"v": "pilot",
"vt": "str"
}
],
"checkall": "false",
"repair": false,
"outputs": 1,
"x": 270,
"y": 240,
"wires": [
[
"c2589545c2409827"
]
]
},
{
"id": "c2589545c2409827",
"type": "switch",
"z": "80f2ffd4953c67e9",
"g": "e6edd4684b272434",
"name": "measurement",
"property": "measurement",
"propertyType": "msg",
"rules": [
{
"t": "eq",
"v": "thermostat",
"vt": "str"
}
],
"checkall": "false",
"repair": false,
"outputs": 1,
"x": 460,
"y": 240,
"wires": [
[
"9ca9625cd3f893dc",
"55333767f9209bca",
"c5b547a57eb368ad",
"c79982618f4e3345",
"958bbeb30de3eada",
"4efebf9bfd65df96",
"96d26c543c5fcf13",
"73c382176ddebc2b",
"a900585cd904a957",
"873ead3b33da82c9",
"e069a71e517cb7ea",
"834fc1d89a1493b3",
"cb222ce1c4c3d7dc",
"ea848cdc88365d9a",
"2039bf8bb21c10d1",
"21d8e3e1da7313ff",
"657fe886d2a3f59f",
"f513b11976d16bb9",
"5f1e10e5657e3138",
"0c919f0ee88983ad",
"780cf693ea55249b",
"fb20d3e29fc3092d",
"2b4f4116011a9ca6",
"07b7d259f0949e49",
"3683e8f63f0dc5aa",
"bae9495793960012",
"d93c5182974350b0",
"ae60f951124d5757",
"f97b5115e1d99d4b",
"08830b1bec822cd0"
]
]
},
{
"id": "55333767f9209bca",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "e6edd4684b272434",
"name": "thermostat / confort setpoint / number / 21",
"rules": [
{
"t": "set",
"p": "field",
"pt": "msg",
"to": "confort setpoint",
"tot": "str"
},
{
"t": "set",
"p": "format",
"pt": "msg",
"to": "number",
"tot": "str"
},
{
"t": "set",
"p": "default",
"pt": "msg",
"to": "21",
"tot": "num"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 760,
"y": 360,
"wires": [
[
"1707bc7a4bb0daa5"
]
]
},
{
"id": "c5b547a57eb368ad",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "e6edd4684b272434",
"name": "thermostat / eco setpoint / number / 19",
"rules": [
{
"t": "set",
"p": "field",
"pt": "msg",
"to": "eco setpoint",
"tot": "str"
},
{
"t": "set",
"p": "format",
"pt": "msg",
"to": "number",
"tot": "str"
},
{
"t": "set",
"p": "default",
"pt": "msg",
"to": "19",
"tot": "num"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 750,
"y": 420,
"wires": [
[
"1707bc7a4bb0daa5"
]
]
},
{
"id": "958bbeb30de3eada",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "e6edd4684b272434",
"name": "thermostat / operating mode / text / eco",
"rules": [
{
"t": "set",
"p": "field",
"pt": "msg",
"to": "operating mode",
"tot": "str"
},
{
"t": "set",
"p": "format",
"pt": "msg",
"to": "text",
"tot": "str"
},
{
"t": "set",
"p": "default",
"pt": "msg",
"to": "eco",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 760,
"y": 600,
"wires": [
[
"1707bc7a4bb0daa5"
]
]
},
{
"id": "9ca9625cd3f893dc",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "e6edd4684b272434",
"name": "thermostat / actif / boolean / true",
"rules": [
{
"t": "set",
"p": "field",
"pt": "msg",
"to": "actif",
"tot": "str"
},
{
"t": "set",
"p": "format",
"pt": "msg",
"to": "boolean",
"tot": "str"
},
{
"t": "set",
"p": "default",
"pt": "msg",
"to": "true",
"tot": "bool"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 730,
"y": 300,
"wires": [
[
"1707bc7a4bb0daa5"
]
]
},
{
"id": "4efebf9bfd65df96",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "e6edd4684b272434",
"name": "thermostat / aperture opened / boolean / false",
"rules": [
{
"t": "set",
"p": "field",
"pt": "msg",
"to": "aperture opened",
"tot": "str"
},
{
"t": "set",
"p": "format",
"pt": "msg",
"to": "boolean",
"tot": "str"
},
{
"t": "set",
"p": "default",
"pt": "msg",
"to": "false",
"tot": "bool"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 770,
"y": 660,
"wires": [
[
"1707bc7a4bb0daa5"
]
]
},
{
"id": "96d26c543c5fcf13",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "e6edd4684b272434",
"name": "thermostat / delayed aperture / boolean / false",
"rules": [
{
"t": "set",
"p": "field",
"pt": "msg",
"to": "delayed aperture",
"tot": "str"
},
{
"t": "set",
"p": "format",
"pt": "msg",
"to": "boolean",
"tot": "str"
},
{
"t": "set",
"p": "default",
"pt": "msg",
"to": "false",
"tot": "bool"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 780,
"y": 720,
"wires": [
[
"1707bc7a4bb0daa5"
]
]
},
{
"id": "5f1e10e5657e3138",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "e6edd4684b272434",
"name": "thermostat / offloading power / number / 500",
"rules": [
{
"t": "set",
"p": "field",
"pt": "msg",
"to": "offloading power",
"tot": "str"
},
{
"t": "set",
"p": "format",
"pt": "msg",
"to": "number",
"tot": "str"
},
{
"t": "set",
"p": "default",
"pt": "msg",
"to": "500",
"tot": "num"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 770,
"y": 1440,
"wires": [
[
"1707bc7a4bb0daa5"
]
]
},
{
"id": "2039bf8bb21c10d1",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "e6edd4684b272434",
"name": "thermostat / indoor coefficient / number / 50",
"rules": [
{
"t": "set",
"p": "field",
"pt": "msg",
"to": "indoor coefficient",
"tot": "str"
},
{
"t": "set",
"p": "format",
"pt": "msg",
"to": "number",
"tot": "str"
},
{
"t": "set",
"p": "default",
"pt": "msg",
"to": "50",
"tot": "num"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 770,
"y": 1200,
"wires": [
[
"1707bc7a4bb0daa5"
]
]
},
{
"id": "21d8e3e1da7313ff",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "e6edd4684b272434",
"name": "thermostat / outdoor coefficient / number / 5",
"rules": [
{
"t": "set",
"p": "field",
"pt": "msg",
"to": "outdoor coefficient",
"tot": "str"
},
{
"t": "set",
"p": "format",
"pt": "msg",
"to": "number",
"tot": "str"
},
{
"t": "set",
"p": "default",
"pt": "msg",
"to": "5",
"tot": "num"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 770,
"y": 1260,
"wires": [
[
"1707bc7a4bb0daa5"
]
]
},
{
"id": "657fe886d2a3f59f",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "e6edd4684b272434",
"name": "thermostat / cycle time / number / 60",
"rules": [
{
"t": "set",
"p": "field",
"pt": "msg",
"to": "cycle time",
"tot": "str"
},
{
"t": "set",
"p": "format",
"pt": "msg",
"to": "number",
"tot": "str"
},
{
"t": "set",
"p": "default",
"pt": "msg",
"to": "60",
"tot": "num"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 750,
"y": 1320,
"wires": [
[
"1707bc7a4bb0daa5"
]
]
},
{
"id": "f513b11976d16bb9",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "e6edd4684b272434",
"name": "thermostat / preheat time / number / 15",
"rules": [
{
"t": "set",
"p": "field",
"pt": "msg",
"to": "preheat time",
"tot": "str"
},
{
"t": "set",
"p": "format",
"pt": "msg",
"to": "number",
"tot": "str"
},
{
"t": "set",
"p": "default",
"pt": "msg",
"to": "15",
"tot": "num"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 750,
"y": 1380,
"wires": [
[
"1707bc7a4bb0daa5"
]
]
},
{
"id": "73c382176ddebc2b",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "e6edd4684b272434",
"name": "thermostat / outdoor temperature / number / 20",
"rules": [
{
"t": "set",
"p": "field",
"pt": "msg",
"to": "outdoor temperature",
"tot": "str"
},
{
"t": "set",
"p": "format",
"pt": "msg",
"to": "number",
"tot": "str"
},
{
"t": "set",
"p": "default",
"pt": "msg",
"to": "20",
"tot": "num"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 780,
"y": 780,
"wires": [
[
"1707bc7a4bb0daa5"
]
]
},
{
"id": "a900585cd904a957",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "e6edd4684b272434",
"name": "thermostat / indoor temperature / number / 21",
"rules": [
{
"t": "set",
"p": "field",
"pt": "msg",
"to": "indoor temperature",
"tot": "str"
},
{
"t": "set",
"p": "format",
"pt": "msg",
"to": "number",
"tot": "str"
},
{
"t": "set",
"p": "default",
"pt": "msg",
"to": "21",
"tot": "num"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 770,
"y": 840,
"wires": [
[
"1707bc7a4bb0daa5"
]
]
},
{
"id": "873ead3b33da82c9",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "e6edd4684b272434",
"name": "thermostat / heat request / boolean / false",
"rules": [
{
"t": "set",
"p": "field",
"pt": "msg",
"to": "heat request",
"tot": "str"
},
{
"t": "set",
"p": "format",
"pt": "msg",
"to": "boolean",
"tot": "str"
},
{
"t": "set",
"p": "default",
"pt": "msg",
"to": "false",
"tot": "bool"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 760,
"y": 900,
"wires": [
[
"1707bc7a4bb0daa5"
]
]
},
{
"id": "e069a71e517cb7ea",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "e6edd4684b272434",
"name": "thermostat / status / text / stopped",
"rules": [
{
"t": "set",
"p": "field",
"pt": "msg",
"to": "status",
"tot": "str"
},
{
"t": "set",
"p": "format",
"pt": "msg",
"to": "text",
"tot": "str"
},
{
"t": "set",
"p": "default",
"pt": "msg",
"to": "stopped",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 740,
"y": 960,
"wires": [
[
"1707bc7a4bb0daa5"
]
]
},
{
"id": "834fc1d89a1493b3",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "e6edd4684b272434",
"name": "thermostat / offloading / boolean / false",
"rules": [
{
"t": "set",
"p": "field",
"pt": "msg",
"to": "offloading",
"tot": "str"
},
{
"t": "set",
"p": "format",
"pt": "msg",
"to": "boolean",
"tot": "str"
},
{
"t": "set",
"p": "default",
"pt": "msg",
"to": "false",
"tot": "bool"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 750,
"y": 1020,
"wires": [
[
"1707bc7a4bb0daa5"
]
]
},
{
"id": "c79982618f4e3345",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "e6edd4684b272434",
"name": "thermostat / temperature setpoint / number / 19",
"rules": [
{
"t": "set",
"p": "field",
"pt": "msg",
"to": "temperature setpoint",
"tot": "str"
},
{
"t": "set",
"p": "format",
"pt": "msg",
"to": "number",
"tot": "str"
},
{
"t": "set",
"p": "default",
"pt": "msg",
"to": "19",
"tot": "num"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 780,
"y": 540,
"wires": [
[
"1707bc7a4bb0daa5"
]
]
},
{
"id": "cb222ce1c4c3d7dc",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "e6edd4684b272434",
"name": "thermostat / last pilot / number / 0",
"rules": [
{
"t": "set",
"p": "field",
"pt": "msg",
"to": "last pilot",
"tot": "str"
},
{
"t": "set",
"p": "format",
"pt": "msg",
"to": "number",
"tot": "str"
},
{
"t": "set",
"p": "default",
"pt": "msg",
"to": "0",
"tot": "num"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 740,
"y": 1080,
"wires": [
[
"1707bc7a4bb0daa5"
]
]
},
{
"id": "3006243d30270236",
"type": "link out",
"z": "80f2ffd4953c67e9",
"g": "e6edd4684b272434",
"name": "thermostat - device",
"mode": "link",
"links": [
"bfa594bf1f876c92"
],
"x": 1195,
"y": 240,
"wires": []
},
{
"id": "1707bc7a4bb0daa5",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "e6edd4684b272434",
"name": "...",
"rules": [],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 1050,
"y": 240,
"wires": [
[
"3006243d30270236"
]
]
},
{
"id": "ea848cdc88365d9a",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "e6edd4684b272434",
"name": "thermostat / offloading count / number / 0",
"rules": [
{
"t": "set",
"p": "field",
"pt": "msg",
"to": "offloading count",
"tot": "str"
},
{
"t": "set",
"p": "format",
"pt": "msg",
"to": "number",
"tot": "str"
},
{
"t": "set",
"p": "default",
"pt": "msg",
"to": "0",
"tot": "num"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 760,
"y": 1140,
"wires": [
[
"1707bc7a4bb0daa5"
]
]
},
{
"id": "0c919f0ee88983ad",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "e6edd4684b272434",
"name": "thermostat / aperture 1 / text / ",
"rules": [
{
"t": "set",
"p": "field",
"pt": "msg",
"to": "aperture 1",
"tot": "str"
},
{
"t": "set",
"p": "format",
"pt": "msg",
"to": "text",
"tot": "str"
},
{
"t": "set",
"p": "default",
"pt": "msg",
"to": "",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 730,
"y": 1500,
"wires": [
[
"1707bc7a4bb0daa5"
]
]
},
{
"id": "780cf693ea55249b",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "e6edd4684b272434",
"name": "thermostat / aperture 2 / text / ",
"rules": [
{
"t": "set",
"p": "field",
"pt": "msg",
"to": "aperture 2",
"tot": "str"
},
{
"t": "set",
"p": "format",
"pt": "msg",
"to": "text",
"tot": "str"
},
{
"t": "set",
"p": "default",
"pt": "msg",
"to": "",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 730,
"y": 1560,
"wires": [
[
"1707bc7a4bb0daa5"
]
]
},
{
"id": "fb20d3e29fc3092d",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "e6edd4684b272434",
"name": "thermostat / aperture 3 / text / ",
"rules": [
{
"t": "set",
"p": "field",
"pt": "msg",
"to": "aperture 3",
"tot": "str"
},
{
"t": "set",
"p": "format",
"pt": "msg",
"to": "text",
"tot": "str"
},
{
"t": "set",
"p": "default",
"pt": "msg",
"to": "",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 730,
"y": 1620,
"wires": [
[
"1707bc7a4bb0daa5"
]
]
},
{
"id": "2b4f4116011a9ca6",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "e6edd4684b272434",
"name": "thermostat / aperture 4 / text / ",
"rules": [
{
"t": "set",
"p": "field",
"pt": "msg",
"to": "aperture 4",
"tot": "str"
},
{
"t": "set",
"p": "format",
"pt": "msg",
"to": "text",
"tot": "str"
},
{
"t": "set",
"p": "default",
"pt": "msg",
"to": "",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 730,
"y": 1680,
"wires": [
[
"1707bc7a4bb0daa5"
]
]
},
{
"id": "07b7d259f0949e49",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "e6edd4684b272434",
"name": "thermostat / aperture 5 / text / ",
"rules": [
{
"t": "set",
"p": "field",
"pt": "msg",
"to": "aperture 5",
"tot": "str"
},
{
"t": "set",
"p": "format",
"pt": "msg",
"to": "text",
"tot": "str"
},
{
"t": "set",
"p": "default",
"pt": "msg",
"to": "",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 730,
"y": 1740,
"wires": [
[
"1707bc7a4bb0daa5"
]
]
},
{
"id": "a895f0ea053086fe",
"type": "comment",
"z": "80f2ffd4953c67e9",
"g": "e6edd4684b272434",
"name": "scan device registration to find xxx / thermostat / pilot",
"info": "",
"x": 310,
"y": 300,
"wires": []
},
{
"id": "3683e8f63f0dc5aa",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "e6edd4684b272434",
"name": "thermostat / aperture delay / number / 5",
"rules": [
{
"t": "set",
"p": "field",
"pt": "msg",
"to": "aperture delay",
"tot": "str"
},
{
"t": "set",
"p": "format",
"pt": "msg",
"to": "number",
"tot": "str"
},
{
"t": "set",
"p": "default",
"pt": "msg",
"to": "5",
"tot": "num"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 760,
"y": 1980,
"wires": [
[
"1707bc7a4bb0daa5"
]
]
},
{
"id": "bae9495793960012",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "e6edd4684b272434",
"name": "thermostat / offloading delay / number / 30",
"rules": [
{
"t": "set",
"p": "field",
"pt": "msg",
"to": "offloading delay",
"tot": "str"
},
{
"t": "set",
"p": "format",
"pt": "msg",
"to": "number",
"tot": "str"
},
{
"t": "set",
"p": "default",
"pt": "msg",
"to": "30",
"tot": "num"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 760,
"y": 2040,
"wires": [
[
"1707bc7a4bb0daa5"
]
]
},
{
"id": "7837b5fcc1432bfa",
"type": "link in",
"z": "80f2ffd4953c67e9",
"g": "8ecd405cd0a1e5ac",
"name": "thermostat - update - aperture opened",
"links": [
"6b4c87d53563c36d"
],
"x": 135,
"y": 5280,
"wires": [
[
"87b35783671bc785"
]
]
},
{
"id": "6632e88ee0633e4c",
"type": "link out",
"z": "80f2ffd4953c67e9",
"g": "8ecd405cd0a1e5ac",
"name": "thermostat - update - aperture opened",
"mode": "link",
"links": [
"63f9a6d8c925d3d3"
],
"x": 2555,
"y": 5340,
"wires": []
},
{
"id": "87b35783671bc785",
"type": "switch",
"z": "80f2ffd4953c67e9",
"g": "8ecd405cd0a1e5ac",
"name": "trigger",
"property": "path",
"propertyType": "msg",
"rules": [
{
"t": "eq",
"v": "th['aperture 1']",
"vt": "msg"
},
{
"t": "eq",
"v": "th['aperture 2']",
"vt": "msg"
},
{
"t": "eq",
"v": "th['aperture 3']",
"vt": "msg"
},
{
"t": "eq",
"v": "th['aperture 4']",
"vt": "msg"
},
{
"t": "eq",
"v": "th['aperture 5']",
"vt": "msg"
},
{
"t": "eq",
"v": "th['aperture 6']",
"vt": "msg"
}
],
"checkall": "false",
"repair": false,
"outputs": 6,
"x": 270,
"y": 5280,
"wires": [
[
"632ae6a86b8d4095"
],
[
"632ae6a86b8d4095"
],
[
"632ae6a86b8d4095"
],
[
"632ae6a86b8d4095"
],
[
"632ae6a86b8d4095"
],
[
"632ae6a86b8d4095"
]
]
},
{
"id": "748b1f355c0e00f8",
"type": "switch",
"z": "80f2ffd4953c67e9",
"g": "8ecd405cd0a1e5ac",
"name": "compare",
"property": "#:(onMemory)::aperture[msg.th.bucket]",
"propertyType": "flow",
"rules": [
{
"t": "neq",
"v": "th['aperture opened']",
"vt": "msg"
}
],
"checkall": "false",
"repair": false,
"outputs": 1,
"x": 2240,
"y": 5300,
"wires": [
[
"86cb7c12e7bccf56"
]
]
},
{
"id": "86cb7c12e7bccf56",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "8ecd405cd0a1e5ac",
"name": "set field",
"rules": [
{
"t": "set",
"p": "field",
"pt": "msg",
"to": "aperture opened",
"tot": "str"
},
{
"t": "set",
"p": "trigger_payload",
"pt": "msg",
"to": "#:(onMemory)::aperture[msg.th.bucket]",
"tot": "flow"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 2420,
"y": 5340,
"wires": [
[
"6632e88ee0633e4c",
"a91a6950282e40e0"
]
]
},
{
"id": "a91a6950282e40e0",
"type": "debug",
"z": "80f2ffd4953c67e9",
"g": "8ecd405cd0a1e5ac",
"name": "thermostat - trigger - aperture opened",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"statusVal": "",
"statusType": "auto",
"x": 2690,
"y": 5280,
"wires": []
},
{
"id": "c3b17da928d7afba",
"type": "debug",
"z": "80f2ffd4953c67e9",
"g": "e653f3ec3dc88a8f",
"name": "thermostat - trigger - indoor temperature",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"statusVal": "",
"statusType": "auto",
"x": 1580,
"y": 4860,
"wires": []
},
{
"id": "048bc1e501b0f9f2",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "b3bc1717c16dc7dc",
"name": "confort",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "confort",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 2450,
"y": 6060,
"wires": [
[
"0728c8c3564e6e93"
]
]
},
{
"id": "3b8d8924bdb03f80",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "b3bc1717c16dc7dc",
"name": "eco",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "eco",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 2450,
"y": 6000,
"wires": [
[
"0728c8c3564e6e93"
]
]
},
{
"id": "3e40fc1c77ed372a",
"type": "switch",
"z": "80f2ffd4953c67e9",
"g": "b3bc1717c16dc7dc",
"name": "mode heating",
"property": "metrics.system.mode.heating",
"propertyType": "global",
"rules": [
{
"t": "eq",
"v": "off",
"vt": "str"
},
{
"t": "eq",
"v": "cool",
"vt": "str"
},
{
"t": "eq",
"v": "anti-freeze",
"vt": "str"
},
{
"t": "eq",
"v": "automatic",
"vt": "str"
}
],
"checkall": "false",
"repair": false,
"outputs": 4,
"x": 1820,
"y": 5880,
"wires": [
[
"b461040a6c998b61"
],
[
"0cac48ac1fa4efa4"
],
[
"3c808f997ae66a1c"
],
[
"069ab711c0c089a6"
]
]
},
{
"id": "b461040a6c998b61",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "b3bc1717c16dc7dc",
"name": "off",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "off",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 2450,
"y": 5820,
"wires": [
[
"0728c8c3564e6e93"
]
]
},
{
"id": "3c808f997ae66a1c",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "b3bc1717c16dc7dc",
"name": "anti-freeze",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "anti-freeze",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 2470,
"y": 5940,
"wires": [
[
"0728c8c3564e6e93"
]
]
},
{
"id": "069ab711c0c089a6",
"type": "switch",
"z": "80f2ffd4953c67e9",
"g": "b3bc1717c16dc7dc",
"name": "hour confort",
"property": "payload",
"propertyType": "msg",
"rules": [
{
"t": "eq",
"v": "0",
"vt": "num"
},
{
"t": "else"
}
],
"checkall": "false",
"repair": false,
"outputs": 2,
"x": 2050,
"y": 6000,
"wires": [
[
"3b8d8924bdb03f80"
],
[
"35ea643afefc732d"
]
]
},
{
"id": "c20295d9b0ac3419",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "b3bc1717c16dc7dc",
"name": "set metric",
"rules": [
{
"t": "set",
"p": "bucket",
"pt": "msg",
"to": "scene.bucket",
"tot": "msg"
},
{
"t": "set",
"p": "measurement",
"pt": "msg",
"to": "scene.measurement",
"tot": "msg"
},
{
"t": "set",
"p": "field",
"pt": "msg",
"to": "scene.field",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 2840,
"y": 5880,
"wires": [
[
"e267a0404a5c5d6c",
"34992e101a5f7e1c"
]
]
},
{
"id": "34992e101a5f7e1c",
"type": "debug",
"z": "80f2ffd4953c67e9",
"g": "b3bc1717c16dc7dc",
"name": "thermostat - update - operating mode",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"statusVal": "",
"statusType": "auto",
"x": 3110,
"y": 5820,
"wires": []
},
{
"id": "36eb92fa692e166c",
"type": "switch",
"z": "80f2ffd4953c67e9",
"g": "b3bc1717c16dc7dc",
"name": "rsp",
"property": "routine.response",
"propertyType": "msg",
"rules": [
{
"t": "eq",
"v": "1",
"vt": "num"
}
],
"checkall": "false",
"repair": false,
"outputs": 1,
"x": 1630,
"y": 5880,
"wires": [
[
"3e40fc1c77ed372a"
]
]
},
{
"id": "d4c1d964e9c56e01",
"type": "link call",
"z": "80f2ffd4953c67e9",
"g": "b3bc1717c16dc7dc",
"name": "",
"links": [
"c1a22098f4c6b607"
],
"linkType": "static",
"timeout": "30",
"x": 1450,
"y": 5880,
"wires": [
[
"36eb92fa692e166c"
]
]
},
{
"id": "abd02925c2597211",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "b3bc1717c16dc7dc",
"name": "scene thermostat / operating mode / text",
"rules": [
{
"t": "set",
"p": "scene.bucket",
"pt": "msg",
"to": "room",
"tot": "msg"
},
{
"t": "set",
"p": "scene.measurement",
"pt": "msg",
"to": "thermostat",
"tot": "str"
},
{
"t": "set",
"p": "scene.field",
"pt": "msg",
"to": "operating mode",
"tot": "str"
},
{
"t": "set",
"p": "scene.format",
"pt": "msg",
"to": "text",
"tot": "str"
},
{
"t": "set",
"p": "scene.type",
"pt": "msg",
"to": "thermostat",
"tot": "str"
},
{
"t": "set",
"p": "scene.on",
"pt": "msg",
"to": "eco",
"tot": "str"
},
{
"t": "set",
"p": "scene.off",
"pt": "msg",
"to": "off",
"tot": "str"
},
{
"t": "delete",
"p": "room",
"pt": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 1160,
"y": 5880,
"wires": [
[
"d4c1d964e9c56e01"
]
]
},
{
"id": "e267a0404a5c5d6c",
"type": "link out",
"z": "80f2ffd4953c67e9",
"g": "b3bc1717c16dc7dc",
"name": "thermostat - update - operating mode",
"mode": "link",
"links": [
"206c1fb4a48067df"
],
"x": 2975,
"y": 5880,
"wires": []
},
{
"id": "758acb218148a1d7",
"type": "comment",
"z": "80f2ffd4953c67e9",
"g": "b3bc1717c16dc7dc",
"name": "don not call system/mode/heating as thermostat because of modes off are different",
"info": "",
"x": 1670,
"y": 5820,
"wires": []
},
{
"id": "0728c8c3564e6e93",
"type": "switch",
"z": "80f2ffd4953c67e9",
"g": "b3bc1717c16dc7dc",
"name": "compare",
"property": "payload",
"propertyType": "msg",
"rules": [
{
"t": "neq",
"v": "routine[msg.scene.field]",
"vt": "msg"
}
],
"checkall": "false",
"repair": false,
"outputs": 1,
"x": 2660,
"y": 5880,
"wires": [
[
"c20295d9b0ac3419"
]
]
},
{
"id": "d1c7f4810b12afe2",
"type": "link in",
"z": "80f2ffd4953c67e9",
"g": "b3bc1717c16dc7dc",
"name": "thermostat - update - operating mode - out",
"links": [
"0857f7c3fc012063",
"2ced5243fb4aa8a7",
"2df681beb21344f6",
"307e1f98694a09a1",
"377374bc3cc49bc5",
"438b7d7c7b096219",
"4a2c85990a2b061e",
"7dc41ad29651ef76",
"9820c6e109f25a2a",
"f8f9a6db99bb33e8"
],
"x": 755,
"y": 5880,
"wires": [
[
"d6ec98126b0438ab"
]
]
},
{
"id": "35ea643afefc732d",
"type": "switch",
"z": "80f2ffd4953c67e9",
"g": "b3bc1717c16dc7dc",
"name": "mode presence",
"property": "metrics.system.mode.presence",
"propertyType": "global",
"rules": [
{
"t": "eq",
"v": "absent",
"vt": "str"
},
{
"t": "else"
}
],
"checkall": "false",
"repair": false,
"outputs": 2,
"x": 2260,
"y": 6060,
"wires": [
[
"3b8d8924bdb03f80"
],
[
"048bc1e501b0f9f2"
]
]
},
{
"id": "45bd2f5743776c20",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "b3bc1717c16dc7dc",
"name": "sync",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "sync",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 470,
"y": 5880,
"wires": [
[
"84f1bb54c15f032d"
]
]
},
{
"id": "d6ec98126b0438ab",
"type": "switch",
"z": "80f2ffd4953c67e9",
"g": "b3bc1717c16dc7dc",
"name": "room",
"property": "room",
"propertyType": "msg",
"rules": [
{
"t": "istype",
"v": "string",
"vt": "string"
}
],
"checkall": "false",
"repair": false,
"outputs": 1,
"x": 890,
"y": 5880,
"wires": [
[
"abd02925c2597211"
]
]
},
{
"id": "84f1bb54c15f032d",
"type": "link out",
"z": "80f2ffd4953c67e9",
"g": "b3bc1717c16dc7dc",
"name": "thermostat - update - operating modee - in",
"mode": "link",
"links": [
"30a4c71f8d02384d",
"3dc0abb4933cf52c",
"628c2e8014a8c40c",
"64765643b13c207f",
"6f4850f14b12df44",
"8f0b1f8de9fbfc9f",
"94744f7b1ec149b3",
"afd97549392e0e45",
"c39d452224c976fc",
"eec0c12c5dac7ac0"
],
"x": 595,
"y": 5880,
"wires": []
},
{
"id": "f05d34dd5ff9746b",
"type": "link in",
"z": "80f2ffd4953c67e9",
"g": "b3bc1717c16dc7dc",
"name": "thermostat - update - operating mode - boot",
"links": [
"427c0a5a050502e2"
],
"x": 135,
"y": 5880,
"wires": [
[
"080a2e3d678b9119"
]
]
},
{
"id": "9737afb19d9c9fbb",
"type": "link in",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"name": "room - ui - thermostat - load",
"links": [
"9e4bfee0db3051d4"
],
"x": 1375,
"y": 240,
"wires": [
[
"4b8267934ced5596",
"86a901b933d34c8a"
]
]
},
{
"id": "dd49b4996fb683ff",
"type": "link in",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"name": "room - ui - thermostat - metric",
"links": [
"b6323e1460f6f50c"
],
"x": 1375,
"y": 300,
"wires": [
[
"7e364afe6e09d405"
]
]
},
{
"id": "fc673a36d8691d63",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"name": "reset",
"rules": [],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 2450,
"y": 360,
"wires": [
[
"f85914dec075a3d8",
"f968a8fc298f04c3",
"37794c3da2ceda38",
"f23d5105ca948593",
"348134507ffe8815",
"93e874f6e4a1f87a",
"3d40410e159beaab",
"4565730f04bd7072",
"79764253e9e92fda",
"4ad97596d0efa64b",
"63561fec4fba2afd",
"07108de5adf3ae2a",
"bcf6468037b4c2a6",
"4c5adf85df17025b",
"3f9eefa51c1e5e9e",
"dfd8650d923f73e4",
"53f7b3195f6dfeed",
"6cc81c8342d6ef1c",
"99e789a941d2af52",
"f7ed99ce22cd37cb",
"cb3f8f9fa322b59f",
"51dc21bc28ea3f06",
"272807d6b707d92f",
"4540d4f432f8742d",
"6d0cb16590b1da18",
"bfb0a473b6a09c81",
"61d316384ef1521b",
"8c3c9bc4a66b1e32",
"ff2211c1efd24971",
"33fde1af7428bf26",
"f814aebd5bd599b5",
"25b3542fda8fae4d",
"e223793b9998818b",
"bc775d86aa14a73f",
"aefd619aa22eea0b",
"b74bf0ca5e271336"
]
]
},
{
"id": "37aa96c6d80d8ade",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"name": "set metric",
"rules": [
{
"t": "set",
"p": "measurement",
"pt": "msg",
"to": "thermostat",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 3120,
"y": 600,
"wires": [
[
"1ef76a4c1fab9b78"
]
]
},
{
"id": "1ef76a4c1fab9b78",
"type": "link out",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"name": "room - ui - thermostat - metric",
"mode": "link",
"links": [
"2690f4e06626ebda"
],
"x": 3255,
"y": 600,
"wires": []
},
{
"id": "adc6196b15cf8c39",
"type": "switch",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"name": "field",
"property": "field",
"propertyType": "msg",
"rules": [
{
"t": "eq",
"v": "actif",
"vt": "str"
},
{
"t": "eq",
"v": "status",
"vt": "str"
},
{
"t": "eq",
"v": "heat request",
"vt": "str"
},
{
"t": "eq",
"v": "pilot",
"vt": "str"
},
{
"t": "eq",
"v": "aperture opened",
"vt": "str"
},
{
"t": "eq",
"v": "delayed aperture",
"vt": "str"
},
{
"t": "eq",
"v": "temperature setpoint",
"vt": "str"
},
{
"t": "eq",
"v": "indoor temperature",
"vt": "str"
},
{
"t": "eq",
"v": "outdoor temperature",
"vt": "str"
},
{
"t": "eq",
"v": "operating mode",
"vt": "str"
},
{
"t": "eq",
"v": "eco setpoint",
"vt": "str"
},
{
"t": "eq",
"v": "confort setpoint",
"vt": "str"
},
{
"t": "eq",
"v": "cold setpoint",
"vt": "str"
},
{
"t": "eq",
"v": "indoor coefficient",
"vt": "str"
},
{
"t": "eq",
"v": "outdoor coefficient",
"vt": "str"
},
{
"t": "eq",
"v": "preheat time",
"vt": "str"
},
{
"t": "eq",
"v": "cycle time",
"vt": "str"
},
{
"t": "eq",
"v": "aperture delay",
"vt": "str"
},
{
"t": "eq",
"v": "offloading delay",
"vt": "str"
},
{
"t": "eq",
"v": "offloading power",
"vt": "str"
},
{
"t": "eq",
"v": "aperture 1",
"vt": "str"
},
{
"t": "eq",
"v": "aperture 2",
"vt": "str"
},
{
"t": "eq",
"v": "aperture 3",
"vt": "str"
},
{
"t": "eq",
"v": "aperture 4",
"vt": "str"
},
{
"t": "eq",
"v": "aperture 5",
"vt": "str"
},
{
"t": "eq",
"v": "aperture 6",
"vt": "str"
},
{
"t": "eq",
"v": "outdoor 1",
"vt": "str"
},
{
"t": "eq",
"v": "outdoor 2",
"vt": "str"
},
{
"t": "eq",
"v": "last pilot",
"vt": "str"
}
],
"checkall": "false",
"repair": false,
"outputs": 29,
"x": 1910,
"y": 600,
"wires": [
[
"f85914dec075a3d8",
"1d92bf6b8fc98959"
],
[
"fb9711affc7d14af"
],
[
"61d316384ef1521b"
],
[
"37794c3da2ceda38"
],
[
"bd8ab43b4a91a2ae"
],
[
"19b6504e1bbece40"
],
[
"a7420198a3e0f879"
],
[
"26537f8818c29c61"
],
[
"27d7b08fb3646a52"
],
[
"151d5194b8538480"
],
[
"07108de5adf3ae2a",
"f670239d8cf08808"
],
[
"bcf6468037b4c2a6",
"a4b56ada8159bff6"
],
[
"b87af6e4d9e65d33",
"bc775d86aa14a73f"
],
[
"6cc81c8342d6ef1c",
"990b4d58c23a68a2"
],
[
"f7ed99ce22cd37cb",
"ee3e358d88bbf249"
],
[
"51dc21bc28ea3f06",
"6f096e24c9634c56"
],
[
"4540d4f432f8742d",
"83b16f9aed4fa051"
],
[
"ff2211c1efd24971",
"db3ebf0b6421aeae"
],
[
"f814aebd5bd599b5",
"10c3697bddec1a05"
],
[
"bfb0a473b6a09c81",
"4f0ea1cdd4d0b719"
],
[
"3afbcb94c2dd9a98"
],
[
"5058697599c00bfb"
],
[
"788641b627884830"
],
[
"2a09806bd2dd8204"
],
[
"2daacd754d59567f"
],
[
"2f53d6a12a1b9648"
],
[
"74b33297e4369aee"
],
[
"a3a5880c2003c6cd"
],
[
"c4f79cb042dc36a1"
]
]
},
{
"id": "26bdcbaa93cfcc27",
"type": "humanizer",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"name": "",
"input": "msg.payload",
"x": 2250,
"y": 2280,
"wires": [
[
"2efa063af4b505d2"
]
]
},
{
"id": "c4f79cb042dc36a1",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"name": "calcul",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "$round(($millis() - msg.payload)/1000)",
"tot": "jsonata"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 2070,
"y": 2280,
"wires": [
[
"26bdcbaa93cfcc27"
]
]
},
{
"id": "f391ba85b3d53073",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"name": "set metric",
"rules": [
{
"t": "set",
"p": "measurement",
"pt": "msg",
"to": "cible",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 3120,
"y": 780,
"wires": [
[
"1ef76a4c1fab9b78"
]
]
},
{
"id": "7e364afe6e09d405",
"type": "switch",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"name": "measurement",
"property": "measurement",
"propertyType": "msg",
"rules": [
{
"t": "eq",
"v": "thermostat",
"vt": "str"
}
],
"checkall": "false",
"repair": false,
"outputs": 1,
"x": 1540,
"y": 300,
"wires": [
[
"39615dab9370d868",
"f8705fb32062a93f"
]
]
},
{
"id": "f85914dec075a3d8",
"type": "ui-switch",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"name": "actif",
"label": "",
"group": "28836135eb153545",
"order": 2,
"width": "1",
"height": "1",
"passthru": false,
"topic": "actif",
"topicType": "str",
"style": "",
"className": "",
"onvalue": "true",
"onvalueType": "bool",
"onicon": "cog",
"oncolor": "teal",
"offvalue": "false",
"offvalueType": "bool",
"officon": "cog-off-outline",
"offcolor": "grey",
"x": 2870,
"y": 600,
"wires": [
[
"37aa96c6d80d8ade"
]
]
},
{
"id": "bd8ab43b4a91a2ae",
"type": "ui-switch",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"name": "aperture opened",
"label": "",
"group": "28836135eb153545",
"order": 6,
"width": "1",
"height": "1",
"passthru": false,
"topic": "topic",
"topicType": "msg",
"style": "",
"className": "",
"onvalue": "true",
"onvalueType": "bool",
"onicon": "door-open",
"oncolor": "teal",
"offvalue": "false",
"offvalueType": "bool",
"officon": "door-closed",
"offcolor": "grey",
"x": 2900,
"y": 840,
"wires": [
[]
]
},
{
"id": "19b6504e1bbece40",
"type": "ui-switch",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"name": "delayed aperture",
"label": "",
"group": "28836135eb153545",
"order": 7,
"width": "1",
"height": "1",
"passthru": false,
"topic": "topic",
"topicType": "msg",
"style": "",
"className": "",
"onvalue": "true",
"onvalueType": "bool",
"onicon": "timer-remove",
"oncolor": "grey",
"offvalue": "false",
"offvalueType": "bool",
"officon": "timer-check",
"offcolor": "teal",
"x": 2910,
"y": 900,
"wires": [
[]
]
},
{
"id": "f968a8fc298f04c3",
"type": "ui-dropdown",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"group": "28836135eb153545",
"name": "operating mode",
"label": "Mode",
"tooltip": "",
"order": 11,
"width": "6",
"height": "1",
"passthru": false,
"multiple": false,
"chips": false,
"clearable": false,
"options": [
{
"label": "Arrêt",
"value": "off",
"type": "str"
}
],
"payload": "",
"topic": "operating mode",
"topicType": "str",
"className": "",
"typeIsComboBox": true,
"x": 2900,
"y": 1140,
"wires": [
[
"37aa96c6d80d8ade"
]
]
},
{
"id": "07108de5adf3ae2a",
"type": "ui-slider",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"group": "28836135eb153545",
"name": "eco setpoint",
"label": "",
"tooltip": "",
"order": 13,
"width": "4",
"height": "1",
"passthru": false,
"outs": "end",
"topic": "eco setpoint",
"topicType": "str",
"thumbLabel": true,
"min": "15",
"max": "35",
"step": "0.5",
"className": "",
"x": 2890,
"y": 1200,
"wires": [
[
"37aa96c6d80d8ade"
]
]
},
{
"id": "bcf6468037b4c2a6",
"type": "ui-slider",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"group": "28836135eb153545",
"name": "confort setpoint",
"label": "",
"tooltip": "",
"order": 15,
"width": "4",
"height": "1",
"passthru": false,
"outs": "end",
"topic": "confort setpoint",
"topicType": "str",
"thumbLabel": true,
"min": "15",
"max": "35",
"step": "0.5",
"className": "",
"x": 2900,
"y": 1260,
"wires": [
[
"37aa96c6d80d8ade"
]
]
},
{
"id": "37794c3da2ceda38",
"type": "ui-switch",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"name": "pilot",
"label": "",
"group": "28836135eb153545",
"order": 5,
"width": "1",
"height": "1",
"passthru": false,
"topic": "pilot",
"topicType": "str",
"style": "",
"className": "",
"onvalue": "true",
"onvalueType": "bool",
"onicon": "power-plug",
"oncolor": "teal",
"offvalue": "false",
"offvalueType": "bool",
"officon": "power-plug-off",
"offcolor": "grey",
"x": 2870,
"y": 780,
"wires": [
[
"f391ba85b3d53073"
]
]
},
{
"id": "dfd8650d923f73e4",
"type": "ui-text",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"group": "28836135eb153545",
"order": 9,
"width": "2",
"height": "1",
"name": "indoor temperature",
"label": "",
"format": "{{msg.payload}}",
"layout": "row-left",
"style": false,
"font": "",
"fontSize": 16,
"color": "#717171",
"className": "",
"x": 2650,
"y": 1080,
"wires": []
},
{
"id": "4c5adf85df17025b",
"type": "ui-text",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"group": "28836135eb153545",
"order": 8,
"width": "2",
"height": "1",
"name": "temperature setpoint",
"label": "",
"format": "{{msg.payload}}",
"layout": "row-left",
"style": false,
"font": "",
"fontSize": 16,
"color": "#717171",
"className": "",
"x": 2660,
"y": 960,
"wires": []
},
{
"id": "26537f8818c29c61",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"name": "format",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "'Interieur à '&msg.payload&'°'",
"tot": "jsonata"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 2070,
"y": 1080,
"wires": [
[
"dfd8650d923f73e4"
]
]
},
{
"id": "a7420198a3e0f879",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"name": "format",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "'Consigne à '&msg.payload&'°'",
"tot": "jsonata"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 2070,
"y": 960,
"wires": [
[
"4c5adf85df17025b"
]
]
},
{
"id": "f23d5105ca948593",
"type": "ui-text",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"group": "28836135eb153545",
"order": 40,
"width": "6",
"height": "1",
"name": "seens",
"label": "",
"format": "{{msg.payload}}",
"layout": "row-spread",
"style": false,
"font": "",
"fontSize": 16,
"color": "#717171",
"className": "",
"x": 2610,
"y": 2280,
"wires": []
},
{
"id": "2efa063af4b505d2",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"name": "format",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "'Dernier ordre il y a '&msg.payload.humanized",
"tot": "jsonata"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 2430,
"y": 2280,
"wires": [
[
"f23d5105ca948593"
]
]
},
{
"id": "6cc81c8342d6ef1c",
"type": "ui-slider",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"group": "28836135eb153545",
"name": "indoor coefficient",
"label": "",
"tooltip": "",
"order": 19,
"width": "4",
"height": "1",
"passthru": false,
"outs": "end",
"topic": "indoor coefficient",
"topicType": "str",
"thumbLabel": true,
"min": 0,
"max": "200",
"step": 1,
"className": "",
"x": 2910,
"y": 1380,
"wires": [
[
"37aa96c6d80d8ade"
]
]
},
{
"id": "f7ed99ce22cd37cb",
"type": "ui-slider",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"group": "28836135eb153545",
"name": "outdoor coefficient",
"label": "",
"tooltip": "",
"order": 21,
"width": "4",
"height": "1",
"passthru": false,
"outs": "end",
"topic": "outdoor coefficient",
"topicType": "str",
"thumbLabel": true,
"min": 0,
"max": "200",
"step": 1,
"className": "",
"x": 2910,
"y": 1440,
"wires": [
[
"37aa96c6d80d8ade"
]
]
},
{
"id": "348134507ffe8815",
"type": "ui-text",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"group": "28836135eb153545",
"order": 3,
"width": "2",
"height": "1",
"name": "status",
"label": "",
"format": "{{msg.payload}}",
"layout": "row-left",
"style": false,
"font": "",
"fontSize": 16,
"color": "#717171",
"className": "",
"x": 2610,
"y": 660,
"wires": []
},
{
"id": "63561fec4fba2afd",
"type": "ui-text",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"group": "28836135eb153545",
"order": 12,
"width": "2",
"height": "1",
"name": "eco setpoint (txt)",
"label": "",
"format": "{{msg.payload}}",
"layout": "row-right",
"style": false,
"font": "",
"fontSize": 16,
"color": "#717171",
"className": "",
"x": 2650,
"y": 1200,
"wires": []
},
{
"id": "53f7b3195f6dfeed",
"type": "ui-text",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"group": "28836135eb153545",
"order": 18,
"width": "2",
"height": "1",
"name": "indoor coefficient (txt)",
"label": "",
"format": "{{msg.payload}}",
"layout": "row-right",
"style": false,
"font": "",
"fontSize": 16,
"color": "#717171",
"className": "",
"x": 2660,
"y": 1380,
"wires": []
},
{
"id": "99e789a941d2af52",
"type": "ui-text",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"group": "28836135eb153545",
"order": 20,
"width": "2",
"height": "1",
"name": "outdoor coefficient (txt)",
"label": "",
"format": "{{msg.payload}}",
"layout": "row-right",
"style": false,
"font": "",
"fontSize": 16,
"color": "#717171",
"className": "",
"x": 2660,
"y": 1440,
"wires": []
},
{
"id": "39615dab9370d868",
"type": "delay",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"name": "150 ms",
"pauseType": "delay",
"timeout": "250",
"timeoutUnits": "milliseconds",
"rate": "1",
"nbRateUnits": "1",
"rateUnits": "second",
"randomFirst": "1",
"randomLast": "5",
"randomUnits": "seconds",
"drop": false,
"allowrate": false,
"outputs": 1,
"x": 1740,
"y": 600,
"wires": [
[
"adc6196b15cf8c39"
]
]
},
{
"id": "e223793b9998818b",
"type": "ui-text",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"group": "28836135eb153545",
"order": 14,
"width": "2",
"height": "1",
"name": "confort setpoint (txt)",
"label": "",
"format": "{{msg.payload}}",
"layout": "row-right",
"style": false,
"font": "",
"fontSize": 16,
"color": "#717171",
"className": "",
"x": 2660,
"y": 1260,
"wires": []
},
{
"id": "136162f12991809c",
"type": "link call",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"name": "",
"links": [
"df0e4ab2e1efc286"
],
"linkType": "static",
"timeout": "30",
"x": 2260,
"y": 660,
"wires": [
[
"a9e89b46159c4ec8"
]
]
},
{
"id": "fb9711affc7d14af",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"name": "move",
"rules": [
{
"t": "set",
"p": "field",
"pt": "msg",
"to": "payload",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 2070,
"y": 660,
"wires": [
[
"136162f12991809c"
]
]
},
{
"id": "a9e89b46159c4ec8",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"name": "move",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "trans",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 2450,
"y": 660,
"wires": [
[
"348134507ffe8815"
]
]
},
{
"id": "cb3f8f9fa322b59f",
"type": "ui-text",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"group": "28836135eb153545",
"order": 22,
"width": "2",
"height": "1",
"name": "preheat time(txt)",
"label": "",
"format": "{{msg.payload}}",
"layout": "row-right",
"style": false,
"font": "",
"fontSize": 16,
"color": "#717171",
"className": "",
"x": 2640,
"y": 1500,
"wires": []
},
{
"id": "51dc21bc28ea3f06",
"type": "ui-slider",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"group": "28836135eb153545",
"name": "preheat time",
"label": "",
"tooltip": "",
"order": 23,
"width": "4",
"height": "1",
"passthru": false,
"outs": "end",
"topic": "preheat time",
"topicType": "str",
"thumbLabel": true,
"min": "5",
"max": "60",
"step": "5",
"className": "",
"x": 2890,
"y": 1500,
"wires": [
[
"37aa96c6d80d8ade"
]
]
},
{
"id": "272807d6b707d92f",
"type": "ui-text",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"group": "28836135eb153545",
"order": 24,
"width": "2",
"height": "1",
"name": "cycle time(txt)",
"label": "",
"format": "{{msg.payload}}",
"layout": "row-right",
"style": false,
"font": "",
"fontSize": 16,
"color": "#717171",
"className": "",
"x": 2640,
"y": 1560,
"wires": []
},
{
"id": "4540d4f432f8742d",
"type": "ui-slider",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"group": "28836135eb153545",
"name": "cycle time",
"label": "",
"tooltip": "",
"order": 25,
"width": "4",
"height": "1",
"passthru": false,
"outs": "end",
"topic": "cycle time",
"topicType": "str",
"thumbLabel": true,
"min": "5",
"max": "120",
"step": "5",
"className": "",
"x": 2880,
"y": 1560,
"wires": [
[
"37aa96c6d80d8ade"
]
]
},
{
"id": "6d0cb16590b1da18",
"type": "ui-text",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"group": "28836135eb153545",
"order": 30,
"width": "2",
"height": "1",
"name": "offloading power (txt)",
"label": "",
"format": "{{msg.payload}}",
"layout": "row-right",
"style": false,
"font": "",
"fontSize": 16,
"color": "#717171",
"className": "",
"x": 2660,
"y": 1740,
"wires": []
},
{
"id": "bfb0a473b6a09c81",
"type": "ui-slider",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"group": "28836135eb153545",
"name": "offloading power",
"label": "",
"tooltip": "",
"order": 31,
"width": "4",
"height": "1",
"passthru": false,
"outs": "end",
"topic": "offloading power",
"topicType": "str",
"thumbLabel": true,
"min": "100",
"max": "1500",
"step": "100",
"className": "",
"x": 2900,
"y": 1740,
"wires": [
[
"37aa96c6d80d8ade"
]
]
},
{
"id": "61d316384ef1521b",
"type": "ui-switch",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"name": "heat request",
"label": "",
"group": "28836135eb153545",
"order": 4,
"width": "1",
"height": "1",
"passthru": false,
"topic": "topic",
"topicType": "msg",
"style": "",
"className": "",
"onvalue": "true",
"onvalueType": "bool",
"onicon": "cog-play",
"oncolor": "teal",
"offvalue": "false",
"offvalueType": "bool",
"officon": "cog-stop-outline",
"offcolor": "grey",
"x": 2890,
"y": 720,
"wires": [
[]
]
},
{
"id": "27d7b08fb3646a52",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"name": "format",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "'Exterieur à '&msg.payload&'°'",
"tot": "jsonata"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 2070,
"y": 1020,
"wires": [
[
"3f9eefa51c1e5e9e"
]
]
},
{
"id": "3f9eefa51c1e5e9e",
"type": "ui-text",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"group": "28836135eb153545",
"order": 10,
"width": "2",
"height": "1",
"name": "outdoor temperature",
"label": "",
"format": "{{msg.payload}}",
"layout": "row-left",
"style": false,
"font": "",
"fontSize": 16,
"color": "#717171",
"className": "",
"x": 2660,
"y": 1020,
"wires": []
},
{
"id": "ff2211c1efd24971",
"type": "ui-slider",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"group": "28836135eb153545",
"name": "aperture delay",
"label": "",
"tooltip": "",
"order": 27,
"width": "4",
"height": "1",
"passthru": false,
"outs": "end",
"topic": "aperture delay",
"topicType": "str",
"thumbLabel": true,
"min": "1",
"max": "30",
"step": 1,
"className": "",
"x": 2900,
"y": 1620,
"wires": [
[
"37aa96c6d80d8ade"
]
]
},
{
"id": "f814aebd5bd599b5",
"type": "ui-slider",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"group": "28836135eb153545",
"name": "offloading delay",
"label": "",
"tooltip": "",
"order": 29,
"width": "4",
"height": "1",
"passthru": false,
"outs": "end",
"topic": "offloading delay",
"topicType": "str",
"thumbLabel": true,
"min": "1",
"max": "60",
"step": 1,
"className": "",
"x": 2900,
"y": 1680,
"wires": [
[
"37aa96c6d80d8ade"
]
]
},
{
"id": "8c3c9bc4a66b1e32",
"type": "ui-text",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"group": "28836135eb153545",
"order": 26,
"width": "2",
"height": "1",
"name": "aperture delay(txt)",
"label": "",
"format": "{{msg.payload}}",
"layout": "row-right",
"style": false,
"font": "",
"fontSize": 16,
"color": "#717171",
"className": "",
"x": 2650,
"y": 1620,
"wires": []
},
{
"id": "0711217590341f99",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "eafad08e39c60266",
"name": "from global",
"rules": [
{
"t": "set",
"p": "old_payload",
"pt": "msg",
"to": "payload",
"tot": "msg"
},
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "metrics",
"tot": "global"
},
{
"t": "set",
"p": "#:(onMemory)::thermostat.apertures",
"pt": "flow",
"to": "[]",
"tot": "jsonata"
},
{
"t": "set",
"p": "#:(onMemory)::thermostat.apertures[0]",
"pt": "flow",
"to": "{\t 'label': 'non assigné',\t 'value': ''\t}",
"tot": "jsonata"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 3890,
"y": 360,
"wires": [
[
"3930f84bd36fd5aa"
]
]
},
{
"id": "3930f84bd36fd5aa",
"type": "split",
"z": "80f2ffd4953c67e9",
"g": "eafad08e39c60266",
"name": "buckets",
"splt": "\\n",
"spltType": "str",
"arraySplt": 1,
"arraySpltType": "len",
"stream": false,
"addname": "bucket",
"property": "payload",
"x": 4080,
"y": 360,
"wires": [
[
"b6f3145afc37707c"
]
]
},
{
"id": "b6f3145afc37707c",
"type": "split",
"z": "80f2ffd4953c67e9",
"g": "eafad08e39c60266",
"name": "measurements",
"splt": "\\n",
"spltType": "str",
"arraySplt": 1,
"arraySpltType": "len",
"stream": false,
"addname": "measurement",
"property": "payload",
"x": 4280,
"y": 360,
"wires": [
[
"7a9f4d42d5c7497c"
]
]
},
{
"id": "7a9f4d42d5c7497c",
"type": "switch",
"z": "80f2ffd4953c67e9",
"g": "eafad08e39c60266",
"name": "measurement",
"property": "measurement",
"propertyType": "msg",
"rules": [
{
"t": "eq",
"v": "aperture",
"vt": "str"
},
{
"t": "eq",
"v": "photovoltaic",
"vt": "str"
},
{
"t": "else"
}
],
"checkall": "false",
"repair": false,
"outputs": 3,
"x": 4500,
"y": 360,
"wires": [
[
"dd517b4d06983aac"
],
[
"e0613fa53ec99a7d"
],
[
"c1311d74af614a6b"
]
]
},
{
"id": "dd517b4d06983aac",
"type": "split",
"z": "80f2ffd4953c67e9",
"g": "eafad08e39c60266",
"name": "",
"splt": "\\n",
"spltType": "str",
"arraySplt": 1,
"arraySpltType": "len",
"stream": false,
"addname": "field",
"property": "payload",
"x": 4690,
"y": 240,
"wires": [
[
"e7dcdd83cf9e08e1"
]
]
},
{
"id": "e7dcdd83cf9e08e1",
"type": "switch",
"z": "80f2ffd4953c67e9",
"g": "eafad08e39c60266",
"name": "field",
"property": "field",
"propertyType": "msg",
"rules": [
{
"t": "neq",
"v": "shutter",
"vt": "str"
},
{
"t": "else"
}
],
"checkall": "false",
"repair": false,
"outputs": 2,
"x": 4850,
"y": 240,
"wires": [
[
"ad09f7f6ad1acedd"
],
[
"f80f5a53d9b07000"
]
]
},
{
"id": "73dc6a2b0e041f8e",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "eafad08e39c60266",
"name": "add",
"rules": [
{
"t": "set",
"p": "metric",
"pt": "msg",
"to": "$substring(msg.metric,1)",
"tot": "jsonata"
},
{
"t": "set",
"p": "options",
"pt": "msg",
"to": "#:(onMemory)::thermostat.apertures",
"tot": "flow"
},
{
"t": "set",
"p": "count",
"pt": "msg",
"to": "$count(msg.options)-1",
"tot": "jsonata"
},
{
"t": "set",
"p": "count",
"pt": "msg",
"to": "msg.count+1",
"tot": "jsonata"
},
{
"t": "set",
"p": "options[msg.count]",
"pt": "msg",
"to": "{\t 'label': msg.trans.path,\t 'value': msg.metric\t}",
"tot": "jsonata"
},
{
"t": "set",
"p": "#:(onMemory)::thermostat.apertures",
"pt": "flow",
"to": "options",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 5410,
"y": 240,
"wires": [
[
"f80f5a53d9b07000"
]
]
},
{
"id": "93e874f6e4a1f87a",
"type": "ui-dropdown",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"group": "28836135eb153545",
"name": "aperture 1",
"label": "Ouverture 1 :",
"tooltip": "",
"order": 32,
"width": "6",
"height": "1",
"passthru": false,
"multiple": false,
"options": [
{
"label": "non assigné",
"value": "",
"type": "str"
}
],
"payload": "",
"topic": "aperture 1",
"topicType": "str",
"className": "",
"x": 2890,
"y": 1800,
"wires": [
[
"37aa96c6d80d8ade"
]
]
},
{
"id": "3d40410e159beaab",
"type": "ui-dropdown",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"group": "28836135eb153545",
"name": "aperture 2",
"label": "Ouverture 2 :",
"tooltip": "",
"order": 33,
"width": "6",
"height": "1",
"passthru": false,
"multiple": false,
"options": [
{
"label": "non assigné",
"value": "",
"type": "str"
}
],
"payload": "",
"topic": "aperture 2",
"topicType": "str",
"className": "",
"x": 2890,
"y": 1860,
"wires": [
[
"37aa96c6d80d8ade"
]
]
},
{
"id": "4565730f04bd7072",
"type": "ui-dropdown",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"group": "28836135eb153545",
"name": "aperture 3",
"label": "Ouverture 3 :",
"tooltip": "",
"order": 34,
"width": "6",
"height": "1",
"passthru": false,
"multiple": false,
"options": [
{
"label": "non assigné",
"value": "",
"type": "str"
}
],
"payload": "",
"topic": "aperture 3",
"topicType": "str",
"className": "",
"x": 2890,
"y": 1920,
"wires": [
[
"37aa96c6d80d8ade"
]
]
},
{
"id": "79764253e9e92fda",
"type": "ui-dropdown",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"group": "28836135eb153545",
"name": "aperture 4",
"label": "Ouverture 4 :",
"tooltip": "",
"order": 35,
"width": "6",
"height": "1",
"passthru": false,
"multiple": false,
"options": [
{
"label": "non assigné",
"value": "",
"type": "str"
}
],
"payload": "",
"topic": "aperture 4",
"topicType": "str",
"className": "",
"x": 2890,
"y": 1980,
"wires": [
[
"37aa96c6d80d8ade"
]
]
},
{
"id": "4ad97596d0efa64b",
"type": "ui-dropdown",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"group": "28836135eb153545",
"name": "aperture 5",
"label": "Ouverture 5 :",
"tooltip": "",
"order": 36,
"width": "6",
"height": "1",
"passthru": false,
"multiple": false,
"options": [
{
"label": "non assigné",
"value": "",
"type": "str"
}
],
"payload": "",
"topic": "aperture 5",
"topicType": "str",
"className": "",
"x": 2890,
"y": 2040,
"wires": [
[
"37aa96c6d80d8ade"
]
]
},
{
"id": "33fde1af7428bf26",
"type": "ui-text",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"group": "28836135eb153545",
"order": 28,
"width": "2",
"height": "1",
"name": "offloading delay(txt)",
"label": "",
"format": "{{msg.payload}}",
"layout": "row-right",
"style": false,
"font": "",
"fontSize": 16,
"color": "#717171",
"className": "",
"x": 2650,
"y": 1680,
"wires": []
},
{
"id": "1d92bf6b8fc98959",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"name": "format",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "msg.payload?\"Gestion de thermostat active\":\"Gestion de thermostat inactive\"",
"tot": "jsonata"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 2070,
"y": 600,
"wires": [
[
"25b3542fda8fae4d"
]
]
},
{
"id": "25b3542fda8fae4d",
"type": "ui-text",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"group": "28836135eb153545",
"order": 1,
"width": "5",
"height": "1",
"name": "actif (txt)",
"label": "",
"format": "{{msg.payload}}",
"layout": "row-right",
"style": false,
"font": "",
"fontSize": 16,
"color": "#717171",
"className": "",
"x": 2620,
"y": 600,
"wires": []
},
{
"id": "4b8267934ced5596",
"type": "delay",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"name": "50 ms",
"pauseType": "delay",
"timeout": "50",
"timeoutUnits": "milliseconds",
"rate": "1",
"nbRateUnits": "1",
"rateUnits": "second",
"randomFirst": "1",
"randomLast": "5",
"randomUnits": "seconds",
"drop": false,
"allowrate": false,
"outputs": 1,
"x": 1510,
"y": 360,
"wires": [
[
"fc673a36d8691d63"
]
]
},
{
"id": "151d5194b8538480",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"name": "options",
"rules": [
{
"t": "set",
"p": "options",
"pt": "msg",
"to": "[\t {'label':'Eco','value':'eco'},\t {'label':'Confort','value':'confort'},\t {'label':'Hors-Gel','value':'anti-freeze'},\t {'label':'Climatisation','value':'cool'},\t {'label':'Arrêt','value':'off'}\t]",
"tot": "jsonata"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 2080,
"y": 1140,
"wires": [
[
"f968a8fc298f04c3"
]
]
},
{
"id": "f670239d8cf08808",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"name": "format",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "'Mode eco à '&msg.payload&'°'",
"tot": "jsonata"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 2070,
"y": 1200,
"wires": [
[
"63561fec4fba2afd"
]
]
},
{
"id": "a4b56ada8159bff6",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"name": "format",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "'Mode confort à '&msg.payload&'°'",
"tot": "jsonata"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 2070,
"y": 1260,
"wires": [
[
"e223793b9998818b"
]
]
},
{
"id": "990b4d58c23a68a2",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"name": "format",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "'Coef. int. de '&msg.payload",
"tot": "jsonata"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 2070,
"y": 1380,
"wires": [
[
"53f7b3195f6dfeed"
]
]
},
{
"id": "ee3e358d88bbf249",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"name": "format",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "'Coef. ext. de '&msg.payload",
"tot": "jsonata"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 2070,
"y": 1440,
"wires": [
[
"99e789a941d2af52"
]
]
},
{
"id": "6f096e24c9634c56",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"name": "format",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "'Préchauffe de '&msg.payload&'m'",
"tot": "jsonata"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 2070,
"y": 1500,
"wires": [
[
"cb3f8f9fa322b59f"
]
]
},
{
"id": "83b16f9aed4fa051",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"name": "format",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "'Cycle de '&msg.payload&'m'",
"tot": "jsonata"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 2070,
"y": 1560,
"wires": [
[
"272807d6b707d92f"
]
]
},
{
"id": "db3ebf0b6421aeae",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"name": "format",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "'Délai ouvrant '&msg.payload&'m'",
"tot": "jsonata"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 2070,
"y": 1620,
"wires": [
[
"8c3c9bc4a66b1e32"
]
]
},
{
"id": "10c3697bddec1a05",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"name": "format",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "'Délai délestage '&msg.payload&'m'",
"tot": "jsonata"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 2070,
"y": 1680,
"wires": [
[
"33fde1af7428bf26"
]
]
},
{
"id": "4f0ea1cdd4d0b719",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"name": "format",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "'Puissance de '&msg.payload&'w'",
"tot": "jsonata"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 2070,
"y": 1740,
"wires": [
[
"6d0cb16590b1da18"
]
]
},
{
"id": "ad09f7f6ad1acedd",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "eafad08e39c60266",
"name": "metric",
"rules": [
{
"t": "set",
"p": "metric",
"pt": "msg",
"to": "'/'&msg.bucket&'/'&msg.measurement&'/'&msg.field",
"tot": "jsonata"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 5010,
"y": 240,
"wires": [
[
"7bb3239b80bb5650"
]
]
},
{
"id": "7bb3239b80bb5650",
"type": "link call",
"z": "80f2ffd4953c67e9",
"g": "eafad08e39c60266",
"name": "",
"links": [
"025e219749a67439"
],
"linkType": "static",
"timeout": "30",
"x": 5210,
"y": 240,
"wires": [
[
"73dc6a2b0e041f8e"
]
]
},
{
"id": "080a2e3d678b9119",
"type": "gate",
"z": "80f2ffd4953c67e9",
"g": "b3bc1717c16dc7dc",
"name": "gate scene",
"controlTopic": "gate scene",
"defaultState": "closed",
"openCmd": "open",
"closeCmd": "close",
"toggleCmd": "toggle",
"defaultCmd": "default",
"statusCmd": "status",
"persist": false,
"storeName": "onFile",
"x": 290,
"y": 5880,
"wires": [
[
"45bd2f5743776c20"
]
]
},
{
"id": "d93c5182974350b0",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "e6edd4684b272434",
"name": "thermostat / cold setpoint / number / 18",
"rules": [
{
"t": "set",
"p": "field",
"pt": "msg",
"to": "cold setpoint",
"tot": "str"
},
{
"t": "set",
"p": "format",
"pt": "msg",
"to": "number",
"tot": "str"
},
{
"t": "set",
"p": "default",
"pt": "msg",
"to": "18",
"tot": "num"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 750,
"y": 480,
"wires": [
[
"1707bc7a4bb0daa5"
]
]
},
{
"id": "b87af6e4d9e65d33",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"name": "format",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "'Mode froid à '&msg.payload&'°'",
"tot": "jsonata"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 2070,
"y": 1320,
"wires": [
[
"aefd619aa22eea0b"
]
]
},
{
"id": "aefd619aa22eea0b",
"type": "ui-text",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"group": "28836135eb153545",
"order": 16,
"width": "2",
"height": "1",
"name": "cold setpoint (txt)",
"label": "",
"format": "{{msg.payload}}",
"layout": "row-right",
"style": false,
"font": "",
"fontSize": 16,
"color": "#717171",
"className": "",
"x": 2650,
"y": 1320,
"wires": []
},
{
"id": "bc775d86aa14a73f",
"type": "ui-slider",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"group": "28836135eb153545",
"name": "cold setpoint",
"label": "",
"tooltip": "",
"order": 17,
"width": "4",
"height": "1",
"passthru": false,
"outs": "end",
"topic": "cold setpoint",
"topicType": "str",
"thumbLabel": "true",
"showTicks": "false",
"min": "18",
"max": "30",
"step": "0.5",
"className": "",
"iconPrepend": "",
"iconAppend": "",
"color": "",
"colorTrack": "",
"colorThumb": "",
"x": 2890,
"y": 1320,
"wires": [
[
"37aa96c6d80d8ade"
]
]
},
{
"id": "0162f458d02a06ca",
"type": "link in",
"z": "80f2ffd4953c67e9",
"g": "272756073495f0a8",
"name": "thermostat - compute cool request",
"links": [],
"x": 1015,
"y": 2520,
"wires": [
[
"736b4f85b471f119"
]
]
},
{
"id": "736b4f85b471f119",
"type": "function",
"z": "80f2ffd4953c67e9",
"g": "272756073495f0a8",
"name": "thermostat compute cool request",
"func": "// compute temperatures\nvar interieur = msg.th['indoor temperature'] - msg.th['temperature setpoint'] - 2;\nvar exterieur = (msg.th['outdoor temperature'] - msg.th['temperature setpoint']) *2;\nvar compute = interieur + exterieur;\ncompute = compute.toFixed(1);\n\nmsg.th.compute = compute;\n\n//var calcul = msg.th['outdoor temperature'] + msg.th['indoor temperature'] - 2 * msg.th['temperature setpoint'] - 5;\n//calcul = calcul.toFixed(1);\n//msg.th.compute = calcul;\n\nif (msg.th.compute > 0) {\n node.status({\n fill: \"blue\", shape: \"ring\", text: msg.th.bucket+' cool resquest at '+msg.th.compute\n });\n}\nif (msg.th.compute <= 0) {\n node.status({\n fill: \"green\", shape: \"ring\", text: msg.th.bucket+' at '+msg.th.compute\n });\n}\n\nreturn msg;",
"outputs": 1,
"timeout": "",
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 1240,
"y": 2520,
"wires": [
[
"97694aa50cf4ce0e",
"919dab1a8b106864"
]
]
},
{
"id": "97694aa50cf4ce0e",
"type": "link out",
"z": "80f2ffd4953c67e9",
"g": "272756073495f0a8",
"name": "thermostat - compute cool request",
"mode": "return",
"links": [],
"x": 1455,
"y": 2520,
"wires": []
},
{
"id": "0cac48ac1fa4efa4",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "b3bc1717c16dc7dc",
"name": "cool",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "cool",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 2450,
"y": 5880,
"wires": [
[
"0728c8c3564e6e93"
]
]
},
{
"id": "3a23d8541c5bc71c",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "0af18fd6cc155518",
"name": "cold",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "th['cold setpoint']",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 690,
"y": 3240,
"wires": [
[
"70c27df7cb0add1d"
]
]
},
{
"id": "5409904037bf4a62",
"type": "link call",
"z": "80f2ffd4953c67e9",
"g": "467ec12f292b2573",
"name": "",
"links": [
"0162f458d02a06ca"
],
"linkType": "static",
"timeout": "30",
"x": 1080,
"y": 2820,
"wires": [
[
"1ed6b5ff63020d07"
]
]
},
{
"id": "7d5ba4790bc3a720",
"type": "switch",
"z": "80f2ffd4953c67e9",
"g": "467ec12f292b2573",
"name": "check temperature setpoint",
"property": "th['temperature setpoint']",
"propertyType": "msg",
"rules": [
{
"t": "gte",
"v": "19",
"vt": "num"
},
{
"t": "else"
}
],
"checkall": "false",
"repair": false,
"outputs": 2,
"x": 760,
"y": 2880,
"wires": [
[
"5409904037bf4a62"
],
[
"e13e76f216b98c22"
]
]
},
{
"id": "92e341f726c9c5ac",
"type": "switch",
"z": "80f2ffd4953c67e9",
"g": "467ec12f292b2573",
"name": "check operating mode",
"property": "th['operating mode']",
"propertyType": "msg",
"rules": [
{
"t": "eq",
"v": "cool",
"vt": "str"
},
{
"t": "else"
}
],
"checkall": "false",
"repair": false,
"outputs": 2,
"x": 480,
"y": 2880,
"wires": [
[
"7d5ba4790bc3a720"
],
[
"d75bdce71118a56f"
]
]
},
{
"id": "e13e76f216b98c22",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "467ec12f292b2573",
"name": "force compute to -1",
"rules": [
{
"t": "set",
"p": "th['compute']",
"pt": "msg",
"to": "-1",
"tot": "num"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 1030,
"y": 2880,
"wires": [
[
"1ed6b5ff63020d07"
]
]
},
{
"id": "2b1ba57fb5c945df",
"type": "switch",
"z": "80f2ffd4953c67e9",
"g": "8ecd405cd0a1e5ac",
"name": "cool operating mode",
"property": "th['operating mode']",
"propertyType": "msg",
"rules": [
{
"t": "eq",
"v": "cool",
"vt": "str"
},
{
"t": "else"
}
],
"checkall": "false",
"repair": false,
"outputs": 2,
"x": 1440,
"y": 5280,
"wires": [
[
"30460d81f866f13d"
],
[
"abef8f252aedce0a"
]
]
},
{
"id": "632ae6a86b8d4095",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "8ecd405cd0a1e5ac",
"name": "aperture 1",
"rules": [
{
"t": "set",
"p": "tmp",
"pt": "msg",
"to": "th['aperture 1']",
"tot": "msg"
},
{
"t": "set",
"p": "tmp",
"pt": "msg",
"to": "msg.tmp!=\"\"?msg.tmp:'a/a/a'",
"tot": "jsonata"
},
{
"t": "set",
"p": "spl",
"pt": "msg",
"to": "$split(msg.tmp,'/')",
"tot": "jsonata"
},
{
"t": "set",
"p": "apertures[msg.tmp]",
"pt": "msg",
"to": "metrics[msg.spl[0]][msg.spl[1]][msg.spl[2]]",
"tot": "global"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 450,
"y": 5280,
"wires": [
[
"cff0bca6c0bb1782"
]
]
},
{
"id": "618c0cd766442117",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "8ecd405cd0a1e5ac",
"name": "aperture",
"rules": [
{
"t": "set",
"p": "apertures[msg.path]",
"pt": "msg",
"to": "trigger_payload",
"tot": "msg"
},
{
"t": "set",
"p": "#:(onMemory)::aperture[msg.th.bucket]",
"pt": "flow",
"to": "false",
"tot": "bool"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 840,
"y": 5280,
"wires": [
[
"c422635e69d1eaf7"
]
]
},
{
"id": "c422635e69d1eaf7",
"type": "split",
"z": "80f2ffd4953c67e9",
"g": "8ecd405cd0a1e5ac",
"name": "apertures",
"splt": "\\n",
"spltType": "str",
"arraySplt": 1,
"arraySpltType": "len",
"stream": false,
"addname": "aperture_path",
"property": "apertures",
"x": 1020,
"y": 5280,
"wires": [
[
"dba3af356708ccb7"
]
]
},
{
"id": "092568ca52a77671",
"type": "switch",
"z": "80f2ffd4953c67e9",
"g": "8ecd405cd0a1e5ac",
"name": "payload",
"property": "apertures",
"propertyType": "msg",
"rules": [
{
"t": "true"
},
{
"t": "else"
}
],
"checkall": "false",
"repair": false,
"outputs": 2,
"x": 1400,
"y": 5340,
"wires": [
[
"9a561c9f4fd75edb"
],
[
"abef8f252aedce0a"
]
]
},
{
"id": "9a561c9f4fd75edb",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "8ecd405cd0a1e5ac",
"name": "true",
"rules": [
{
"t": "set",
"p": "#:(onMemory)::aperture[msg.th.bucket]",
"pt": "flow",
"to": "true",
"tot": "bool"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 1910,
"y": 5280,
"wires": [
[
"abef8f252aedce0a"
]
]
},
{
"id": "abef8f252aedce0a",
"type": "join",
"z": "80f2ffd4953c67e9",
"g": "8ecd405cd0a1e5ac",
"name": "",
"mode": "auto",
"build": "object",
"property": "payload",
"propertyType": "msg",
"key": "topic",
"joiner": "\\n",
"joinerType": "str",
"useparts": false,
"accumulate": true,
"timeout": "",
"count": "",
"reduceRight": false,
"reduceExp": "",
"reduceInit": "",
"reduceInitType": "",
"reduceFixup": "",
"x": 2070,
"y": 5340,
"wires": [
[
"86cb7c12e7bccf56"
]
]
},
{
"id": "cff0bca6c0bb1782",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "8ecd405cd0a1e5ac",
"name": "aperture 2",
"rules": [
{
"t": "set",
"p": "tmp",
"pt": "msg",
"to": "th['aperture 2']",
"tot": "msg"
},
{
"t": "set",
"p": "tmp",
"pt": "msg",
"to": "msg.tmp!=\"\"?msg.tmp:'a/a/a'",
"tot": "jsonata"
},
{
"t": "set",
"p": "spl",
"pt": "msg",
"to": "$split(msg.tmp,'/')",
"tot": "jsonata"
},
{
"t": "set",
"p": "apertures[msg.tmp]",
"pt": "msg",
"to": "metrics[msg.spl[0]][msg.spl[1]][msg.spl[2]]",
"tot": "global"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 490,
"y": 5280,
"wires": [
[
"c86253a53e062d16"
]
]
},
{
"id": "c86253a53e062d16",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "8ecd405cd0a1e5ac",
"name": "aperture 3",
"rules": [
{
"t": "set",
"p": "tmp",
"pt": "msg",
"to": "th['aperture 3']",
"tot": "msg"
},
{
"t": "set",
"p": "tmp",
"pt": "msg",
"to": "msg.tmp!=\"\"?msg.tmp:'a/a/a'",
"tot": "jsonata"
},
{
"t": "set",
"p": "spl",
"pt": "msg",
"to": "$split(msg.tmp,'/')",
"tot": "jsonata"
},
{
"t": "set",
"p": "apertures[msg.tmp]",
"pt": "msg",
"to": "metrics[msg.spl[0]][msg.spl[1]][msg.spl[2]]",
"tot": "global"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 530,
"y": 5280,
"wires": [
[
"b315363385257040"
]
]
},
{
"id": "b315363385257040",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "8ecd405cd0a1e5ac",
"name": "aperture 4",
"rules": [
{
"t": "set",
"p": "tmp",
"pt": "msg",
"to": "th['aperture 4']",
"tot": "msg"
},
{
"t": "set",
"p": "tmp",
"pt": "msg",
"to": "msg.tmp!=\"\"?msg.tmp:'a/a/a'",
"tot": "jsonata"
},
{
"t": "set",
"p": "spl",
"pt": "msg",
"to": "$split(msg.tmp,'/')",
"tot": "jsonata"
},
{
"t": "set",
"p": "apertures[msg.tmp]",
"pt": "msg",
"to": "metrics[msg.spl[0]][msg.spl[1]][msg.spl[2]]",
"tot": "global"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 570,
"y": 5280,
"wires": [
[
"8d466808ce870af4"
]
]
},
{
"id": "8d466808ce870af4",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "8ecd405cd0a1e5ac",
"name": "aperture 5",
"rules": [
{
"t": "set",
"p": "tmp",
"pt": "msg",
"to": "th['aperture 5']",
"tot": "msg"
},
{
"t": "set",
"p": "tmp",
"pt": "msg",
"to": "msg.tmp!=\"\"?msg.tmp:'a/a/a'",
"tot": "jsonata"
},
{
"t": "set",
"p": "spl",
"pt": "msg",
"to": "$split(msg.tmp,'/')",
"tot": "jsonata"
},
{
"t": "set",
"p": "apertures[msg.tmp]",
"pt": "msg",
"to": "metrics[msg.spl[0]][msg.spl[1]][msg.spl[2]]",
"tot": "global"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 610,
"y": 5280,
"wires": [
[
"3c2f8f4f7cff096c"
]
]
},
{
"id": "dba3af356708ccb7",
"type": "switch",
"z": "80f2ffd4953c67e9",
"g": "8ecd405cd0a1e5ac",
"name": "production",
"property": "aperture_path",
"propertyType": "msg",
"rules": [
{
"t": "regex",
"v": "production power",
"vt": "str",
"case": false
},
{
"t": "else"
}
],
"checkall": "false",
"repair": false,
"outputs": 2,
"x": 1210,
"y": 5280,
"wires": [
[
"2b1ba57fb5c945df"
],
[
"092568ca52a77671"
]
]
},
{
"id": "3c2f8f4f7cff096c",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "8ecd405cd0a1e5ac",
"name": "aperture 6",
"rules": [
{
"t": "set",
"p": "tmp",
"pt": "msg",
"to": "th['aperture 6']",
"tot": "msg"
},
{
"t": "set",
"p": "tmp",
"pt": "msg",
"to": "msg.tmp!=\"\"?msg.tmp:'a/a/a'",
"tot": "jsonata"
},
{
"t": "set",
"p": "spl",
"pt": "msg",
"to": "$split(msg.tmp,'/')",
"tot": "jsonata"
},
{
"t": "set",
"p": "apertures[msg.tmp]",
"pt": "msg",
"to": "metrics[msg.spl[0]][msg.spl[1]][msg.spl[2]]",
"tot": "global"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 650,
"y": 5280,
"wires": [
[
"618c0cd766442117"
]
]
},
{
"id": "ae60f951124d5757",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "e6edd4684b272434",
"name": "thermostat / aperture 6 / text / ",
"rules": [
{
"t": "set",
"p": "field",
"pt": "msg",
"to": "aperture 6",
"tot": "str"
},
{
"t": "set",
"p": "format",
"pt": "msg",
"to": "text",
"tot": "str"
},
{
"t": "set",
"p": "default",
"pt": "msg",
"to": "",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 730,
"y": 1800,
"wires": [
[
"1707bc7a4bb0daa5"
]
]
},
{
"id": "b74bf0ca5e271336",
"type": "ui-dropdown",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"group": "28836135eb153545",
"name": "aperture 6",
"label": "Ouverture 6 :",
"tooltip": "",
"order": 37,
"width": "6",
"height": "1",
"passthru": false,
"multiple": false,
"chips": false,
"clearable": false,
"options": [
{
"label": "non assigné",
"value": "",
"type": "str"
}
],
"payload": "",
"topic": "aperture 6",
"topicType": "str",
"className": "",
"typeIsComboBox": true,
"x": 2890,
"y": 2100,
"wires": [
[
"37aa96c6d80d8ade"
]
]
},
{
"id": "e0613fa53ec99a7d",
"type": "split",
"z": "80f2ffd4953c67e9",
"g": "eafad08e39c60266",
"name": "",
"splt": "\\n",
"spltType": "str",
"arraySplt": 1,
"arraySpltType": "len",
"stream": false,
"addname": "field",
"property": "payload",
"x": 4690,
"y": 300,
"wires": [
[
"b0670866409f1f18"
]
]
},
{
"id": "b0670866409f1f18",
"type": "switch",
"z": "80f2ffd4953c67e9",
"g": "eafad08e39c60266",
"name": "field",
"property": "field",
"propertyType": "msg",
"rules": [
{
"t": "eq",
"v": "production power",
"vt": "str"
},
{
"t": "else"
}
],
"checkall": "false",
"repair": false,
"outputs": 2,
"x": 4850,
"y": 300,
"wires": [
[
"ad09f7f6ad1acedd"
],
[
"f80f5a53d9b07000"
]
]
},
{
"id": "30460d81f866f13d",
"type": "switch",
"z": "80f2ffd4953c67e9",
"g": "8ecd405cd0a1e5ac",
"name": "production > offloading",
"property": "th['offloading power']",
"propertyType": "msg",
"rules": [
{
"t": "gt",
"v": "apertures",
"vt": "msg"
},
{
"t": "else"
}
],
"checkall": "false",
"repair": false,
"outputs": 2,
"x": 1700,
"y": 5220,
"wires": [
[
"9a561c9f4fd75edb"
],
[
"abef8f252aedce0a"
]
]
},
{
"id": "a21d727b6d73b7f1",
"type": "comment",
"z": "80f2ffd4953c67e9",
"g": "e6edd4684b272434",
"name": "set \"cold setpoint\" to 18 to disable it",
"info": "",
"x": 260,
"y": 480,
"wires": []
},
{
"id": "919dab1a8b106864",
"type": "debug",
"z": "80f2ffd4953c67e9",
"g": "272756073495f0a8",
"name": "thermostat - compute cold request",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"statusVal": "",
"statusType": "auto",
"x": 1580,
"y": 2460,
"wires": []
},
{
"id": "9f5320eaa60df7cf",
"type": "debug",
"z": "80f2ffd4953c67e9",
"g": "7e9cff1699c061ec",
"name": "thermostat - compute heat request",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"statusVal": "",
"statusType": "auto",
"x": 700,
"y": 2460,
"wires": []
},
{
"id": "4146df2b9fa3a8cd",
"type": "link in",
"z": "80f2ffd4953c67e9",
"g": "3c533bc3592e06b9",
"name": "thermostat - trigger - input",
"links": [
"031a6afd8300356a"
],
"x": 135,
"y": 4740,
"wires": [
[
"cb4e055ec23ccd1c"
]
]
},
{
"id": "cb4e055ec23ccd1c",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "3c533bc3592e06b9",
"name": "load global metrics",
"rules": [
{
"t": "set",
"p": "trigger_payload",
"pt": "msg",
"to": "payload",
"tot": "msg"
},
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "metrics",
"tot": "global"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 310,
"y": 4740,
"wires": [
[
"e3b571afbf1bcf4f"
]
]
},
{
"id": "6b4c87d53563c36d",
"type": "link out",
"z": "80f2ffd4953c67e9",
"g": "3c533bc3592e06b9",
"name": "thermostat - trigger - input",
"mode": "link",
"links": [
"8bbf52c2a83e09ea",
"3099e4a17fd21410",
"7837b5fcc1432bfa",
"079470627ad50e8f",
"5c2ee7a9a0b1a4f4"
],
"x": 1375,
"y": 4740,
"wires": []
},
{
"id": "e3b571afbf1bcf4f",
"type": "split",
"z": "80f2ffd4953c67e9",
"g": "3c533bc3592e06b9",
"name": "split by buckets",
"splt": "\\n",
"spltType": "str",
"arraySplt": 1,
"arraySpltType": "len",
"stream": false,
"addname": "metric_bucket",
"property": "payload",
"x": 540,
"y": 4740,
"wires": [
[
"2b3708a60ff31dac"
]
]
},
{
"id": "2b3708a60ff31dac",
"type": "split",
"z": "80f2ffd4953c67e9",
"g": "3c533bc3592e06b9",
"name": "split by measurements",
"splt": "\\n",
"spltType": "str",
"arraySplt": 1,
"arraySpltType": "len",
"stream": false,
"addname": "metric_measurement",
"property": "payload",
"x": 780,
"y": 4740,
"wires": [
[
"4ffd7369035e168f"
]
]
},
{
"id": "4ffd7369035e168f",
"type": "switch",
"z": "80f2ffd4953c67e9",
"g": "3c533bc3592e06b9",
"name": "is thermostat",
"property": "metric_measurement",
"propertyType": "msg",
"rules": [
{
"t": "eq",
"v": "thermostat",
"vt": "str"
}
],
"checkall": "false",
"repair": false,
"outputs": 1,
"x": 1010,
"y": 4740,
"wires": [
[
"5336228b64d336af"
]
]
},
{
"id": "5336228b64d336af",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "3c533bc3592e06b9",
"name": "load thermostat",
"rules": [
{
"t": "set",
"p": "th",
"pt": "msg",
"to": "payload",
"tot": "msg"
},
{
"t": "set",
"p": "th.bucket",
"pt": "msg",
"to": "metric_bucket",
"tot": "msg"
},
{
"t": "set",
"p": "th.measurement",
"pt": "msg",
"to": "metric_measurement",
"tot": "msg"
},
{
"t": "delete",
"p": "metric_bucket",
"pt": "msg"
},
{
"t": "delete",
"p": "metric_measurement",
"pt": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 1220,
"y": 4740,
"wires": [
[
"6b4c87d53563c36d",
"a118873a4609acd7"
]
]
},
{
"id": "7a77ef69ce9e0f32",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "f987d89b8997cf8d",
"name": "set metric",
"rules": [
{
"t": "set",
"p": "bucket",
"pt": "msg",
"to": "th.bucket",
"tot": "msg"
},
{
"t": "set",
"p": "measurement",
"pt": "msg",
"to": "th.measurement",
"tot": "msg"
},
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "trigger_payload",
"tot": "msg"
},
{
"t": "set",
"p": "repeat",
"pt": "msg",
"to": "true",
"tot": "bool"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 280,
"y": 5700,
"wires": [
[
"12d940e60360ef46",
"fb119d97ea6bb137"
]
]
},
{
"id": "63f9a6d8c925d3d3",
"type": "link in",
"z": "80f2ffd4953c67e9",
"g": "f987d89b8997cf8d",
"name": "thermostat - trigger - output",
"links": [
"6fbdfc1ab44f9754",
"d09ad27d05d54698",
"6632e88ee0633e4c",
"5bf92e5b12ab168c",
"b3f3ee85862b09ef"
],
"x": 135,
"y": 5700,
"wires": [
[
"7a77ef69ce9e0f32"
]
]
},
{
"id": "12d940e60360ef46",
"type": "link out",
"z": "80f2ffd4953c67e9",
"g": "f987d89b8997cf8d",
"name": "thermostat - trigger - output",
"mode": "link",
"links": [
"206c1fb4a48067df"
],
"x": 415,
"y": 5700,
"wires": []
},
{
"id": "fb119d97ea6bb137",
"type": "debug",
"z": "80f2ffd4953c67e9",
"g": "f987d89b8997cf8d",
"name": "thermostat - trigger - output",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"statusVal": "",
"statusType": "auto",
"x": 520,
"y": 5640,
"wires": []
},
{
"id": "b7a2b83163ce711a",
"type": "switch",
"z": "80f2ffd4953c67e9",
"g": "e653f3ec3dc88a8f",
"name": "check bucket",
"property": "th.bucket",
"propertyType": "msg",
"rules": [
{
"t": "eq",
"v": "bucket",
"vt": "msg"
}
],
"checkall": "false",
"repair": false,
"outputs": 1,
"x": 290,
"y": 4920,
"wires": [
[
"4c169fc26f833802"
]
]
},
{
"id": "a118873a4609acd7",
"type": "debug",
"z": "80f2ffd4953c67e9",
"g": "3c533bc3592e06b9",
"name": "thermostat - trigger - input",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"statusVal": "",
"statusType": "auto",
"x": 1470,
"y": 4680,
"wires": []
},
{
"id": "155125df6f9f4c8f",
"type": "switch",
"z": "80f2ffd4953c67e9",
"g": "6f1f772c23d57e24",
"name": "trigger",
"property": "path",
"propertyType": "msg",
"rules": [
{
"t": "eq",
"v": "system/mode/offloading",
"vt": "str"
}
],
"checkall": "false",
"repair": false,
"outputs": 1,
"x": 270,
"y": 5520,
"wires": [
[
"381cef91081d78b4"
]
]
},
{
"id": "e34e8e0cc31ce986",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "6f1f772c23d57e24",
"name": "stack offloading count",
"rules": [
{
"t": "set",
"p": "sort_count",
"pt": "msg",
"to": "th['offloading count']",
"tot": "msg"
},
{
"t": "set",
"p": "sort_bucket",
"pt": "msg",
"to": "th.bucket",
"tot": "msg"
},
{
"t": "set",
"p": "#:(onMemory)::sort[msg.parts.parts.index]",
"pt": "flow",
"to": "{\t \"bucket\":msg.sort_bucket,\t \"nb\":msg.sort_count,\t 'th':msg.th\t }",
"tot": "jsonata"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 1120,
"y": 5520,
"wires": [
[
"997102eb65c0f5a6"
]
]
},
{
"id": "997102eb65c0f5a6",
"type": "trigger",
"z": "80f2ffd4953c67e9",
"g": "6f1f772c23d57e24",
"name": "",
"op1": "",
"op2": "",
"op1type": "nul",
"op2type": "payl",
"duration": "100",
"extend": true,
"overrideDelay": false,
"units": "ms",
"reset": "",
"bytopic": "all",
"topic": "topic",
"outputs": 1,
"x": 1370,
"y": 5520,
"wires": [
[
"88a5a0ac352fc41d"
]
]
},
{
"id": "88a5a0ac352fc41d",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "6f1f772c23d57e24",
"name": "sort offloading count",
"rules": [
{
"t": "set",
"p": "sort",
"pt": "msg",
"to": "#:(onMemory)::sort",
"tot": "flow"
},
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "$sort(msg.sort, function($l, $r) {\t $l.nb > $r.nb\t})",
"tot": "jsonata"
},
{
"t": "set",
"p": "#:(onMemory)::offloading",
"pt": "flow",
"to": "0",
"tot": "num"
},
{
"t": "set",
"p": "#:(onMemory)::sort",
"pt": "flow",
"to": "[]",
"tot": "jsonata"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 1620,
"y": 5520,
"wires": [
[
"3dcb3769e00444e7"
]
]
},
{
"id": "3dcb3769e00444e7",
"type": "split",
"z": "80f2ffd4953c67e9",
"g": "6f1f772c23d57e24",
"name": "",
"splt": "\\n",
"spltType": "str",
"arraySplt": 1,
"arraySpltType": "len",
"stream": false,
"addname": "",
"property": "payload",
"x": 1830,
"y": 5520,
"wires": [
[
"8a2948a62f550e2b"
]
]
},
{
"id": "436d4c01221aac9b",
"type": "delay",
"z": "80f2ffd4953c67e9",
"g": "6f1f772c23d57e24",
"name": "50 ms",
"pauseType": "delay",
"timeout": "50",
"timeoutUnits": "milliseconds",
"rate": "1",
"nbRateUnits": "1",
"rateUnits": "second",
"randomFirst": "1",
"randomLast": "5",
"randomUnits": "seconds",
"drop": false,
"allowrate": false,
"outputs": 1,
"x": 2170,
"y": 5520,
"wires": [
[
"c17018592ee074bc"
]
]
},
{
"id": "c17018592ee074bc",
"type": "switch",
"z": "80f2ffd4953c67e9",
"g": "6f1f772c23d57e24",
"name": "limit",
"property": "#:(onMemory)::offloading",
"propertyType": "flow",
"rules": [
{
"t": "lt",
"v": "2",
"vt": "num"
}
],
"checkall": "true",
"repair": false,
"outputs": 1,
"x": 2330,
"y": 5520,
"wires": [
[
"620e2650e654d9f6"
]
]
},
{
"id": "620e2650e654d9f6",
"type": "switch",
"z": "80f2ffd4953c67e9",
"g": "6f1f772c23d57e24",
"name": "state offloading",
"property": "payload.th.offloading",
"propertyType": "msg",
"rules": [
{
"t": "false"
}
],
"checkall": "false",
"repair": false,
"outputs": 1,
"x": 2520,
"y": 5520,
"wires": [
[
"26ba5f96ea39ad61"
]
]
},
{
"id": "26ba5f96ea39ad61",
"type": "switch",
"z": "80f2ffd4953c67e9",
"g": "6f1f772c23d57e24",
"name": "state pilot",
"property": "payload.th.pilot",
"propertyType": "msg",
"rules": [
{
"t": "true"
}
],
"checkall": "false",
"repair": false,
"outputs": 1,
"x": 2720,
"y": 5520,
"wires": [
[
"5e7a96ca03ea3041"
]
]
},
{
"id": "5e7a96ca03ea3041",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "6f1f772c23d57e24",
"name": "set field",
"rules": [
{
"t": "set",
"p": "th",
"pt": "msg",
"to": "payload.th",
"tot": "msg"
},
{
"t": "set",
"p": "field",
"pt": "msg",
"to": "offloading",
"tot": "str"
},
{
"t": "set",
"p": "trigger_payload",
"pt": "msg",
"to": "true",
"tot": "bool"
},
{
"t": "set",
"p": "tmp",
"pt": "msg",
"to": "#:(onMemory)::offloading",
"tot": "flow"
},
{
"t": "set",
"p": "#:(onMemory)::offloading",
"pt": "flow",
"to": "$number(msg.tmp) + 1",
"tot": "jsonata"
},
{
"t": "delete",
"p": "parts",
"pt": "msg"
},
{
"t": "delete",
"p": "th",
"pt": "msg"
},
{
"t": "delete",
"p": "tmp",
"pt": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 2900,
"y": 5520,
"wires": [
[
"fbe02bdff670f4bd",
"5bf92e5b12ab168c"
]
]
},
{
"id": "079470627ad50e8f",
"type": "link in",
"z": "80f2ffd4953c67e9",
"g": "6f1f772c23d57e24",
"name": "thermostat - update - offloading",
"links": [
"6b4c87d53563c36d"
],
"x": 135,
"y": 5520,
"wires": [
[
"155125df6f9f4c8f"
]
]
},
{
"id": "fbe02bdff670f4bd",
"type": "debug",
"z": "80f2ffd4953c67e9",
"g": "6f1f772c23d57e24",
"name": "thermostat - trigger - offloading",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"statusVal": "",
"statusType": "auto",
"x": 3150,
"y": 5460,
"wires": []
},
{
"id": "381cef91081d78b4",
"type": "switch",
"z": "80f2ffd4953c67e9",
"g": "6f1f772c23d57e24",
"name": "mode master",
"property": "metrics.system.mode.master",
"propertyType": "global",
"rules": [
{
"t": "eq",
"v": "about.automate",
"vt": "global"
}
],
"checkall": "false",
"repair": false,
"outputs": 1,
"x": 450,
"y": 5520,
"wires": [
[
"14218375ec9530c1"
]
]
},
{
"id": "14218375ec9530c1",
"type": "switch",
"z": "80f2ffd4953c67e9",
"g": "6f1f772c23d57e24",
"name": "mode automate",
"property": "metrics.system.mode.automate",
"propertyType": "global",
"rules": [
{
"t": "eq",
"v": "automatic",
"vt": "str"
}
],
"checkall": "false",
"repair": false,
"outputs": 1,
"x": 660,
"y": 5520,
"wires": [
[
"6e4177612c29fa84"
]
]
},
{
"id": "6e4177612c29fa84",
"type": "switch",
"z": "80f2ffd4953c67e9",
"g": "6f1f772c23d57e24",
"name": "mode offloading",
"property": "metrics.system.mode.offloading",
"propertyType": "global",
"rules": [
{
"t": "eq",
"v": "offloaded",
"vt": "str"
}
],
"checkall": "false",
"repair": false,
"outputs": 1,
"x": 880,
"y": 5520,
"wires": [
[
"e34e8e0cc31ce986"
]
]
},
{
"id": "8a2948a62f550e2b",
"type": "switch",
"z": "80f2ffd4953c67e9",
"g": "6f1f772c23d57e24",
"name": "not empty",
"property": "payload",
"propertyType": "msg",
"rules": [
{
"t": "nempty"
}
],
"checkall": "false",
"repair": false,
"outputs": 1,
"x": 2000,
"y": 5520,
"wires": [
[
"436d4c01221aac9b"
]
]
},
{
"id": "5bf92e5b12ab168c",
"type": "link out",
"z": "80f2ffd4953c67e9",
"g": "6f1f772c23d57e24",
"name": "thermostat - update - offloading",
"mode": "link",
"links": [
"63f9a6d8c925d3d3"
],
"x": 3035,
"y": 5520,
"wires": []
},
{
"id": "ea1b7dbf3573fd5e",
"type": "debug",
"z": "80f2ffd4953c67e9",
"g": "eafad08e39c60266",
"name": "ui - thermostat - apertures",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"statusVal": "",
"statusType": "auto",
"x": 6470,
"y": 360,
"wires": []
},
{
"id": "f8705fb32062a93f",
"type": "rbe",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"name": "",
"func": "rbe",
"gap": "",
"start": "",
"inout": "out",
"septopics": false,
"property": "bucket",
"topi": "topic",
"x": 1730,
"y": 300,
"wires": [
[
"3a1f2c63baddb5b7"
]
]
},
{
"id": "7421f25ff88e96ea",
"type": "link in",
"z": "80f2ffd4953c67e9",
"g": "eafad08e39c60266",
"name": "thermostat - ui - apertures",
"links": [],
"x": 3415,
"y": 420,
"wires": [
[
"e770267366a41538"
]
]
},
{
"id": "1e23b9043692efc9",
"type": "link out",
"z": "80f2ffd4953c67e9",
"g": "eafad08e39c60266",
"name": "thermostat - ui - apertures",
"mode": "return",
"links": [],
"x": 6375,
"y": 420,
"wires": []
},
{
"id": "ed6edb1e6f6e0603",
"type": "join",
"z": "80f2ffd4953c67e9",
"g": "eafad08e39c60266",
"name": "",
"mode": "auto",
"build": "object",
"property": "payload",
"propertyType": "msg",
"key": "topic",
"joiner": "\\n",
"joinerType": "str",
"useparts": false,
"accumulate": "false",
"timeout": "",
"count": "",
"reduceRight": false,
"x": 5890,
"y": 360,
"wires": [
[
"2d0116a7f0e5267e"
]
]
},
{
"id": "c1311d74af614a6b",
"type": "join",
"z": "80f2ffd4953c67e9",
"g": "eafad08e39c60266",
"name": "",
"mode": "auto",
"build": "object",
"property": "payload",
"propertyType": "msg",
"key": "topic",
"joiner": "\\n",
"joinerType": "str",
"useparts": false,
"accumulate": "false",
"timeout": "",
"count": "",
"reduceRight": false,
"x": 5730,
"y": 360,
"wires": [
[
"ed6edb1e6f6e0603"
]
]
},
{
"id": "c5b1171ac4cfb2fa",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "eafad08e39c60266",
"name": "options",
"rules": [
{
"t": "set",
"p": "options",
"pt": "msg",
"to": "#:(onMemory)::thermostat.apertures",
"tot": "flow"
},
{
"t": "set",
"p": "options",
"pt": "msg",
"to": "$sort(msg.options, function($l, $r) {\t $l[0].label > $r[0].label\t})",
"tot": "jsonata"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 6240,
"y": 420,
"wires": [
[
"1e23b9043692efc9",
"ea1b7dbf3573fd5e"
]
]
},
{
"id": "3afbcb94c2dd9a98",
"type": "link call",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"name": "",
"links": [
"7421f25ff88e96ea"
],
"linkType": "static",
"timeout": "30",
"x": 2130,
"y": 1800,
"wires": [
[
"93e874f6e4a1f87a"
]
]
},
{
"id": "5058697599c00bfb",
"type": "link call",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"name": "",
"links": [
"7421f25ff88e96ea"
],
"linkType": "static",
"timeout": "30",
"x": 2130,
"y": 1860,
"wires": [
[
"3d40410e159beaab"
]
]
},
{
"id": "788641b627884830",
"type": "link call",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"name": "",
"links": [
"7421f25ff88e96ea"
],
"linkType": "static",
"timeout": "30",
"x": 2130,
"y": 1920,
"wires": [
[
"4565730f04bd7072"
]
]
},
{
"id": "2a09806bd2dd8204",
"type": "link call",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"name": "",
"links": [
"7421f25ff88e96ea"
],
"linkType": "static",
"timeout": "30",
"x": 2130,
"y": 1980,
"wires": [
[
"79764253e9e92fda"
]
]
},
{
"id": "2daacd754d59567f",
"type": "link call",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"name": "",
"links": [
"7421f25ff88e96ea"
],
"linkType": "static",
"timeout": "30",
"x": 2130,
"y": 2040,
"wires": [
[
"4ad97596d0efa64b"
]
]
},
{
"id": "2f53d6a12a1b9648",
"type": "link call",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"name": "",
"links": [
"7421f25ff88e96ea"
],
"linkType": "static",
"timeout": "30",
"x": 2130,
"y": 2100,
"wires": [
[
"b74bf0ca5e271336"
]
]
},
{
"id": "f80f5a53d9b07000",
"type": "join",
"z": "80f2ffd4953c67e9",
"g": "eafad08e39c60266",
"name": "",
"mode": "auto",
"build": "object",
"property": "payload",
"propertyType": "msg",
"key": "topic",
"joiner": "\\n",
"joinerType": "str",
"useparts": false,
"accumulate": "false",
"timeout": "",
"count": "",
"reduceRight": false,
"x": 5570,
"y": 300,
"wires": [
[
"c1311d74af614a6b"
]
]
},
{
"id": "2d0116a7f0e5267e",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "eafad08e39c60266",
"name": "payload",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "old_payload",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 6060,
"y": 360,
"wires": [
[
"c5b1171ac4cfb2fa"
]
]
},
{
"id": "47121b9ebadde960",
"type": "switch",
"z": "80f2ffd4953c67e9",
"g": "eafad08e39c60266",
"name": "done",
"property": "#:(onMemory)::thermostat",
"propertyType": "flow",
"rules": [
{
"t": "hask",
"v": "apertures",
"vt": "str"
},
{
"t": "else"
}
],
"checkall": "false",
"repair": false,
"outputs": 2,
"x": 3710,
"y": 420,
"wires": [
[
"c5b1171ac4cfb2fa"
],
[
"0711217590341f99"
]
]
},
{
"id": "e770267366a41538",
"type": "delay",
"z": "80f2ffd4953c67e9",
"g": "eafad08e39c60266",
"name": "1 / s",
"pauseType": "rate",
"timeout": "2",
"timeoutUnits": "seconds",
"rate": "1",
"nbRateUnits": "1",
"rateUnits": "second",
"randomFirst": "1",
"randomLast": "5",
"randomUnits": "seconds",
"drop": false,
"allowrate": false,
"outputs": 1,
"x": 3550,
"y": 420,
"wires": [
[
"47121b9ebadde960"
]
]
},
{
"id": "f97b5115e1d99d4b",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "e6edd4684b272434",
"name": "thermostat / outdoor 1 / text / ",
"rules": [
{
"t": "set",
"p": "field",
"pt": "msg",
"to": "outdoor 1",
"tot": "str"
},
{
"t": "set",
"p": "format",
"pt": "msg",
"to": "text",
"tot": "str"
},
{
"t": "set",
"p": "default",
"pt": "msg",
"to": "",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 720,
"y": 1860,
"wires": [
[
"1707bc7a4bb0daa5"
]
]
},
{
"id": "08830b1bec822cd0",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "e6edd4684b272434",
"name": "thermostat / outdoor 2 / text / ",
"rules": [
{
"t": "set",
"p": "field",
"pt": "msg",
"to": "outdoor 2",
"tot": "str"
},
{
"t": "set",
"p": "format",
"pt": "msg",
"to": "text",
"tot": "str"
},
{
"t": "set",
"p": "default",
"pt": "msg",
"to": "",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 720,
"y": 1920,
"wires": [
[
"1707bc7a4bb0daa5"
]
]
},
{
"id": "38b3de42eccb63ea",
"type": "ui-dropdown",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"group": "28836135eb153545",
"name": "outdoor 1",
"label": "Temperature exterieur 1 :",
"tooltip": "",
"order": 38,
"width": "6",
"height": "1",
"passthru": false,
"multiple": false,
"chips": false,
"clearable": false,
"options": [
{
"label": "non assigné",
"value": "",
"type": "str"
}
],
"payload": "",
"topic": "outdoor 1",
"topicType": "str",
"className": "",
"typeIsComboBox": true,
"x": 2880,
"y": 2160,
"wires": [
[
"37aa96c6d80d8ade"
]
]
},
{
"id": "cd64045ae78319dc",
"type": "ui-dropdown",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"group": "28836135eb153545",
"name": "outdoor 2",
"label": "Temperature exterieur 2 :",
"tooltip": "",
"order": 39,
"width": "6",
"height": "1",
"passthru": false,
"multiple": false,
"chips": false,
"clearable": false,
"options": [
{
"label": "non assigné",
"value": "",
"type": "str"
}
],
"payload": "",
"topic": "outdoor 2",
"topicType": "str",
"className": "",
"typeIsComboBox": true,
"x": 2880,
"y": 2220,
"wires": [
[
"37aa96c6d80d8ade"
]
]
},
{
"id": "99820dc85872f042",
"type": "debug",
"z": "80f2ffd4953c67e9",
"g": "f4f5c470dc44c769",
"name": "ui - thermostat - outdoors",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"statusVal": "",
"statusType": "auto",
"x": 6310,
"y": 660,
"wires": []
},
{
"id": "e22365b6f5faa937",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "f4f5c470dc44c769",
"name": "from global",
"rules": [
{
"t": "set",
"p": "old_payload",
"pt": "msg",
"to": "payload",
"tot": "msg"
},
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "metrics",
"tot": "global"
},
{
"t": "set",
"p": "#:(onMemory)::thermostat.outdoors",
"pt": "flow",
"to": "[]",
"tot": "jsonata"
},
{
"t": "set",
"p": "#:(onMemory)::thermostat.outdoors[0]",
"pt": "flow",
"to": "{\t 'label': 'non assigné',\t 'value': ''\t}",
"tot": "jsonata"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 3890,
"y": 660,
"wires": [
[
"d2068bbda5e20f86"
]
]
},
{
"id": "d2068bbda5e20f86",
"type": "split",
"z": "80f2ffd4953c67e9",
"g": "f4f5c470dc44c769",
"name": "buckets",
"splt": "\\n",
"spltType": "str",
"arraySplt": 1,
"arraySpltType": "len",
"stream": false,
"addname": "bucket",
"property": "payload",
"x": 4080,
"y": 660,
"wires": [
[
"7b0cbcf02bc8dd7e"
]
]
},
{
"id": "7b0cbcf02bc8dd7e",
"type": "split",
"z": "80f2ffd4953c67e9",
"g": "f4f5c470dc44c769",
"name": "measurements",
"splt": "\\n",
"spltType": "str",
"arraySplt": 1,
"arraySpltType": "len",
"stream": false,
"addname": "measurement",
"property": "payload",
"x": 4280,
"y": 660,
"wires": [
[
"61a21c746c904524"
]
]
},
{
"id": "61a21c746c904524",
"type": "switch",
"z": "80f2ffd4953c67e9",
"g": "f4f5c470dc44c769",
"name": "measurement",
"property": "measurement",
"propertyType": "msg",
"rules": [
{
"t": "eq",
"v": "temperature",
"vt": "str"
},
{
"t": "else"
}
],
"checkall": "false",
"repair": false,
"outputs": 2,
"x": 4500,
"y": 660,
"wires": [
[
"b5a2ecd26dffba3a"
],
[
"354a444bcb3837e0"
]
]
},
{
"id": "b5a2ecd26dffba3a",
"type": "split",
"z": "80f2ffd4953c67e9",
"g": "f4f5c470dc44c769",
"name": "",
"splt": "\\n",
"spltType": "str",
"arraySplt": 1,
"arraySpltType": "len",
"stream": false,
"addname": "field",
"property": "payload",
"x": 4690,
"y": 600,
"wires": [
[
"64580efef0e57642"
]
]
},
{
"id": "67d347fd47288266",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "f4f5c470dc44c769",
"name": "add",
"rules": [
{
"t": "set",
"p": "metric",
"pt": "msg",
"to": "$substring(msg.metric,1)",
"tot": "jsonata"
},
{
"t": "set",
"p": "options",
"pt": "msg",
"to": "#:(onMemory)::thermostat.outdoors",
"tot": "flow"
},
{
"t": "set",
"p": "count",
"pt": "msg",
"to": "$count(msg.options)-1",
"tot": "jsonata"
},
{
"t": "set",
"p": "count",
"pt": "msg",
"to": "msg.count+1",
"tot": "jsonata"
},
{
"t": "set",
"p": "options[msg.count]",
"pt": "msg",
"to": "{\t 'label': msg.trans.path,\t 'value': msg.metric\t}",
"tot": "jsonata"
},
{
"t": "set",
"p": "#:(onMemory)::thermostat.outdoors",
"pt": "flow",
"to": "options",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 5250,
"y": 600,
"wires": [
[
"ad6b3250a3541a1f"
]
]
},
{
"id": "64580efef0e57642",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "f4f5c470dc44c769",
"name": "metric",
"rules": [
{
"t": "set",
"p": "metric",
"pt": "msg",
"to": "'/'&msg.bucket&'/'&msg.measurement&'/'&msg.field",
"tot": "jsonata"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 4850,
"y": 600,
"wires": [
[
"aee1a18c7263ba86"
]
]
},
{
"id": "aee1a18c7263ba86",
"type": "link call",
"z": "80f2ffd4953c67e9",
"g": "f4f5c470dc44c769",
"name": "",
"links": [
"025e219749a67439"
],
"linkType": "static",
"timeout": "30",
"x": 5050,
"y": 600,
"wires": [
[
"67d347fd47288266"
]
]
},
{
"id": "b0ad0b1193226130",
"type": "link in",
"z": "80f2ffd4953c67e9",
"g": "f4f5c470dc44c769",
"name": "thermostat - ui - outdoors",
"links": [],
"x": 3415,
"y": 720,
"wires": [
[
"713df21fb71f138b"
]
]
},
{
"id": "00f707d1661e4bef",
"type": "link out",
"z": "80f2ffd4953c67e9",
"g": "f4f5c470dc44c769",
"name": "thermostat - ui - outdoors",
"mode": "return",
"links": [],
"x": 6215,
"y": 720,
"wires": []
},
{
"id": "127c961637b6310d",
"type": "join",
"z": "80f2ffd4953c67e9",
"g": "f4f5c470dc44c769",
"name": "",
"mode": "auto",
"build": "object",
"property": "payload",
"propertyType": "msg",
"key": "topic",
"joiner": "\\n",
"joinerType": "str",
"useparts": false,
"accumulate": "false",
"timeout": "",
"count": "",
"reduceRight": false,
"x": 5730,
"y": 660,
"wires": [
[
"3dda93172bdc65d7"
]
]
},
{
"id": "354a444bcb3837e0",
"type": "join",
"z": "80f2ffd4953c67e9",
"g": "f4f5c470dc44c769",
"name": "",
"mode": "auto",
"build": "object",
"property": "payload",
"propertyType": "msg",
"key": "topic",
"joiner": "\\n",
"joinerType": "str",
"useparts": false,
"accumulate": "false",
"timeout": "",
"count": "",
"reduceRight": false,
"x": 5570,
"y": 660,
"wires": [
[
"127c961637b6310d"
]
]
},
{
"id": "3da0bd1cf66878da",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "f4f5c470dc44c769",
"name": "options",
"rules": [
{
"t": "set",
"p": "options",
"pt": "msg",
"to": "#:(onMemory)::thermostat.outdoors",
"tot": "flow"
},
{
"t": "set",
"p": "options",
"pt": "msg",
"to": "$sort(msg.options, function($l, $r) {\t $l[0].label > $r[0].label\t})",
"tot": "jsonata"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 6080,
"y": 720,
"wires": [
[
"00f707d1661e4bef",
"99820dc85872f042"
]
]
},
{
"id": "ad6b3250a3541a1f",
"type": "join",
"z": "80f2ffd4953c67e9",
"g": "f4f5c470dc44c769",
"name": "",
"mode": "auto",
"build": "object",
"property": "payload",
"propertyType": "msg",
"key": "topic",
"joiner": "\\n",
"joinerType": "str",
"useparts": false,
"accumulate": "false",
"timeout": "",
"count": "",
"reduceRight": false,
"x": 5410,
"y": 600,
"wires": [
[
"354a444bcb3837e0"
]
]
},
{
"id": "3dda93172bdc65d7",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "f4f5c470dc44c769",
"name": "payload",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "old_payload",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 5900,
"y": 660,
"wires": [
[
"3da0bd1cf66878da"
]
]
},
{
"id": "b3e1001ef74f47b3",
"type": "switch",
"z": "80f2ffd4953c67e9",
"g": "f4f5c470dc44c769",
"name": "done",
"property": "#:(onMemory)::thermostat",
"propertyType": "flow",
"rules": [
{
"t": "hask",
"v": "outdoors",
"vt": "str"
},
{
"t": "else"
}
],
"checkall": "false",
"repair": false,
"outputs": 2,
"x": 3710,
"y": 720,
"wires": [
[
"3da0bd1cf66878da"
],
[
"e22365b6f5faa937"
]
]
},
{
"id": "713df21fb71f138b",
"type": "delay",
"z": "80f2ffd4953c67e9",
"g": "f4f5c470dc44c769",
"name": "1 / s",
"pauseType": "rate",
"timeout": "2",
"timeoutUnits": "seconds",
"rate": "1",
"nbRateUnits": "1",
"rateUnits": "second",
"randomFirst": "1",
"randomLast": "5",
"randomUnits": "seconds",
"drop": false,
"allowrate": false,
"outputs": 1,
"x": 3550,
"y": 720,
"wires": [
[
"b3e1001ef74f47b3"
]
]
},
{
"id": "74b33297e4369aee",
"type": "link call",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"name": "",
"links": [
"b0ad0b1193226130"
],
"linkType": "static",
"timeout": "30",
"x": 2130,
"y": 2160,
"wires": [
[
"38b3de42eccb63ea"
]
]
},
{
"id": "a3a5880c2003c6cd",
"type": "link call",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"name": "",
"links": [
"b0ad0b1193226130"
],
"linkType": "static",
"timeout": "30",
"x": 2130,
"y": 2220,
"wires": [
[
"cd64045ae78319dc"
]
]
},
{
"id": "5c2ee7a9a0b1a4f4",
"type": "link in",
"z": "80f2ffd4953c67e9",
"g": "57656fc40a9ba454",
"name": "thermostat - update - outdoor temperature",
"links": [
"6b4c87d53563c36d"
],
"x": 135,
"y": 5100,
"wires": [
[
"60f65b4b5f4c2cc4"
]
]
},
{
"id": "60f65b4b5f4c2cc4",
"type": "switch",
"z": "80f2ffd4953c67e9",
"g": "57656fc40a9ba454",
"name": "trigger",
"property": "path",
"propertyType": "msg",
"rules": [
{
"t": "eq",
"v": "th['outdoor 1']",
"vt": "msg"
},
{
"t": "eq",
"v": "th['outdoor 2']",
"vt": "msg"
}
],
"checkall": "false",
"repair": false,
"outputs": 2,
"x": 270,
"y": 5100,
"wires": [
[
"f425887de67cad57"
],
[
"f425887de67cad57"
]
]
},
{
"id": "f425887de67cad57",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "57656fc40a9ba454",
"name": "temperature 1",
"rules": [
{
"t": "set",
"p": "temperatures",
"pt": "msg",
"to": "[]",
"tot": "jsonata"
},
{
"t": "set",
"p": "tmp",
"pt": "msg",
"to": "th['outdoor 1']",
"tot": "msg"
},
{
"t": "set",
"p": "tmp",
"pt": "msg",
"to": "msg.tmp!=\"\"?msg.tmp:'a/a/a'",
"tot": "jsonata"
},
{
"t": "set",
"p": "spl",
"pt": "msg",
"to": "$split(msg.tmp,'/')",
"tot": "jsonata"
},
{
"t": "set",
"p": "temperatures[0]",
"pt": "msg",
"to": "metrics[msg.spl[0]][msg.spl[1]][msg.spl[2]]",
"tot": "global"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 460,
"y": 5100,
"wires": [
[
"7a3b533f0e9d934a"
]
]
},
{
"id": "7a3b533f0e9d934a",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "57656fc40a9ba454",
"name": "temperature 2",
"rules": [
{
"t": "set",
"p": "tmp",
"pt": "msg",
"to": "th['outdoor 2']",
"tot": "msg"
},
{
"t": "set",
"p": "tmp",
"pt": "msg",
"to": "msg.tmp!=\"\"?msg.tmp:'a/a/a'",
"tot": "jsonata"
},
{
"t": "set",
"p": "spl",
"pt": "msg",
"to": "$split(msg.tmp,'/')",
"tot": "jsonata"
},
{
"t": "set",
"p": "temperatures[1]",
"pt": "msg",
"to": "metrics[msg.spl[0]][msg.spl[1]][msg.spl[2]]",
"tot": "global"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 500,
"y": 5100,
"wires": [
[
"33151ec7b379db49"
]
]
},
{
"id": "33151ec7b379db49",
"type": "function",
"z": "80f2ffd4953c67e9",
"g": "57656fc40a9ba454",
"name": "compute temperatures",
"func": "var msg = msg;\nvar temperature = 0;\n\nif (typeof msg.temperatures[1] !== 'undefined') {\n temperature = msg.temperatures[1];\n}\nif (typeof msg.temperatures[0] !== 'undefined') {\n temperature = msg.temperatures[0];\n}\nif (typeof msg.temperatures[0] !== 'undefined' && typeof msg.temperatures[1] !== 'undefined') {\n temperature = (msg.temperatures[0] + msg.temperatures[1]) / 2;\n}\n\ntemperature = temperature.toFixed(1);\nmsg.trigger_payload = temperature;\nmsg.field = 'outdoor temperature';\n\nreturn msg;",
"outputs": 1,
"timeout": 0,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 740,
"y": 5100,
"wires": [
[
"b3f3ee85862b09ef",
"5f67fdb103a398c8"
]
]
},
{
"id": "b3f3ee85862b09ef",
"type": "link out",
"z": "80f2ffd4953c67e9",
"g": "57656fc40a9ba454",
"name": "thermostat - update - outdoor temperature",
"mode": "link",
"links": [
"63f9a6d8c925d3d3"
],
"x": 915,
"y": 5100,
"wires": []
},
{
"id": "5f67fdb103a398c8",
"type": "debug",
"z": "80f2ffd4953c67e9",
"g": "57656fc40a9ba454",
"name": "thermostat - trigger - outdoor temperature",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"statusVal": "",
"statusType": "auto",
"x": 1060,
"y": 5040,
"wires": []
},
{
"id": "8f479a7a6d5419a5",
"type": "comment",
"z": "80f2ffd4953c67e9",
"g": "e6edd4684b272434",
"name": "set a \"power production\" as aperture enable cold features",
"info": "",
"x": 330,
"y": 1800,
"wires": []
},
{
"id": "14793d33b66432fd",
"type": "comment",
"z": "80f2ffd4953c67e9",
"g": "e6edd4684b272434",
"name": "one or more outdoor temperature probes must be set",
"info": "",
"x": 310,
"y": 1860,
"wires": []
},
{
"id": "86a901b933d34c8a",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"name": "group",
"rules": [
{
"t": "set",
"p": "group",
"pt": "msg",
"to": "Thermostat",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 2050,
"y": 240,
"wires": [
[
"d820170df2717cca"
]
]
},
{
"id": "d820170df2717cca",
"type": "link out",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"name": "room - ui - thermostat - control",
"mode": "link",
"links": [
"4afaf74fbb2e3c7f"
],
"x": 2175,
"y": 240,
"wires": []
},
{
"id": "3a1f2c63baddb5b7",
"type": "change",
"z": "80f2ffd4953c67e9",
"g": "bb2ebd173a2ba06c",
"name": "control",
"rules": [
{
"t": "set",
"p": "control",
"pt": "msg",
"to": "show",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 1890,
"y": 300,
"wires": [
[
"86a901b933d34c8a"
]
]
}
]