- Home
- Deutsch
- Skripten / Logik
- Node-Red
- [Gelöst] Benötige Hilfe mit Node-Red in Verbindung mit homee
[Gelöst] Benötige Hilfe mit Node-Red in Verbindung mit homee
-
@mickym
sorry, aber ich kann das spielen nicht lassen und habe versucht noch etwas an der Tabelle zu ändernIch wollte, wenn nur der Batteriestatus 69 vorhanden ist keine Zahlen, sondern einen Text hinterlegt haben. In der JSONata klappt das auch
Heizungsthermostate haben beides, da wird mir der Prozentwert hinterlegt:
Netatmo Geräte haben nur 69, da wird mir der Text hinterlegt:
Im Flow bringt er mir aber folgenden Fehlermeldung:
Hier der Flow
[ { "id": "9731f891b382fe8c", "type": "tab", "label": "Flow 1", "disabled": false, "info": "", "env": [] }, { "id": "11fd1028247a8897", "type": "change", "z": "9731f891b382fe8c", "name": "decodeUrlComponents", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "payload ~> |$.nodes|{\"name\":$decodeUrlComponent(name),\t\"note\":$decodeUrlComponent(note),\t\"phonetic_name\":$decodeUrlComponent(phonetic_name)},\"\"|", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 500, "y": 120, "wires": [ [ "05ccc17805c274e2" ] ] }, { "id": "05ccc17805c274e2", "type": "change", "z": "9731f891b382fe8c", "name": "Alle Geräte", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "payload.nodes", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 710, "y": 120, "wires": [ [ "21f49844d0f9be61" ] ] }, { "id": "21f49844d0f9be61", "type": "change", "z": "9731f891b382fe8c", "name": "Geräte ausschliessen", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "payload ~> $filter(function($value){$value.id in [-1] != true})", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 920, "y": 120, "wires": [ [ "65f883047ce1db69" ] ] }, { "id": "93a74a370ce33f6a", "type": "change", "z": "9731f891b382fe8c", "name": "hole alle Geräte", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "{}", "tot": "json" }, { "t": "set", "p": "payload.nodes", "pt": "msg", "to": "homee.nodes", "tot": "global" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 300, "y": 120, "wires": [ [ "11fd1028247a8897" ] ] }, { "id": "73447e82349b1ddc", "type": "inject", "z": "9731f891b382fe8c", "name": "trigger", "props": [ { "p": "payload" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "true", "payloadType": "bool", "x": 130, "y": 120, "wires": [ [ "93a74a370ce33f6a" ] ] }, { "id": "357d692fea66dd1e", "type": "debug", "z": "9731f891b382fe8c", "name": "Geräte Tabelle", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1400, "y": 120, "wires": [] }, { "id": "65f883047ce1db69", "type": "change", "z": "9731f891b382fe8c", "name": "Geräte Tabelle8", "rules": [ { "t": "set", "p": "protocols", "pt": "msg", "to": "[{\"id\":1,\"name\":\"Z-Wave\",\"color\":\"#886fa9\"},{\"id\":2,\"name\":\"ZigBee\",\"color\":\"#ee6c1e\"},{\"id\":3,\"name\":\"EnOcean\",\"color\":\"#44abb2\"},{\"id\":9,\"name\":\"WLAN\",\"color\":\"#8f8f8f\"},{\"id\":12,\"name\":\"WLAN\",\"color\":\"#8f8f8f\"}]", "tot": "json" }, { "t": "set", "p": "states", "pt": "msg", "to": "[{\"id\":1,\"name\":\"verfügbar\",\"color\":\"green\"},{\"id\":2,\"name\":\"nicht verfügbar\",\"color\":\"red\"},{\"id\":12,\"name\":\"wird aktualisiert\",\"color\":\"orange\"}]", "tot": "json" }, { "t": "set", "p": "battery", "pt": "msg", "to": "[{\"level\":30,\"color\":\"green\"},{\"level\":20,\"color\":\"yellow\"},{\"level\":15,\"color\":\"orange\"},{\"level\":0,\"color\":\"red\"}]", "tot": "json" }, { "t": "set", "p": "battery69", "pt": "msg", "to": "[{\"level\":0,\"name\":\"Batterie ok\",\"color\":\"green\"},{\"level\":1,\"name\":\"Batterie wechseln\",\"color\":\"red\"}]", "tot": "str" }, { "t": "set", "p": "payload", "pt": "msg", "to": "payload.{\"name\" :name,\t \"type\" : note,\t \"protocol\" : ' <font color=\\\"' & $single($$.protocols, function($v){$v.id = protocol}).color & '\\\"> ' & $single($$.protocols, function($v){$v.id = protocol}).name,\t \"state\" : ' <font color=\\\"' & $single($$.states, function($v){$v.id = state}).color & '\\\"> ' & $single($$.states, function($v){$v.id = state}).name,\t \"battery69\" : (attributes[type=8 ] ? 0 : attributes[type=69 ]).type = 69 ? attributes[type=69 ].current_value,\t \"battery\" : (attributes[type=8 ] ? attributes[type=8 ] : attributes[type=69 ]).type = 8 ? attributes[type=8 ].current_value\t} ~> |$|{\"battery\" : $exists(battery69) ? ' <font color=\\\"' & $filter($$.battery69, function($v){battery69 >= $v.level})[0].color & '\\\"> ' & $single($$.battery69, function($v){$v.level = battery69}).name :\t$exists(battery) ? ' <font color=\\\"' & $filter($$.battery, function($v){battery >= $v.level})[0].color & '\\\"> ' & battery & \" %\" :\t$contains(type,\"Plug\") ? ' <font color=\\\"#40E0D0\\\"> ' & \"Strombetrieben\": \"Keine Information vorhanden\"},\"note\"|", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1140, "y": 120, "wires": [ [ "357d692fea66dd1e" ] ] } ]
Ich will es nur verstehen
-
gelöscht.
-
@mickym
verstehe ich jetzt nicht, da schreibe ich doch den value Wert rein, 0 = Batterie ok, 1 = Batterie wechseln -
@oli Ich habs . Ich merke schon Du willst mich auf die Probe stellen.
-
@mickym
vielen Dank, du bist der Beste -
@oli sagte in Benötige Hilfe mit Node-Red in Verbindung mit homee:
@mickym
vielen Dank, du bist der BesteNa ja - ich hab da viel zu lange gebraucht, um darauf zu kommen.
-
ich leider schon wieder, war heute fleißig und habe sogar einen Flow, ohne deine Hilfe hinbekommen
Ich versuche gerade die Settings auszulesen, was bis jetzt auch gut geklappt hat.
Jetzt hänge ich aber wieder an so einer dämlichen Tabelle, die eigentlich ganz einfach aus sahHier die Daten:
{"language":"de","remote_access":1,"beta":0,"webhooks_key":"XXXXXXXXXXXX","automatic_location_detection":1,"polling_interval":60,"enable_analytics":0,"homee_name":"XXXXXXXX","b2b_partner":"homee","country":"Deutschland","country_code":"DE","state":"XXX","city":"XXXX","latitude":XXXXX,"longitude":XXXXX,"zip":"XXXX","address":"XXXXXX","timezone":"Europe%2FBerlin","last_automatic_location_detection":1674998871,"local_ssl_enabled":true,"wlan_enabled":1,"wlan_ip_address":"XXXXX","wlan_ssid":"XXXXX","wlan_mode":2,"internet_access":true,"lan_enabled":0,"available_ssids":["XXXX,XXXX"],"time":1678749606,"civil_time":"2023-03-14 00:20:06","version":"2.38.3+10a3a6dd","uid":"XXXXX","cubes":[{"protocol":1,"type":1,"order":1,"firmware":"3.95.0","secure_add":1,"missing_nodes":0,"resettable":true,"heal":true,"device_exclude_supported":true,"device_reinitialize_supported":true},{"protocol":3,"type":3,"order":2,"resettable":false},{"protocol":2,"type":2,"order":3,"firmware":"2.6.3","nw_channel":12,"resettable":true}],"extensions":{"weather":{"enabled":1},"amazon_alexa":{"enabled":1},"google_assistant":{"enabled":0,"syncing":0},"apple_homekit":{"configNumber":1,"enabled":0,"paired":0,"syncing":0},"ftp":{"enabled":1,"protocol":0,"hostname":"XXXXXX","port":XX,"username":"XXXX","has_password":1,"path":"Public/homee/","testing":0},"history":{"enabled":1,"destination":1,"folder":"Verlaufsdaten"},"backup":{"enabled":1,"destination":1,"folder":"Backup%2F","manual_export":0},"proxy":{"enabled":1,"connected":true,"environment":1},"electricity_price":{"enabled":0},"ssh_tunnel":{"enabled":false},"notification":{"email_daily_count":0,"email_daily_limit":50,"email_monthly_count":0,"email_monthly_limit":1550,"email_next_daily_reset_date":1678834800,"email_next_monthly_reset_date":1680300000,"environment":1},"dropbox":{"enabled":false},"braindump":{"enabled":false},"watchdog":{"enabled":true,"run_period":10000},"mosquitto_mqtt":{}},"name":"homee Oliver"}
Es sollen eigentlich nur von den Cubes "type" und "fimware" ausgelesen und in eine Tabelle geschrieben werden, aber stelle mich wieder zu blöd an
Hier der Flow mit meinem erfolglosen Versuch:
[ { "id": "2749496aa10f7c17", "type": "tab", "label": "homee Settings", "disabled": false, "info": "", "env": [] }, { "id": "3bb8ae97da664e72", "type": "change", "z": "2749496aa10f7c17", "name": "decodeUrlComponents", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "payload ~> |$.settings|{\"name\":$decodeUrlComponent(homee_name)},\"\"|", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 560, "y": 180, "wires": [ [ "af2cb67fb55f481d" ] ] }, { "id": "af2cb67fb55f481d", "type": "change", "z": "2749496aa10f7c17", "name": "Alle Settings", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "payload.settings", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 750, "y": 180, "wires": [ [ "c718d649fbe26208" ] ] }, { "id": "c718d649fbe26208", "type": "change", "z": "2749496aa10f7c17", "name": "Geräte ausschliessen", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "payload ~> $filter(function($value){$value.id in [-1] != true})", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 960, "y": 180, "wires": [ [ "937a5862046b9d5f", "c7f5dce04b044676", "e3c876ba60d4c83b", "736aeef19db4d053", "fc927cb540b12985", "6fba09a1121470b2", "1e42f8900946d138", "7455cb50e5c795a5" ] ] }, { "id": "5f3d5e25b9cde8da", "type": "change", "z": "2749496aa10f7c17", "name": "hole alle Settings", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "{}", "tot": "json" }, { "t": "set", "p": "payload.settings", "pt": "msg", "to": "homee.settings", "tot": "global" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 310, "y": 180, "wires": [ [ "3bb8ae97da664e72" ] ] }, { "id": "ccf2eb936b15a350", "type": "inject", "z": "2749496aa10f7c17", "name": "trigger", "props": [ { "p": "payload" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "true", "payloadType": "bool", "x": 130, "y": 180, "wires": [ [ "5f3d5e25b9cde8da" ] ] }, { "id": "937a5862046b9d5f", "type": "debug", "z": "2749496aa10f7c17", "name": "Settings", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1200, "y": 60, "wires": [] }, { "id": "e3c876ba60d4c83b", "type": "change", "z": "2749496aa10f7c17", "name": "UID Name", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "payload.uid", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1210, "y": 300, "wires": [ [ "cf048a91a8b51875", "f76a02bd74f8832c" ] ] }, { "id": "cf048a91a8b51875", "type": "debug", "z": "2749496aa10f7c17", "name": "UID Name", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1430, "y": 240, "wires": [] }, { "id": "736aeef19db4d053", "type": "change", "z": "2749496aa10f7c17", "name": "Firmeware", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "payload.version", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1210, "y": 420, "wires": [ [ "e590a079e72bd879", "6eb4c1b40932e67c" ] ] }, { "id": "e590a079e72bd879", "type": "debug", "z": "2749496aa10f7c17", "name": "Firmeware", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1430, "y": 360, "wires": [] }, { "id": "c7f5dce04b044676", "type": "change", "z": "2749496aa10f7c17", "name": "homee Name", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "payload.name", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1220, "y": 180, "wires": [ [ "f4cdf6d60a263c02", "2ff1da8ed1a5bc32" ] ] }, { "id": "f4cdf6d60a263c02", "type": "debug", "z": "2749496aa10f7c17", "name": "homee Name", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1440, "y": 120, "wires": [] }, { "id": "f76a02bd74f8832c", "type": "ioBroker out", "z": "2749496aa10f7c17", "name": "UID Name", "topic": "0_userdata.0.System.homee.Cube1.Uid", "ack": "true", "autoCreate": "true", "stateName": "0_userdata.0.System.homee.Cube1.Uid", "role": "", "payloadType": "string", "readonly": "false", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 1430, "y": 300, "wires": [] }, { "id": "2ff1da8ed1a5bc32", "type": "ioBroker out", "z": "2749496aa10f7c17", "name": "homee Name", "topic": "0_userdata.0.System.homee.Cube1.Name", "ack": "true", "autoCreate": "true", "stateName": "0_userdata.0.System.homee.Cube1.Name", "role": "", "payloadType": "string", "readonly": "false", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 1440, "y": 180, "wires": [] }, { "id": "6eb4c1b40932e67c", "type": "ioBroker out", "z": "2749496aa10f7c17", "name": "Firmeware", "topic": "0_userdata.0.System.homee.Cube1.Firmeware", "ack": "true", "autoCreate": "true", "stateName": "0_userdata.0.System.homee.Cube1.Firmeware", "role": "", "payloadType": "string", "readonly": "false", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 1430, "y": 420, "wires": [] }, { "id": "5a98cc34ad5d369c", "type": "debug", "z": "2749496aa10f7c17", "name": "Anzahl Zusatzwürfel", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1720, "y": 720, "wires": [] }, { "id": "ef618bf5f21d53fc", "type": "ioBroker out", "z": "2749496aa10f7c17", "name": "Anzahl Zusatzwürfel", "topic": "0_userdata.0.System.homee.Cube1.AnzahlCubes", "ack": "true", "autoCreate": "true", "stateName": "0_userdata.0.System.homee.Cube1.AnzahlCubes", "role": "", "payloadType": "number", "readonly": "false", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 1720, "y": 780, "wires": [] }, { "id": "c3f282786a48e754", "type": "change", "z": "2749496aa10f7c17", "name": "Anzahl Zusatzwürfel", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "$count(payload)", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1460, "y": 780, "wires": [ [ "5a98cc34ad5d369c", "ef618bf5f21d53fc" ] ] }, { "id": "b6ce520fe699b5b4", "type": "debug", "z": "2749496aa10f7c17", "name": "Zusatzwürfel", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1430, "y": 720, "wires": [] }, { "id": "6fba09a1121470b2", "type": "change", "z": "2749496aa10f7c17", "name": "Zusatzwürfel", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "payload.cubes.type", "tot": "jsonata" }, { "t": "set", "p": "homee.settings", "pt": "flow", "to": "payload", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1210, "y": 780, "wires": [ [ "b6ce520fe699b5b4", "c3f282786a48e754" ] ] }, { "id": "103dd420f1ae6f4f", "type": "debug", "z": "2749496aa10f7c17", "name": "Verbindung über", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1440, "y": 480, "wires": [] }, { "id": "aaf4ea5be5e5d689", "type": "ioBroker out", "z": "2749496aa10f7c17", "name": "Verbindung über", "topic": "0_userdata.0.System.homee.Cube1.Verbindung", "ack": "true", "autoCreate": "true", "stateName": "0_userdata.0.System.homee.Cube1.Verbindung", "role": "", "payloadType": "string", "readonly": "false", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 1440, "y": 540, "wires": [] }, { "id": "fc927cb540b12985", "type": "function", "z": "2749496aa10f7c17", "name": "Verbindung über", "func": "var wlan = msg.payload.wlan_enabled\nvar lan = msg.payload.wlan_enabled\nvar verbindung = \"\";\n\nif (wlan == 1) {\n verbindung = \"Wlan\";\n} else if (lan == 1) {\n verbindung == \"Lan\";\n} else if (wlan == 0 && lan == 0) {\n verbindung = \"keine Verbindung\"\n}\n\nmsg.payload = verbindung;\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 1220, "y": 540, "wires": [ [ "103dd420f1ae6f4f", "aaf4ea5be5e5d689" ] ] }, { "id": "9ea4d4898638727c", "type": "comment", "z": "2749496aa10f7c17", "name": "homee Settings", "info": "", "x": 140, "y": 80, "wires": [] }, { "id": "1e42f8900946d138", "type": "change", "z": "2749496aa10f7c17", "name": "Verbindung mit", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "payload.wlan_ssid", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1220, "y": 660, "wires": [ [ "a6f09f2bdda4dc43", "1504ff5a09d26392" ] ] }, { "id": "a6f09f2bdda4dc43", "type": "debug", "z": "2749496aa10f7c17", "name": "Verbindung mit", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1440, "y": 600, "wires": [] }, { "id": "1504ff5a09d26392", "type": "ioBroker out", "z": "2749496aa10f7c17", "name": "Verbindung mit", "topic": "0_userdata.0.System.homee.Cube1.Netzwerk", "ack": "true", "autoCreate": "true", "stateName": "0_userdata.0.System.homee.Cube1.Netzwerk", "role": "", "payloadType": "string", "readonly": "false", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 1440, "y": 660, "wires": [] }, { "id": "8a43345ef2a70be0", "type": "change", "z": "2749496aa10f7c17", "name": "", "rules": [ { "t": "move", "p": "payload", "pt": "msg", "to": "settings", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 480, "y": 760, "wires": [ [ "46a5350c5d867f97" ] ] }, { "id": "46a5350c5d867f97", "type": "change", "z": "2749496aa10f7c17", "name": "hole alle homeegramme", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "{}", "tot": "json" }, { "t": "set", "p": "payload.settings", "pt": "msg", "to": "homee.settings", "tot": "global" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 730, "y": 760, "wires": [ [ "053f961317aeb04b" ] ] }, { "id": "053f961317aeb04b", "type": "switch", "z": "2749496aa10f7c17", "name": "Nur wenn Settings sich ändern", "property": "(\t payload.settings = settings\t)", "propertyType": "jsonata", "rules": [ { "t": "false" } ], "checkall": "true", "repair": false, "outputs": 1, "x": 710, "y": 420, "wires": [ [ "3bb8ae97da664e72" ] ] }, { "id": "f1c83ffb994d87a7", "type": "switch", "z": "2749496aa10f7c17", "name": "verify settings", "property": "payload.settings", "propertyType": "msg", "rules": [ { "t": "nnull" } ], "checkall": "true", "repair": false, "outputs": 1, "x": 220, "y": 760, "wires": [ [ "8a43345ef2a70be0" ] ] }, { "id": "5f4368b7e682f493", "type": "link in", "z": "2749496aa10f7c17", "name": "", "links": [ "d87f2174cf715cf2" ], "x": 75, "y": 760, "wires": [ [ "f1c83ffb994d87a7" ] ] }, { "id": "7455cb50e5c795a5", "type": "change", "z": "2749496aa10f7c17", "name": "Zusatzwürfel Tabelle", "rules": [ { "t": "set", "p": "protocols", "pt": "msg", "to": "[{\"id\":1,\"name\":\"Z-Wave\"},{\"id\":2,\"name\":\"ZigBee\"},{\"id\":3,\"name\":\"EnOcean\"}]", "tot": "json" }, { "t": "set", "p": "payload", "pt": "msg", "to": "payload.{\"name\" : $single($$.protocols, function($v){$v.id = type}).name, \t \"firmware\" : $exists(firmware) ? firmware : \"k.A.\" \t}", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1240, "y": 880, "wires": [ [ "d5594ef7e61b1649" ] ] }, { "id": "d5594ef7e61b1649", "type": "debug", "z": "2749496aa10f7c17", "name": "Zusatzwürfel Tabelle", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1480, "y": 880, "wires": [] } ]
Wäre schön, wenn du mir nochmal helfen könntest
-
@oli sagte in Benötige Hilfe mit Node-Red in Verbindung mit homee:
{"language":"de","remote_access":1,"beta":0,"webhooks_key":"XXXXXXXXXXXX","automatic_location_detection":1,"polling_interval":60,"enable_analytics":0,"homee_name":"XXXXXXXX","b2b_partner":"homee","country":"Deutschland","country_code":"DE","state":"XXX","city":"XXXX","latitude":XXXXX,"longitude":XXXXX,"zip":"XXXX","address":"XXXXXX","timezone":"Europe%2FBerlin","last_automatic_location_detection":1674998871,"local_ssl_enabled":true,"wlan_enabled":1,"wlan_ip_address":"XXXXX","wlan_ssid":"XXXXX","wlan_mode":2,"internet_access":true,"lan_enabled":0,"available_ssids":["XXXX,XXXX"],"time":1678749606,"civil_time":"2023-03-14 00:20:06","version":"2.38.3+10a3a6dd","uid":"XXXXX","cubes":[{"protocol":1,"type":1,"order":1,"firmware":"3.95.0","secure_add":1,"missing_nodes":0,"resettable":true,"heal":true,"device_exclude_supported":true,"device_reinitialize_supported":true},{"protocol":3,"type":3,"order":2,"resettable":false},{"protocol":2,"type":2,"order":3,"firmware":"2.6.3","nw_channel":12,"resettable":true}],"extensions":{"weather":{"enabled":1},"amazon_alexa":{"enabled":1},"google_assistant":{"enabled":0,"syncing":0},"apple_homekit":{"configNumber":1,"enabled":0,"paired":0,"syncing":0},"ftp":{"enabled":1,"protocol":0,"hostname":"XXXXXX","port":XX,"username":"XXXX","has_password":1,"path":"Public/homee/","testing":0},"history":{"enabled":1,"destination":1,"folder":"Verlaufsdaten"},"backup":{"enabled":1,"destination":1,"folder":"Backup%2F","manual_export":0},"proxy":{"enabled":1,"connected":true,"environment":1},"electricity_price":{"enabled":0},"ssh_tunnel":{"enabled":false},"notification":{"email_daily_count":0,"email_daily_limit":50,"email_monthly_count":0,"email_monthly_limit":1550,"email_next_daily_reset_date":1678834800,"email_next_monthly_reset_date":1680300000,"environment":1},"dropbox":{"enabled":false},"braindump":{"enabled":false},"watchdog":{"enabled":true,"run_period":10000},"mosquitto_mqtt":{}},"name":"homee Oliver"}
Ich versuchs mal - ich versteh ja dass Du bestimmte Dinge aus- x - aber wenn Du den JSON kaputt machst - dann muss ich erst mal 5 Minuten den JSON nach bearbeiten.
das nächste Mal jagst Du Deinen JSON bitte hier durch: https://jsonformatter.org/
und kopierst dann den formatierten JSON hier rein (also das rechte Fenster - und wenn das nicht geht dann beseitige erst mal die Fehler:
So ist der JSON nun korrigiert.
{ "language": "de", "remote_access": 1, "beta": 0, "webhooks_key": "XXXXXXXXXXXX", "automatic_location_detection": 1, "polling_interval": 60, "enable_analytics": 0, "homee_name": "XXXXXXXX", "b2b_partner": "homee", "country": "Deutschland", "country_code": "DE", "state": "XXX", "city": "XXXX", "latitude": "XXXXX", "longitude": "XXXXX", "zip": "XXXX", "address": "XXXXXX", "timezone": "Europe%2FBerlin", "last_automatic_location_detection": 1674998871, "local_ssl_enabled": true, "wlan_enabled": 1, "wlan_ip_address": "XXXXX", "wlan_ssid": "XXXXX", "wlan_mode": 2, "internet_access": true, "lan_enabled": 0, "available_ssids": [ "XXXX,XXXX" ], "time": 1678749606, "civil_time": "2023-03-14 00:20:06", "version": "2.38.3+10a3a6dd", "uid": "XXXXX", "cubes": [ { "protocol": 1, "type": 1, "order": 1, "firmware": "3.95.0", "secure_add": 1, "missing_nodes": 0, "resettable": true, "heal": true, "device_exclude_supported": true, "device_reinitialize_supported": true }, { "protocol": 3, "type": 3, "order": 2, "resettable": false }, { "protocol": 2, "type": 2, "order": 3, "firmware": "2.6.3", "nw_channel": 12, "resettable": true } ], "extensions": { "weather": { "enabled": 1 }, "amazon_alexa": { "enabled": 1 }, "google_assistant": { "enabled": 0, "syncing": 0 }, "apple_homekit": { "configNumber": 1, "enabled": 0, "paired": 0, "syncing": 0 }, "ftp": { "enabled": 1, "protocol": 0, "hostname": "XXXXXX", "port": "XX", "username": "XXXX", "has_password": 1, "path": "Public/homee/", "testing": 0 }, "history": { "enabled": 1, "destination": 1, "folder": "Verlaufsdaten" }, "backup": { "enabled": 1, "destination": 1, "folder": "Backup%2F", "manual_export": 0 }, "proxy": { "enabled": 1, "connected": true, "environment": 1 }, "electricity_price": { "enabled": 0 }, "ssh_tunnel": { "enabled": false }, "notification": { "email_daily_count": 0, "email_daily_limit": 50, "email_monthly_count": 0, "email_monthly_limit": 1550, "email_next_daily_reset_date": 1678834800, "email_next_monthly_reset_date": 1680300000, "environment": 1 }, "dropbox": { "enabled": false }, "braindump": { "enabled": false }, "watchdog": { "enabled": true, "run_period": 10000 }, "mosquitto_mqtt": {}, "name": "homee Oliver" } }
-
@oli So Du musst nicht den alten Schmus mit kopieren. Wenn Du nächstes Mal Hilfe brauchst, musst die Daten nur in eine Inject Node kopieren und einspeisen.
Ich habs Dir mal vorgemacht.Ich hab den Flow mal so angepasst, was völlig ausreichend ist.
[ { "id": "2749496aa10f7c17", "type": "tab", "label": "homee Settings", "disabled": false, "info": "", "env": [] }, { "id": "35f2e60b460d3176", "type": "junction", "z": "2749496aa10f7c17", "x": 1060, "y": 260, "wires": [ [ "7455cb50e5c795a5", "1e42f8900946d138", "c7f5dce04b044676", "937a5862046b9d5f", "fc927cb540b12985", "736aeef19db4d053", "e3c876ba60d4c83b", "6fba09a1121470b2" ] ] }, { "id": "3bb8ae97da664e72", "type": "change", "z": "2749496aa10f7c17", "d": true, "name": "decodeUrlComponents", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "payload ~> |$.settings|{\"name\":$decodeUrlComponent(homee_name)},\"\"|", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 560, "y": 400, "wires": [ [ "af2cb67fb55f481d" ] ] }, { "id": "af2cb67fb55f481d", "type": "change", "z": "2749496aa10f7c17", "d": true, "name": "Alle Settings", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "payload.settings", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 750, "y": 400, "wires": [ [ "c718d649fbe26208" ] ] }, { "id": "c718d649fbe26208", "type": "change", "z": "2749496aa10f7c17", "d": true, "name": "Geräte ausschliessen", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "payload ~> $filter(function($value){$value.id in [-1] != true})", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 920, "y": 460, "wires": [ [] ] }, { "id": "5f3d5e25b9cde8da", "type": "change", "z": "2749496aa10f7c17", "d": true, "name": "hole alle Settings", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "{}", "tot": "json" }, { "t": "set", "p": "payload.settings", "pt": "msg", "to": "homee.settings", "tot": "global" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 310, "y": 400, "wires": [ [ "3bb8ae97da664e72" ] ] }, { "id": "ccf2eb936b15a350", "type": "inject", "z": "2749496aa10f7c17", "d": true, "name": "trigger", "props": [ { "p": "payload" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "true", "payloadType": "bool", "x": 130, "y": 400, "wires": [ [ "5f3d5e25b9cde8da" ] ] }, { "id": "937a5862046b9d5f", "type": "debug", "z": "2749496aa10f7c17", "name": "Settings", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1200, "y": 60, "wires": [] }, { "id": "e3c876ba60d4c83b", "type": "change", "z": "2749496aa10f7c17", "name": "UID Name", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "payload.uid", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1210, "y": 300, "wires": [ [ "cf048a91a8b51875", "f76a02bd74f8832c" ] ] }, { "id": "cf048a91a8b51875", "type": "debug", "z": "2749496aa10f7c17", "name": "UID Name", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1430, "y": 240, "wires": [] }, { "id": "736aeef19db4d053", "type": "change", "z": "2749496aa10f7c17", "name": "Firmeware", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "payload.version", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1210, "y": 420, "wires": [ [ "e590a079e72bd879", "6eb4c1b40932e67c" ] ] }, { "id": "e590a079e72bd879", "type": "debug", "z": "2749496aa10f7c17", "name": "Firmeware", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1430, "y": 360, "wires": [] }, { "id": "c7f5dce04b044676", "type": "change", "z": "2749496aa10f7c17", "name": "homee Name", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "payload.name", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1220, "y": 180, "wires": [ [ "f4cdf6d60a263c02", "2ff1da8ed1a5bc32" ] ] }, { "id": "f4cdf6d60a263c02", "type": "debug", "z": "2749496aa10f7c17", "name": "homee Name", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1440, "y": 120, "wires": [] }, { "id": "f76a02bd74f8832c", "type": "ioBroker out", "z": "2749496aa10f7c17", "name": "UID Name", "topic": "0_userdata.0.System.homee.Cube1.Uid", "ack": "true", "autoCreate": "true", "stateName": "0_userdata.0.System.homee.Cube1.Uid", "role": "", "payloadType": "string", "readonly": "false", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 1430, "y": 300, "wires": [] }, { "id": "2ff1da8ed1a5bc32", "type": "ioBroker out", "z": "2749496aa10f7c17", "name": "homee Name", "topic": "0_userdata.0.System.homee.Cube1.Name", "ack": "true", "autoCreate": "true", "stateName": "0_userdata.0.System.homee.Cube1.Name", "role": "", "payloadType": "string", "readonly": "false", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 1440, "y": 180, "wires": [] }, { "id": "6eb4c1b40932e67c", "type": "ioBroker out", "z": "2749496aa10f7c17", "name": "Firmeware", "topic": "0_userdata.0.System.homee.Cube1.Firmeware", "ack": "true", "autoCreate": "true", "stateName": "0_userdata.0.System.homee.Cube1.Firmeware", "role": "", "payloadType": "string", "readonly": "false", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 1430, "y": 420, "wires": [] }, { "id": "5a98cc34ad5d369c", "type": "debug", "z": "2749496aa10f7c17", "name": "Anzahl Zusatzwürfel", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1720, "y": 720, "wires": [] }, { "id": "ef618bf5f21d53fc", "type": "ioBroker out", "z": "2749496aa10f7c17", "name": "Anzahl Zusatzwürfel", "topic": "0_userdata.0.System.homee.Cube1.AnzahlCubes", "ack": "true", "autoCreate": "true", "stateName": "0_userdata.0.System.homee.Cube1.AnzahlCubes", "role": "", "payloadType": "number", "readonly": "false", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 1720, "y": 780, "wires": [] }, { "id": "c3f282786a48e754", "type": "change", "z": "2749496aa10f7c17", "name": "Anzahl Zusatzwürfel", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "$count(payload)", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1460, "y": 780, "wires": [ [ "5a98cc34ad5d369c", "ef618bf5f21d53fc" ] ] }, { "id": "b6ce520fe699b5b4", "type": "debug", "z": "2749496aa10f7c17", "name": "Zusatzwürfel", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1430, "y": 720, "wires": [] }, { "id": "6fba09a1121470b2", "type": "change", "z": "2749496aa10f7c17", "name": "Zusatzwürfel", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "payload.cubes.type", "tot": "jsonata" }, { "t": "set", "p": "homee.settings", "pt": "flow", "to": "payload", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1210, "y": 780, "wires": [ [ "b6ce520fe699b5b4", "c3f282786a48e754" ] ] }, { "id": "103dd420f1ae6f4f", "type": "debug", "z": "2749496aa10f7c17", "name": "Verbindung über", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1440, "y": 480, "wires": [] }, { "id": "aaf4ea5be5e5d689", "type": "ioBroker out", "z": "2749496aa10f7c17", "name": "Verbindung über", "topic": "0_userdata.0.System.homee.Cube1.Verbindung", "ack": "true", "autoCreate": "true", "stateName": "0_userdata.0.System.homee.Cube1.Verbindung", "role": "", "payloadType": "string", "readonly": "false", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 1440, "y": 540, "wires": [] }, { "id": "fc927cb540b12985", "type": "function", "z": "2749496aa10f7c17", "name": "Verbindung über", "func": "var wlan = msg.payload.wlan_enabled\nvar lan = msg.payload.wlan_enabled\nvar verbindung = \"\";\n\nif (wlan == 1) {\n verbindung = \"Wlan\";\n} else if (lan == 1) {\n verbindung == \"Lan\";\n} else if (wlan == 0 && lan == 0) {\n verbindung = \"keine Verbindung\"\n}\n\nmsg.payload = verbindung;\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 1220, "y": 540, "wires": [ [ "103dd420f1ae6f4f", "aaf4ea5be5e5d689" ] ] }, { "id": "9ea4d4898638727c", "type": "comment", "z": "2749496aa10f7c17", "name": "homee Settings", "info": "", "x": 140, "y": 80, "wires": [] }, { "id": "1e42f8900946d138", "type": "change", "z": "2749496aa10f7c17", "name": "Verbindung mit", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "payload.wlan_ssid", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1220, "y": 660, "wires": [ [ "a6f09f2bdda4dc43", "1504ff5a09d26392" ] ] }, { "id": "a6f09f2bdda4dc43", "type": "debug", "z": "2749496aa10f7c17", "name": "Verbindung mit", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1440, "y": 600, "wires": [] }, { "id": "1504ff5a09d26392", "type": "ioBroker out", "z": "2749496aa10f7c17", "name": "Verbindung mit", "topic": "0_userdata.0.System.homee.Cube1.Netzwerk", "ack": "true", "autoCreate": "true", "stateName": "0_userdata.0.System.homee.Cube1.Netzwerk", "role": "", "payloadType": "string", "readonly": "false", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 1440, "y": 660, "wires": [] }, { "id": "8a43345ef2a70be0", "type": "change", "z": "2749496aa10f7c17", "d": true, "name": "", "rules": [ { "t": "move", "p": "payload", "pt": "msg", "to": "settings", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 480, "y": 760, "wires": [ [ "46a5350c5d867f97" ] ] }, { "id": "46a5350c5d867f97", "type": "change", "z": "2749496aa10f7c17", "d": true, "name": "hole alle homeegramme", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "{}", "tot": "json" }, { "t": "set", "p": "payload.settings", "pt": "msg", "to": "homee.settings", "tot": "global" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 730, "y": 760, "wires": [ [ "053f961317aeb04b" ] ] }, { "id": "053f961317aeb04b", "type": "switch", "z": "2749496aa10f7c17", "d": true, "name": "Nur wenn Settings sich ändern", "property": "(\t payload.settings = settings\t)", "propertyType": "jsonata", "rules": [ { "t": "false" } ], "checkall": "true", "repair": false, "outputs": 1, "x": 730, "y": 560, "wires": [ [ "3bb8ae97da664e72" ] ] }, { "id": "f1c83ffb994d87a7", "type": "switch", "z": "2749496aa10f7c17", "d": true, "name": "verify settings", "property": "payload.settings", "propertyType": "msg", "rules": [ { "t": "nnull" } ], "checkall": "true", "repair": false, "outputs": 1, "x": 220, "y": 760, "wires": [ [ "8a43345ef2a70be0" ] ] }, { "id": "5f4368b7e682f493", "type": "link in", "z": "2749496aa10f7c17", "d": true, "name": "", "links": [ "d87f2174cf715cf2" ], "x": 75, "y": 760, "wires": [ [ "f1c83ffb994d87a7" ] ] }, { "id": "7455cb50e5c795a5", "type": "change", "z": "2749496aa10f7c17", "name": "Zusatzwürfel Tabelle", "rules": [ { "t": "set", "p": "protocols", "pt": "msg", "to": "[{\"id\":1,\"name\":\"Z-Wave\"},{\"id\":2,\"name\":\"ZigBee\"},{\"id\":3,\"name\":\"EnOcean\"}]", "tot": "json" }, { "t": "set", "p": "payload", "pt": "msg", "to": "payload.cubes.{\"name\" : $single($$.protocols, function($v){$v.id = type}).name, \t \"firmware\" : $exists(firmware) ? firmware : \"k.A.\" \t}", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1240, "y": 880, "wires": [ [ "d5594ef7e61b1649" ] ] }, { "id": "d5594ef7e61b1649", "type": "debug", "z": "2749496aa10f7c17", "name": "Zusatzwürfel Tabelle", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1480, "y": 880, "wires": [] }, { "id": "bff3d9cc6b00b7ea", "type": "inject", "z": "2749496aa10f7c17", "name": "", "props": [ { "p": "payload" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "{\"language\":\"de\",\"remote_access\":1,\"beta\":0,\"webhooks_key\":\"XXXXXXXXXXXX\",\"automatic_location_detection\":1,\"polling_interval\":60,\"enable_analytics\":0,\"homee_name\":\"XXXXXXXX\",\"b2b_partner\":\"homee\",\"country\":\"Deutschland\",\"country_code\":\"DE\",\"state\":\"XXX\",\"city\":\"XXXX\",\"latitude\":\"XXXXX\",\"longitude\":\"XXXXX\",\"zip\":\"XXXX\",\"address\":\"XXXXXX\",\"timezone\":\"Europe%2FBerlin\",\"last_automatic_location_detection\":1674998871,\"local_ssl_enabled\":true,\"wlan_enabled\":1,\"wlan_ip_address\":\"XXXXX\",\"wlan_ssid\":\"XXXXX\",\"wlan_mode\":2,\"internet_access\":true,\"lan_enabled\":0,\"available_ssids\":[\"XXXX,XXXX\"],\"time\":1678749606,\"civil_time\":\"2023-03-14 00:20:06\",\"version\":\"2.38.3+10a3a6dd\",\"uid\":\"XXXXX\",\"cubes\":[{\"protocol\":1,\"type\":1,\"order\":1,\"firmware\":\"3.95.0\",\"secure_add\":1,\"missing_nodes\":0,\"resettable\":true,\"heal\":true,\"device_exclude_supported\":true,\"device_reinitialize_supported\":true},{\"protocol\":3,\"type\":3,\"order\":2,\"resettable\":false},{\"protocol\":2,\"type\":2,\"order\":3,\"firmware\":\"2.6.3\",\"nw_channel\":12,\"resettable\":true}],\"extensions\":{\"weather\":{\"enabled\":1},\"amazon_alexa\":{\"enabled\":1},\"google_assistant\":{\"enabled\":0,\"syncing\":0},\"apple_homekit\":{\"configNumber\":1,\"enabled\":0,\"paired\":0,\"syncing\":0},\"ftp\":{\"enabled\":1,\"protocol\":0,\"hostname\":\"XXXXXX\",\"port\":\"XX\",\"username\":\"XXXX\",\"has_password\":1,\"path\":\"Public/homee/\",\"testing\":0},\"history\":{\"enabled\":1,\"destination\":1,\"folder\":\"Verlaufsdaten\"},\"backup\":{\"enabled\":1,\"destination\":1,\"folder\":\"Backup%2F\",\"manual_export\":0},\"proxy\":{\"enabled\":1,\"connected\":true,\"environment\":1},\"electricity_price\":{\"enabled\":0},\"ssh_tunnel\":{\"enabled\":false},\"notification\":{\"email_daily_count\":0,\"email_daily_limit\":50,\"email_monthly_count\":0,\"email_monthly_limit\":1550,\"email_next_daily_reset_date\":1678834800,\"email_next_monthly_reset_date\":1680300000,\"environment\":1},\"dropbox\":{\"enabled\":false},\"braindump\":{\"enabled\":false},\"watchdog\":{\"enabled\":true,\"run_period\":10000},\"mosquitto_mqtt\":{},\"name\":\"homee Oliver\"}}", "payloadType": "json", "x": 930, "y": 260, "wires": [ [ "35f2e60b460d3176" ] ] } ]
Die meisten Nodes die Du aus dem anderen Flow kopiert hast, machen eh keinen Sinn.
-
@mickym
Vielen Dank, dass war keine Absicht, wollte nicht auch noch zusätzliche Arbeit machen, welche Nodes machen denn aus deiner Sicht keinen Sinn? -
@oli Na wenn du den Flow importiert hast, dann siehst ja (zumindest für die Zukunft, dass ich für die Analyse nur die Daten in einer Inject NOde brauche). Aber auch von dem Gesamtflow:
Gut hier weiss ich nicht
da Du das ausgeixt hast - ob der Name URL Zeichen enthielt.
Aber beim Aussschließen von Geräten kann man sich doch komplett sparen. Ich habe zumindest in dem ganzen settings Objekt KEINE Eigenschaft "id" entdeckt - also ist diese Node sinnlos.
EDIT: Berichtigung - Du kannst doch Objekte direkt miteinander vergleichen. Sorry.
Also bei Dir alles OK.
- war mein Fehler. Geht sogar alle Hierarchien durch.
Also das funktioniert:
Nochmals sorry.
-
@mickym
ich bräuchte wieder mal deine UnterstützungWas habe ich vor?
- Auslesen der Logdatei
- Filtern nach "level", über einen Datenpunkt in ioBroker, Inhalt des Datenpunktes kann sein "any" für alle Logeinträge, "info", "error" und "warning"
- Nur eine gewisse Anzahl (max 30) an Einträgen nach dem Filtern anzeigen
- Diese Anzahl an Einträgen in einen Datenpunkt schreiben
- Flow ausführen, wenn sich der Filter-Datenpunkt ändert
Ich kann die Logdatei auslesen und in einen Tabelle schreiben, aber wie mache ich das mit dem Filtern und der Anzahl?
Hier mal der Flow:
[ { "id": "b86c034bc869f860", "type": "tab", "label": "Flow 1", "disabled": false, "info": "", "env": [] }, { "id": "bafe242abaf4e3e0", "type": "inject", "z": "b86c034bc869f860", "name": "", "props": [ { "p": "payload" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "[{\"datetime\":\"2023-03-18 11:51:46\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:52:08\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:52:29\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:52:52\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:53:13\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:53:40\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:54:01\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:54:22\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:54:42\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:55:03\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:55:24\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:55:46\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:56:07\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:56:28\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:56:51\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:57:12\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:57:33\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:57:59\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:58:34\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <resolve geolocation> response: timing: 15.001 s error code: 8 error message: Connection timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 11:58:34\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 11:59:10\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <resolve geolocation> response: timing: 15.2472 s error code: 8 error message: Resolving timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 11:59:10\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 11:59:31\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:00:08\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <resolve geolocation> response: timing: 15.0002 s error code: 8 error message: Operation timed out after 15000 milliseconds with 0 bytes received http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:00:08\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 12:00:18\",\"topic\":\"MAIN\",\"level\":\"warning\",\"message\":\" ⚠️ <homee proxy> no connection\"},{\"datetime\":\"2023-03-18 12:00:30\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:00:53\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:01:13\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:01:18\",\"topic\":\"MAIN\",\"level\":\"info\",\"message\":\" 📡 <homee proxy> connection established 👌\"},{\"datetime\":\"2023-03-18 12:01:19\",\"topic\":\"MAIN\",\"level\":\"warning\",\"message\":\" <system call> command: \\\"/etc/init.d/S49chrony restart\\\" exited with code: 1\"},{\"datetime\":\"2023-03-18 12:01:40\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:01:58\",\"topic\":\"MAIN\",\"level\":\"warning\",\"message\":\" ⚠️ <homee proxy> no connection\"},{\"datetime\":\"2023-03-18 12:02:02\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:02:25\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:04:05\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:05:58\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:06:18\",\"topic\":\"MAIN\",\"level\":\"info\",\"message\":\" 📡 <homee proxy> connection established 👌\"},{\"datetime\":\"2023-03-18 12:06:19\",\"topic\":\"MAIN\",\"level\":\"warning\",\"message\":\" <system call> command: \\\"/etc/init.d/S49chrony restart\\\" exited with code: 1\"},{\"datetime\":\"2023-03-18 12:06:19\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:06:38\",\"topic\":\"MAIN\",\"level\":\"warning\",\"message\":\" ⚠️ <homee proxy> no connection\"},{\"datetime\":\"2023-03-18 12:06:51\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:08:07\",\"topic\":\"WEB\",\"level\":\"error\",\"message\":\" <resolve geolocation> response: timing: 50.0414 s error code: 8 error message: Resolving timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:08:07\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 12:10:52\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <resolve geolocation> response: timing: 50.0297 s error code: 8 error message: Resolving timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:10:52\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 12:11:13\",\"topic\":\"WEB\",\"level\":\"error\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:11:42\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:12:07\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <netatmo cpr get> response: timing: 15.0151 s error code: 8 error message: Resolving timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:12:07\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <netatmo get weather station data> request timed out\"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <netatmo cpr get> response: timing: 15.0122 s error code: 8 error message: Resolving timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <netatmo get camera data> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <netatmo get camera data> request timed out\"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"NETATMO\",\"level\":\"info\",\"message\":\" <refresh attributes> device not in map - set nodeID: 29 unavailable\"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"HAL\",\"level\":\"info\",\"message\":\" <set unavailable> EG / Wohnzimmer / Netatmo (nodeID:29) | reason refreshAttributes\"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"NETATMO\",\"level\":\"info\",\"message\":\" <refresh attributes> device not in map - set nodeID: 30 unavailable\"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"HAL\",\"level\":\"info\",\"message\":\" <set unavailable> Netatmo Aussenraum (nodeID:30) | reason refreshAttributes\"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"NETATMO\",\"level\":\"info\",\"message\":\" <refresh attributes> device not in map - set nodeID: 31 unavailable\"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"HAL\",\"level\":\"info\",\"message\":\" <set unavailable> EG / Büro / Netatmo (nodeID:31) | reason refreshAttributes\"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"NETATMO\",\"level\":\"info\",\"message\":\" <refresh attributes> device not in map - set nodeID: 32 unavailable\"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"HAL\",\"level\":\"info\",\"message\":\" <set unavailable> DG / Schlafzimmer / Netatmo (nodeID:32) | reason refreshAttributes\"},{\"datetime\":\"2023-03-18 12:12:47\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <netatmo cpr get> response: timing: 15.0049 s error code: 8 error message: Resolving timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:12:47\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <netatmo get weather station data> request timed out\"},{\"datetime\":\"2023-03-18 12:12:58\",\"topic\":\"MAIN\",\"level\":\"info\",\"message\":\" 📡 <homee proxy> connection established 👌\"},{\"datetime\":\"2023-03-18 12:12:59\",\"topic\":\"MAIN\",\"level\":\"warning\",\"message\":\" <system call> command: \\\"/etc/init.d/S49chrony restart\\\" exited with code: 1\"},{\"datetime\":\"2023-03-18 12:13:02\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <netatmo cpr get> response: timing: 15.0113 s error code: 8 error message: Resolving timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:13:02\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <netatmo get camera data> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 12:13:02\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <netatmo get camera data> request timed out\"},{\"datetime\":\"2023-03-18 12:13:02\",\"topic\":\"NETATMO\",\"level\":\"info\",\"message\":\" <refresh attributes> device not in map - set nodeID: 29 unavailable\"},{\"datetime\":\"2023-03-18 12:13:02\",\"topic\":\"NETATMO\",\"level\":\"info\",\"message\":\" <refresh attributes> device not in map - set nodeID: 30 unavailable\"},{\"datetime\":\"2023-03-18 12:13:02\",\"topic\":\"NETATMO\",\"level\":\"info\",\"message\":\" <refresh attributes> device not in map - set nodeID: 31 unavailable\"},{\"datetime\":\"2023-03-18 12:13:02\",\"topic\":\"NETATMO\",\"level\":\"info\",\"message\":\" <refresh attributes> device not in map - set nodeID: 32 unavailable\"},{\"datetime\":\"2023-03-18 12:13:23\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:13:36\",\"topic\":\"HAL\",\"level\":\"info\",\"message\":\" <set available> EG / Wohnzimmer / Netatmo (nodeID: 29) | reason refresh ok\"},{\"datetime\":\"2023-03-18 12:13:36\",\"topic\":\"HAL\",\"level\":\"info\",\"message\":\" <set available> Netatmo Aussenraum (nodeID: 30) | reason refresh ok\"},{\"datetime\":\"2023-03-18 12:13:36\",\"topic\":\"HAL\",\"level\":\"info\",\"message\":\" <set available> EG / Büro / Netatmo (nodeID: 31) | reason refresh ok\"},{\"datetime\":\"2023-03-18 12:13:36\",\"topic\":\"HAL\",\"level\":\"info\",\"message\":\" <set available> DG / Schlafzimmer / Netatmo (nodeID: 32) | reason refresh ok\"},{\"datetime\":\"2023-03-18 12:13:44\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:14:06\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:14:30\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:14:53\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:15:14\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:15:39\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:16:00\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:16:22\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:16:44\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:17:05\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:17:26\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:17:47\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:18:09\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:18:29\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:18:56\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:19:16\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:19:37\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:19:58\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:20:20\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:20:41\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:21:02\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:21:24\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:21:50\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:22:11\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:22:32\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:22:53\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:23:14\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:23:39\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:24:01\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:24:22\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:24:43\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:24:58\",\"topic\":\"MAIN\",\"level\":\"warning\",\"message\":\" ⚠️ <homee proxy> no connection\"},{\"datetime\":\"2023-03-18 12:25:04\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:25:25\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:25:38\",\"topic\":\"MAIN\",\"level\":\"info\",\"message\":\" 📡 <homee proxy> connection established 👌\"},{\"datetime\":\"2023-03-18 12:25:39\",\"topic\":\"MAIN\",\"level\":\"warning\",\"message\":\" <system call> command: \\\"/etc/init.d/S49chrony restart\\\" exited with code: 1\"},{\"datetime\":\"2023-03-18 12:25:45\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:26:09\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:26:41\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:27:15\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:27:40\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:28:07\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:28:29\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:28:50\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:29:12\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:29:34\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:29:55\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:30:21\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:30:42\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:31:04\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:31:27\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:32:18\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <resolve geolocation> response: timing: 30.2498 s error code: 8 error message: Resolving timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:32:18\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 12:32:58\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <resolve geolocation> response: timing: 20.0186 s error code: 8 error message: Resolving timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:32:58\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 12:33:23\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:33:40\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <netatmo get weather station data> request failed (HTTP status code: 403): {\\\"error\\\":{\\\"code\\\":3,\\\"message\\\":\\\"Access token expired\\\"}}\"},{\"datetime\":\"2023-03-18 12:33:40\",\"topic\":\"O_AUTH2_CLIENT\",\"level\":\"info\",\"message\":\" ✅ <refresh access> access successfully refreshed\"},{\"datetime\":\"2023-03-18 12:33:44\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:34:09\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:34:31\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:35:06\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <resolve geolocation> response: timing: 15.0022 s error code: 8 error message: Operation timed out after 15001 milliseconds with 0 bytes received http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:35:06\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 12:35:28\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:35:49\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:36:14\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:36:49\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:37:20\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:37:42\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:38:02\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:38:27\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:38:54\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:39:15\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:39:52\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:40:23\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:40:45\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:41:06\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:41:27\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:41:48\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:42:17\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"}]", "payloadType": "json", "x": 190, "y": 140, "wires": [ [ "688bcd4b82f6fade" ] ] }, { "id": "ef455138a0ee4d91", "type": "debug", "z": "b86c034bc869f860", "name": "Logfile Tabelle", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 640, "y": 80, "wires": [] }, { "id": "fccb4af5d833ca96", "type": "json", "z": "b86c034bc869f860", "name": "Tabelle JSON", "property": "payload", "action": "str", "pretty": false, "x": 640, "y": 140, "wires": [ [] ] }, { "id": "688bcd4b82f6fade", "type": "change", "z": "b86c034bc869f860", "name": "Logfile Tabelle", "rules": [ { "t": "set", "p": "protocols", "pt": "msg", "to": "[{\"id\":\"error\",\"color\":\"red\"},{\"id\":\"warning\",\"color\":\"yellow\"},{\"id\":\"info\",\"color\":\"#8f8f8f\"}]", "tot": "json" }, { "t": "set", "p": "payload", "pt": "msg", "to": "payload.{\t \"datetime\" : datetime,\t \"topic\" : topic,\t \"level\" : ' <font color=\\\"' & $single($$.protocols, function($v){$v.id = level}).color & '\\\"> ' & level, \t \"message\" : message \t}", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 420, "y": 140, "wires": [ [ "fccb4af5d833ca96", "ef455138a0ee4d91" ] ] }, { "id": "0b4c7d376b9e7a79", "type": "ioBroker in", "z": "b86c034bc869f860", "name": "Logfile Auswahl Filter", "topic": "0_userdata.0.System.homee.Logfile.AuswahlFilter", "payloadType": "value", "onlyack": "", "func": "all", "gap": "", "fireOnStart": "false", "outFormat": "MQTT", "x": 180, "y": 280, "wires": [ [] ] } ]
-
@oli Nun zum Einen musst Du mal aufhören die HTML Formatierungen da rein zu machen, wenn Du mit den Daten arbeiten willst. Das ist halt ein Manko dieses Tabellen Widgets - aber man muss ja nicht alle Spalten anzeigen. Man kann das zwar wieder mit $contains machen - aber ich rate Dir einfach wenn Du nach severity filtern willst, dass Du eine extra Spalte level machst und dann noch eine mit der Du dann mit Deiner Formatierung arbeitest. Also ich hab mal ein level ohne Formatierung angelegt - wie gesagt solange Du hier immer HTML Formatierungen mitschleppen musst, würde ich halt unterschiedliche Spalten machen:
Anzeigen kannst Du dann level_d anstatt level - aber mit level wird gefiltert.
Oder alternativ - Du machst halt die Formatierung immer zum Schluss. Habe ich mal als Deine präferierte Lösung angenommen.
Wichtig ist, dass wenn Du die Anzahl begrenzen willst, ja wohl die neuesten Logeinträge sehen willst, deshalb habe ich mal absteigend nach datetime sortiert.
Das Auslesen der Logdatei habe ich mal in die Eigenschaft msg.log gemacht, somit ist die payload der Filter bzw. das level
[ { "id": "ab66ad002a717f0c", "type": "change", "z": "b86c034bc869f860", "name": "Log-Datei auslesen", "rules": [ { "t": "set", "p": "log", "pt": "msg", "to": "[{\"datetime\":\"2023-03-18 11:51:46\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:52:08\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:52:29\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:52:52\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:53:13\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:53:40\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:54:01\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:54:22\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:54:42\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:55:03\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:55:24\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:55:46\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:56:07\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:56:28\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:56:51\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:57:12\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:57:33\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:57:59\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:58:34\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <resolve geolocation> response: timing: 15.001 s error code: 8 error message: Connection timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 11:58:34\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 11:59:10\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <resolve geolocation> response: timing: 15.2472 s error code: 8 error message: Resolving timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 11:59:10\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 11:59:31\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:00:08\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <resolve geolocation> response: timing: 15.0002 s error code: 8 error message: Operation timed out after 15000 milliseconds with 0 bytes received http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:00:08\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 12:00:18\",\"topic\":\"MAIN\",\"level\":\"warning\",\"message\":\" ⚠️ <homee proxy> no connection\"},{\"datetime\":\"2023-03-18 12:00:30\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:00:53\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:01:13\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:01:18\",\"topic\":\"MAIN\",\"level\":\"info\",\"message\":\" 📡 <homee proxy> connection established 👌\"},{\"datetime\":\"2023-03-18 12:01:19\",\"topic\":\"MAIN\",\"level\":\"warning\",\"message\":\" <system call> command: \\\"/etc/init.d/S49chrony restart\\\" exited with code: 1\"},{\"datetime\":\"2023-03-18 12:01:40\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:01:58\",\"topic\":\"MAIN\",\"level\":\"warning\",\"message\":\" ⚠️ <homee proxy> no connection\"},{\"datetime\":\"2023-03-18 12:02:02\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:02:25\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:04:05\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:05:58\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:06:18\",\"topic\":\"MAIN\",\"level\":\"info\",\"message\":\" 📡 <homee proxy> connection established 👌\"},{\"datetime\":\"2023-03-18 12:06:19\",\"topic\":\"MAIN\",\"level\":\"warning\",\"message\":\" <system call> command: \\\"/etc/init.d/S49chrony restart\\\" exited with code: 1\"},{\"datetime\":\"2023-03-18 12:06:19\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:06:38\",\"topic\":\"MAIN\",\"level\":\"warning\",\"message\":\" ⚠️ <homee proxy> no connection\"},{\"datetime\":\"2023-03-18 12:06:51\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:08:07\",\"topic\":\"WEB\",\"level\":\"error\",\"message\":\" <resolve geolocation> response: timing: 50.0414 s error code: 8 error message: Resolving timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:08:07\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 12:10:52\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <resolve geolocation> response: timing: 50.0297 s error code: 8 error message: Resolving timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:10:52\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 12:11:13\",\"topic\":\"WEB\",\"level\":\"error\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:11:42\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:12:07\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <netatmo cpr get> response: timing: 15.0151 s error code: 8 error message: Resolving timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:12:07\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <netatmo get weather station data> request timed out\"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <netatmo cpr get> response: timing: 15.0122 s error code: 8 error message: Resolving timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <netatmo get camera data> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <netatmo get camera data> request timed out\"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"NETATMO\",\"level\":\"info\",\"message\":\" <refresh attributes> device not in map - set nodeID: 29 unavailable\"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"HAL\",\"level\":\"info\",\"message\":\" <set unavailable> EG / Wohnzimmer / Netatmo (nodeID:29) | reason refreshAttributes\"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"NETATMO\",\"level\":\"info\",\"message\":\" <refresh attributes> device not in map - set nodeID: 30 unavailable\"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"HAL\",\"level\":\"info\",\"message\":\" <set unavailable> Netatmo Aussenraum (nodeID:30) | reason refreshAttributes\"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"NETATMO\",\"level\":\"info\",\"message\":\" <refresh attributes> device not in map - set nodeID: 31 unavailable\"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"HAL\",\"level\":\"info\",\"message\":\" <set unavailable> EG / Büro / Netatmo (nodeID:31) | reason refreshAttributes\"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"NETATMO\",\"level\":\"info\",\"message\":\" <refresh attributes> device not in map - set nodeID: 32 unavailable\"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"HAL\",\"level\":\"info\",\"message\":\" <set unavailable> DG / Schlafzimmer / Netatmo (nodeID:32) | reason refreshAttributes\"},{\"datetime\":\"2023-03-18 12:12:47\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <netatmo cpr get> response: timing: 15.0049 s error code: 8 error message: Resolving timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:12:47\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <netatmo get weather station data> request timed out\"},{\"datetime\":\"2023-03-18 12:12:58\",\"topic\":\"MAIN\",\"level\":\"info\",\"message\":\" 📡 <homee proxy> connection established 👌\"},{\"datetime\":\"2023-03-18 12:12:59\",\"topic\":\"MAIN\",\"level\":\"warning\",\"message\":\" <system call> command: \\\"/etc/init.d/S49chrony restart\\\" exited with code: 1\"},{\"datetime\":\"2023-03-18 12:13:02\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <netatmo cpr get> response: timing: 15.0113 s error code: 8 error message: Resolving timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:13:02\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <netatmo get camera data> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 12:13:02\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <netatmo get camera data> request timed out\"},{\"datetime\":\"2023-03-18 12:13:02\",\"topic\":\"NETATMO\",\"level\":\"info\",\"message\":\" <refresh attributes> device not in map - set nodeID: 29 unavailable\"},{\"datetime\":\"2023-03-18 12:13:02\",\"topic\":\"NETATMO\",\"level\":\"info\",\"message\":\" <refresh attributes> device not in map - set nodeID: 30 unavailable\"},{\"datetime\":\"2023-03-18 12:13:02\",\"topic\":\"NETATMO\",\"level\":\"info\",\"message\":\" <refresh attributes> device not in map - set nodeID: 31 unavailable\"},{\"datetime\":\"2023-03-18 12:13:02\",\"topic\":\"NETATMO\",\"level\":\"info\",\"message\":\" <refresh attributes> device not in map - set nodeID: 32 unavailable\"},{\"datetime\":\"2023-03-18 12:13:23\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:13:36\",\"topic\":\"HAL\",\"level\":\"info\",\"message\":\" <set available> EG / Wohnzimmer / Netatmo (nodeID: 29) | reason refresh ok\"},{\"datetime\":\"2023-03-18 12:13:36\",\"topic\":\"HAL\",\"level\":\"info\",\"message\":\" <set available> Netatmo Aussenraum (nodeID: 30) | reason refresh ok\"},{\"datetime\":\"2023-03-18 12:13:36\",\"topic\":\"HAL\",\"level\":\"info\",\"message\":\" <set available> EG / Büro / Netatmo (nodeID: 31) | reason refresh ok\"},{\"datetime\":\"2023-03-18 12:13:36\",\"topic\":\"HAL\",\"level\":\"info\",\"message\":\" <set available> DG / Schlafzimmer / Netatmo (nodeID: 32) | reason refresh ok\"},{\"datetime\":\"2023-03-18 12:13:44\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:14:06\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:14:30\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:14:53\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:15:14\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:15:39\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:16:00\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:16:22\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:16:44\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:17:05\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:17:26\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:17:47\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:18:09\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:18:29\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:18:56\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:19:16\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:19:37\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:19:58\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:20:20\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:20:41\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:21:02\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:21:24\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:21:50\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:22:11\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:22:32\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:22:53\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:23:14\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:23:39\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:24:01\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:24:22\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:24:43\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:24:58\",\"topic\":\"MAIN\",\"level\":\"warning\",\"message\":\" ⚠️ <homee proxy> no connection\"},{\"datetime\":\"2023-03-18 12:25:04\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:25:25\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:25:38\",\"topic\":\"MAIN\",\"level\":\"info\",\"message\":\" 📡 <homee proxy> connection established 👌\"},{\"datetime\":\"2023-03-18 12:25:39\",\"topic\":\"MAIN\",\"level\":\"warning\",\"message\":\" <system call> command: \\\"/etc/init.d/S49chrony restart\\\" exited with code: 1\"},{\"datetime\":\"2023-03-18 12:25:45\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:26:09\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:26:41\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:27:15\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:27:40\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:28:07\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:28:29\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:28:50\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:29:12\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:29:34\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:29:55\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:30:21\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:30:42\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:31:04\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:31:27\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:32:18\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <resolve geolocation> response: timing: 30.2498 s error code: 8 error message: Resolving timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:32:18\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 12:32:58\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <resolve geolocation> response: timing: 20.0186 s error code: 8 error message: Resolving timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:32:58\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 12:33:23\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:33:40\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <netatmo get weather station data> request failed (HTTP status code: 403): {\\\"error\\\":{\\\"code\\\":3,\\\"message\\\":\\\"Access token expired\\\"}}\"},{\"datetime\":\"2023-03-18 12:33:40\",\"topic\":\"O_AUTH2_CLIENT\",\"level\":\"info\",\"message\":\" ✅ <refresh access> access successfully refreshed\"},{\"datetime\":\"2023-03-18 12:33:44\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:34:09\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:34:31\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:35:06\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <resolve geolocation> response: timing: 15.0022 s error code: 8 error message: Operation timed out after 15001 milliseconds with 0 bytes received http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:35:06\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 12:35:28\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:35:49\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:36:14\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:36:49\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:37:20\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:37:42\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:38:02\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:38:27\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:38:54\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:39:15\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:39:52\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:40:23\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:40:45\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:41:06\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:41:27\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:41:48\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:42:17\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"}]", "tot": "json" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 410, "y": 280, "wires": [ [ "a0d3511f1e97b4cb" ] ] }, { "id": "1d94278206c3c1dc", "type": "change", "z": "b86c034bc869f860", "name": "Formatiere Tabelle", "rules": [ { "t": "set", "p": "protocols", "pt": "msg", "to": "[{\"id\":\"error\",\"color\":\"red\"},{\"id\":\"warning\",\"color\":\"yellow\"},{\"id\":\"info\",\"color\":\"#8f8f8f\"}]", "tot": "json" }, { "t": "set", "p": "payload", "pt": "msg", "to": "payload.{\t \"datetime\" : datetime,\t \"topic\" : topic,\t \"level\" : ' <font color=\\\"' & $single($$.protocols, function($v){$v.id = level}).color & '\\\"> ' & level, \t \"message\" : message \t}", "tot": "jsonata" }, { "t": "delete", "p": "log", "pt": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1210, "y": 280, "wires": [ [ "893c55a574142a24", "8693a1915866b8d6" ] ] }, { "id": "893c55a574142a24", "type": "debug", "z": "b86c034bc869f860", "name": "Logfile Tabelle", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 1420, "y": 240, "wires": [] }, { "id": "2468b33cf89e3660", "type": "switch", "z": "b86c034bc869f860", "name": "Filtern?", "property": "payload", "propertyType": "msg", "rules": [ { "t": "regex", "v": "error|warning|info", "vt": "str", "case": false }, { "t": "else" } ], "checkall": "true", "repair": false, "outputs": 2, "x": 820, "y": 280, "wires": [ [ "768f74e270b64a67" ], [ "92546bb5880315fa" ] ] }, { "id": "a0d3511f1e97b4cb", "type": "change", "z": "b86c034bc869f860", "name": "Max = Anzahl - 1", "rules": [ { "t": "set", "p": "max", "pt": "msg", "to": "4", "tot": "num" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 630, "y": 280, "wires": [ [ "2468b33cf89e3660" ] ] }, { "id": "768f74e270b64a67", "type": "change", "z": "b86c034bc869f860", "name": "mit Filter", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "log[level=$$.payload]^(> datetime )[[0..$$.max]]", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 980, "y": 240, "wires": [ [ "1d94278206c3c1dc" ] ] }, { "id": "92546bb5880315fa", "type": "change", "z": "b86c034bc869f860", "name": "ohne Filter", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "log^(> datetime )[[0..$$.max]]", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 990, "y": 320, "wires": [ [ "1d94278206c3c1dc" ] ] }, { "id": "8693a1915866b8d6", "type": "json", "z": "b86c034bc869f860", "name": "Tabelle JSON", "property": "payload", "action": "str", "pretty": false, "x": 1420, "y": 280, "wires": [ [] ] } ]
Du kannst in die Switch Node - die prüft ob gefiltert werden soll oder nicht für den 2. Ausgang auch "any" reinschreiben. Ich hab halt einfach gemacht, dass wenn es nicht error, warning oder info ist, dann wird nicht gefiltert.
EDIT: Flow nochmal zum Import editiert (12:06)
-
vielen Dank für deine Hilfe, dein Flow funktioniert super und das Problem sitzt wieder mal hier vor der Tastatur.
Ich habe meinen Flow jetzt so verkabelt, ich hoffe das passt erstmal so?
Mir ist aufgefallen, dass es 2 - 3 Sekunden dauern kann, bis die aktuelle Log Datei abgerufen ist und deshalb bleibt wahrscheinlich auch meine Tabelle leer, kann man das irgendwie synchronisieren?
Wie kann ich dem Flow beibringen, dass egal wodurch er gestartet wird, er sich immer den Filter aus dem Datenpunkt holt?
-
Solches Kreuz- und Querchaos macht man nicht. Hier kommen Nachrichten teilweise 3 fache an. Nutze den Flowkontext. Ich helfe Dir - nur muss ich wissen, ob die hommeLog Node eigenständig triggert oder nur über den Filterdatenpunkt angetriggert wird. Das ist Chaos! Im Prinzip sollte der Filterdatenpunkt NICHT den homeeLog triggern. Dies ganzen Verbindungen müssen weg.
Wie gesagt ich habe keine Ahnung ob Deine Homee Log Node alleine triggert. Dann speicherst Du das einfach im Kontext und holst den Filer ab.
Die ChangeNode Log-Datei auslesen holt das Log aus dem KOntext egal ob es kürzlich aktualisiert wurde oder der Filter geändert wurde:[ { "id": "0b4c7d376b9e7a79", "type": "ioBroker in", "z": "b86c034bc869f860", "name": "Logfile Auswahl Filter", "topic": "0_userdata.0.System.homee.Logfile.AuswahlFilter", "payloadType": "value", "onlyack": "", "func": "all", "gap": "", "fireOnStart": "false", "outFormat": "MQTT", "x": 660, "y": 280, "wires": [ [ "ab66ad002a717f0c" ] ] }, { "id": "ab66ad002a717f0c", "type": "change", "z": "b86c034bc869f860", "name": "Log-Datei auslesen", "rules": [ { "t": "set", "p": "log", "pt": "msg", "to": "homee.log", "tot": "flow" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 950, "y": 280, "wires": [ [ "a0d3511f1e97b4cb" ] ] }, { "id": "afac67dae8f9fe02", "type": "change", "z": "b86c034bc869f860", "name": "", "rules": [ { "t": "set", "p": "homee.log", "pt": "flow", "to": "payload", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 520, "y": 200, "wires": [ [ "cd4b9c8eb839628f" ] ] }, { "id": "cd4b9c8eb839628f", "type": "ioBroker get", "z": "b86c034bc869f860", "name": "Get Filter", "topic": "0_userdata.0.System.homee.Logfile.AuswahlFilter", "attrname": "payload", "payloadType": "value", "errOnInvalidState": "nothing", "x": 720, "y": 200, "wires": [ [ "ab66ad002a717f0c" ] ] }, { "id": "14fd6706a4f3b023", "type": "inject", "z": "b86c034bc869f860", "name": "test", "props": [ { "p": "payload" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "info", "payloadType": "str", "x": 750, "y": 340, "wires": [ [ "ab66ad002a717f0c" ] ] } ]
aber so sieht das sauber und mit einem definierten Nachrichtenflow aus.
-
die homeeLog Node triggert nicht eigenständig. Ich möchte sie auf 2 Wege triggern, 1. Zeitgesteuert (jede Stunde), 2. Wenn sich der Filterdatenpunkt ändert.
Beim Zeitgesteuerten triggern, soll aber trotzdem der gesetzte Filter im Datenpunkt berücksichtigt werden.Edit:
Super, jetzt funktioniert es, wie es soll, danke nochmal
-
@oli Sehr gut - nur in diesem Fall müsstest Du gar nicht mehr über den Flowkontext gehen und könntest die Ausgabe direkt tätigen. Aber das mit dem Triggern ist nun sauber gelöst.
-
@mickym
so, jetzt bin ich Dank deiner Unterstützung am letzten Punkt meiner Liste angelangt und was soll ich sagen, ich komme schon wieder mal nicht weiter.Was möchte ich diesmal machen?
-
Heizpläne auslesen und in eine Tabelle schreiben, dass klappt auch bis auf eine Sache
ich möchte mir zu jedem Heizplan aus dem dazu gehörenden "schedule" die Punkte "rrule" und "variable_id" auslesen. Den Text des "rrule" möchte ich bearbeiten
und den Wert der "variable_id" durch das passenden "value" aus dem Bereich "variables" ersetzen.
Das ganze sollte dann so ungefähr aussehen, für jeden Wochentag getrennt:
{ "name": "Heizplan / Arbeit / Wohnzimmer", "aktiv": " <font color=\"orange\"> deaktiviert", "type": "Heizplan", "schedule": 24, "devices": 4, "temperatur": "Komfort Plus: 24°C<br>Komfort: 21°C<br>Eco: 18°C<br>Nacht: 15°C<br>Abwesend: 18°C<br>Fenster Offen: 8°C<br>Urlaub: 15°C", "montag": "05:00 = 21°C<br> 23:20 = 18°C" }
- Möchte ich den Namen des Heizplanes und die einzelnen "rrule" zerlegen und daraus Datenpunkte zusammenstellen und die Werte in diese Datenpunkte schreiben
"name": "Heizplan / Arbeit / Wohnzimmer" "rrule": "FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1", "variable_id": 3 { "id": 3, "name": "Nacht", "value": 15, "type": 4 }, Datenpunkte: heatingcontrol.0.Profiles.1.Wohnzimmer.Sun.Periods.1.Temperature heatingcontrol.0.Profiles.1.Wohnzimmer.Sun.Periods.1.time 1 = Arbeit aus dem Namen vom Heizplan Wohnzimmer = Raum aus Namen vom Heizplan Sun = rrule: BYDAY 1 = Reihenfolge der Einträge im Adapter Temperature = value time = rrule: BYHOUR & BYMINUTE
Ist das überhaupt alles möglich?
Hier mal der Flow mit den Daten:
[ { "id": "b86c034bc869f860", "type": "tab", "label": "Test", "disabled": false, "info": "", "env": [] }, { "id": "6974f3ce73a121fe", "type": "change", "z": "b86c034bc869f860", "name": "decodeUrlComponents", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "payload ~> |$.plans|{\"name\":$decodeUrlComponent(name)},\"\"|", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 600, "y": 120, "wires": [ [ "bd5b22c032ec8dff" ] ] }, { "id": "bd5b22c032ec8dff", "type": "change", "z": "b86c034bc869f860", "name": "Alle Päne", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "payload.plans", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 800, "y": 120, "wires": [ [ "1a84de43e761214e" ] ] }, { "id": "710d7681444799fa", "type": "change", "z": "b86c034bc869f860", "name": "hole alle Pläne", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "{}", "tot": "json" }, { "t": "set", "p": "payload.plans", "pt": "msg", "to": "homee.plans", "tot": "global" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 280, "y": 120, "wires": [ [ "6974f3ce73a121fe" ] ] }, { "id": "b72d8bd885e46d3b", "type": "inject", "z": "b86c034bc869f860", "name": "trigger", "props": [ { "p": "payload" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "[{\"id\":1,\"name\":\"Heizplan / Arbeit / Wohnzimmer\",\"image\":\"planicon_radiator\",\"enabled\":false,\"type\":1,\"owner\":1,\"added\":1571493363,\"note\":\"\",\"order\":1,\"active_schedule\":29,\"attribute_ids\":[44,72,183,410],\"node_ids\":[2,4,19,62],\"schedule\":[{\"id\":1,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":2,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":1},{\"id\":3,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":4,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":3},{\"id\":21,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":22,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":3},{\"id\":23,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":24,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":3},{\"id\":25,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":26,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":27,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":28,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":29,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":1},{\"id\":30,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":1},{\"id\":31,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":1},{\"id\":32,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":1},{\"id\":33,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":34,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":35,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":36,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=14;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":37,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":3},{\"id\":38,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":3},{\"id\":39,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":3},{\"id\":42,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":3}],\"variables\":[{\"id\":1,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":2,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":3,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":4,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":5,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":6,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":7,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":1,\"enabled\":true,\"attribute_ids\":[126,131],\"trigger_value\":0,\"operator\":5,\"variable_id\":5,\"delay\":300,\"priority\":0,\"type\":1},{\"id\":2,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":4,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":3,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":7,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":3,\"name\":\"Heizplan / Arbeit / Bad\",\"image\":\"planicon_radiator\",\"enabled\":false,\"type\":1,\"owner\":1,\"added\":1571494193,\"note\":\"\",\"order\":2,\"active_schedule\":97,\"attribute_ids\":[237],\"node_ids\":[26],\"schedule\":[{\"id\":67,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=4;BYMINUTE=30;INTERVAL=1\",\"variable_id\":20},{\"id\":68,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":17},{\"id\":69,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":70,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":17},{\"id\":91,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=4;BYMINUTE=30;INTERVAL=1\",\"variable_id\":20},{\"id\":92,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=4;BYMINUTE=30;INTERVAL=1\",\"variable_id\":20},{\"id\":93,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=4;BYMINUTE=30;INTERVAL=1\",\"variable_id\":20},{\"id\":94,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=4;BYMINUTE=30;INTERVAL=1\",\"variable_id\":20},{\"id\":95,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":96,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":17},{\"id\":97,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":17},{\"id\":98,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":17},{\"id\":99,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":17},{\"id\":100,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":17},{\"id\":102,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":103,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":104,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":105,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":106,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":107,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":15},{\"id\":108,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":15},{\"id\":109,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":17},{\"id\":110,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":17},{\"id\":111,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":17},{\"id\":114,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":17},{\"id\":115,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":17},{\"id\":116,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":117,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":472,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=15;BYMINUTE=30;INTERVAL=1\",\"variable_id\":15},{\"id\":473,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=15;BYMINUTE=30;INTERVAL=1\",\"variable_id\":15},{\"id\":474,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=15;BYMINUTE=30;INTERVAL=1\",\"variable_id\":15},{\"id\":475,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=15;BYMINUTE=30;INTERVAL=1\",\"variable_id\":15},{\"id\":476,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=14;BYMINUTE=0;INTERVAL=1\",\"variable_id\":15}],\"variables\":[{\"id\":15,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":16,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":17,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":18,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":19,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":20,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":21,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":7,\"enabled\":true,\"attribute_ids\":[136],\"trigger_value\":0,\"operator\":5,\"variable_id\":19,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":8,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":18,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":9,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":21,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":4,\"name\":\"Heizplan / Arbeit / WC\",\"image\":\"planicon_radiator\",\"enabled\":false,\"type\":1,\"owner\":1,\"added\":1571494812,\"note\":\"\",\"order\":3,\"active_schedule\":126,\"attribute_ids\":[86],\"node_ids\":[5],\"schedule\":[{\"id\":119,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":22},{\"id\":126,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":24},{\"id\":127,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":22},{\"id\":128,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":22},{\"id\":129,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":22},{\"id\":130,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=14;BYMINUTE=0;INTERVAL=1\",\"variable_id\":22},{\"id\":131,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":22},{\"id\":132,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":22},{\"id\":133,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":24},{\"id\":134,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":24},{\"id\":135,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":24},{\"id\":138,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":24},{\"id\":139,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":24},{\"id\":140,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":24}],\"variables\":[{\"id\":22,\"name\":\"Eco\",\"value\":19,\"type\":3},{\"id\":23,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":24,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":25,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":26,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":27,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":28,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":10,\"enabled\":true,\"attribute_ids\":[121],\"trigger_value\":0,\"operator\":5,\"variable_id\":26,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":11,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":25,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":12,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":28,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":5,\"name\":\"Heizplan / Arbeit / Büro\",\"image\":\"planicon_radiator\",\"enabled\":false,\"type\":1,\"owner\":1,\"added\":1571497652,\"note\":\"\",\"order\":4,\"active_schedule\":144,\"attribute_ids\":[30],\"node_ids\":[1],\"schedule\":[{\"id\":141,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":30},{\"id\":144,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":31},{\"id\":168,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=14;BYMINUTE=0;INTERVAL=1\",\"variable_id\":30},{\"id\":169,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":30},{\"id\":170,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":30},{\"id\":174,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":31},{\"id\":175,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":31},{\"id\":176,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":31},{\"id\":347,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":30},{\"id\":348,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":30},{\"id\":349,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":30},{\"id\":350,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":31},{\"id\":351,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":31},{\"id\":352,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":31}],\"variables\":[{\"id\":29,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":30,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":31,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":32,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":33,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":34,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":35,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":13,\"enabled\":true,\"attribute_ids\":[111,116],\"trigger_value\":0,\"operator\":5,\"variable_id\":33,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":14,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":32,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":15,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":35,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":6,\"name\":\"Heizplan / Frei / Wohnzimmer\",\"image\":\"planicon_radiator\",\"enabled\":false,\"type\":1,\"owner\":1,\"added\":1571508227,\"note\":\"\",\"order\":5,\"active_schedule\":201,\"attribute_ids\":[44,72,183,410],\"node_ids\":[2,4,19,62],\"schedule\":[{\"id\":201,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":37},{\"id\":207,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":38},{\"id\":208,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":37},{\"id\":209,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":37},{\"id\":210,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":37},{\"id\":211,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":37},{\"id\":212,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":37},{\"id\":213,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":38},{\"id\":214,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":38},{\"id\":215,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":38},{\"id\":216,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":38},{\"id\":217,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":38},{\"id\":218,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":37},{\"id\":219,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":38}],\"variables\":[{\"id\":36,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":37,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":38,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":39,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":40,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":41,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":42,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":16,\"enabled\":true,\"attribute_ids\":[126,131],\"trigger_value\":0,\"operator\":5,\"variable_id\":40,\"delay\":300,\"priority\":0,\"type\":1},{\"id\":17,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":39,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":18,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":42,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":7,\"name\":\"Heizplan / Frei / Bad\",\"image\":\"planicon_radiator\",\"enabled\":false,\"type\":1,\"owner\":1,\"added\":1571508465,\"note\":\"\",\"order\":6,\"active_schedule\":225,\"attribute_ids\":[237],\"node_ids\":[26],\"schedule\":[{\"id\":224,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":225,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":43},{\"id\":226,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":244,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":45},{\"id\":245,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":246,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":247,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":248,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":249,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":250,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":251,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":43},{\"id\":252,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":43},{\"id\":253,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":43},{\"id\":254,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":43},{\"id\":255,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":43},{\"id\":256,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":43},{\"id\":257,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":258,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":259,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":260,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":261,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":262,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":263,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":45},{\"id\":264,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":45},{\"id\":265,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":45},{\"id\":266,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":45},{\"id\":267,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":45},{\"id\":268,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":45}],\"variables\":[{\"id\":43,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":44,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":45,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":46,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":47,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":48,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":49,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":19,\"enabled\":true,\"attribute_ids\":[136],\"trigger_value\":0,\"operator\":5,\"variable_id\":47,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":20,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":46,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":21,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":49,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":8,\"name\":\"Heizplan / Frei / Büro\",\"image\":\"planicon_radiator\",\"enabled\":false,\"type\":1,\"owner\":1,\"added\":1571508758,\"note\":\"\",\"order\":7,\"active_schedule\":293,\"attribute_ids\":[30],\"node_ids\":[1],\"schedule\":[{\"id\":269,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":51},{\"id\":293,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":51},{\"id\":294,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":51},{\"id\":295,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":51},{\"id\":296,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":51},{\"id\":297,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":51},{\"id\":298,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":51},{\"id\":459,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":52},{\"id\":460,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":52},{\"id\":461,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":52},{\"id\":462,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":52},{\"id\":463,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":52},{\"id\":464,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":52},{\"id\":465,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":52}],\"variables\":[{\"id\":50,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":51,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":52,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":53,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":54,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":55,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":56,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":22,\"enabled\":true,\"attribute_ids\":[111,116],\"trigger_value\":0,\"operator\":5,\"variable_id\":54,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":23,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":53,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":24,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":56,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":9,\"name\":\"Heizplan / Frei / WC\",\"image\":\"planicon_radiator\",\"enabled\":false,\"type\":1,\"owner\":1,\"added\":1571508871,\"note\":\"\",\"order\":8,\"active_schedule\":329,\"attribute_ids\":[86],\"node_ids\":[5],\"schedule\":[{\"id\":305,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":57},{\"id\":329,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":57},{\"id\":330,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":57},{\"id\":331,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":57},{\"id\":332,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":57},{\"id\":333,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":57},{\"id\":334,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":57},{\"id\":337,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":59},{\"id\":340,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":59},{\"id\":443,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":59},{\"id\":444,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":59},{\"id\":466,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":59},{\"id\":467,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":59},{\"id\":468,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":59},{\"id\":469,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":59}],\"variables\":[{\"id\":57,\"name\":\"Eco\",\"value\":19,\"type\":3},{\"id\":58,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":59,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":60,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":61,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":62,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":63,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":25,\"enabled\":true,\"attribute_ids\":[121],\"trigger_value\":0,\"operator\":5,\"variable_id\":61,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":26,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":60,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":27,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":63,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":11,\"name\":\"Heizplan / Homeoffice / Wohnzimmer\",\"image\":\"planicon_radiator\",\"enabled\":true,\"type\":1,\"owner\":1,\"added\":1572287598,\"note\":\"\",\"order\":9,\"active_schedule\":393,\"attribute_ids\":[44,72,183,410],\"node_ids\":[2,4,19,62],\"schedule\":[{\"id\":367,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":72},{\"id\":370,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":73},{\"id\":387,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":72},{\"id\":389,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":72},{\"id\":390,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":73},{\"id\":391,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":72},{\"id\":392,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":72},{\"id\":393,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":72},{\"id\":394,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":72},{\"id\":395,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":73},{\"id\":396,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":73},{\"id\":397,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":73},{\"id\":399,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":73},{\"id\":400,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":73}],\"variables\":[{\"id\":71,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":72,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":73,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":74,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":75,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":76,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":77,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":31,\"enabled\":true,\"attribute_ids\":[126,131],\"trigger_value\":0,\"operator\":5,\"variable_id\":75,\"delay\":300,\"priority\":0,\"type\":1},{\"id\":32,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":74,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":33,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":77,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":12,\"name\":\"Heizplan / Homeoffice / Büro\",\"image\":\"planicon_radiator\",\"enabled\":true,\"type\":1,\"owner\":1,\"added\":1572287884,\"note\":\"\",\"order\":10,\"active_schedule\":408,\"attribute_ids\":[30],\"node_ids\":[1],\"schedule\":[{\"id\":401,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":79},{\"id\":402,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":80},{\"id\":403,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":79},{\"id\":404,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":79},{\"id\":405,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":80},{\"id\":406,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":79},{\"id\":407,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":79},{\"id\":408,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":79},{\"id\":409,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":79},{\"id\":410,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":80},{\"id\":411,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":80},{\"id\":412,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":80},{\"id\":413,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":80},{\"id\":414,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":80},{\"id\":470,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":80},{\"id\":471,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":80}],\"variables\":[{\"id\":78,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":79,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":80,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":81,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":82,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":83,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":84,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":34,\"enabled\":true,\"attribute_ids\":[111,116],\"trigger_value\":0,\"operator\":5,\"variable_id\":82,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":35,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":81,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":36,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":84,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":13,\"name\":\"Heizplan / Homeoffice / Bad\",\"image\":\"planicon_radiator\",\"enabled\":true,\"type\":1,\"owner\":1,\"added\":1572288062,\"note\":\"\",\"order\":11,\"active_schedule\":427,\"attribute_ids\":[237],\"node_ids\":[26],\"schedule\":[{\"id\":415,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":416,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=7;BYMINUTE=30;INTERVAL=1\",\"variable_id\":85},{\"id\":417,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":418,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":87},{\"id\":419,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":420,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":421,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":422,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":423,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":424,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=15;INTERVAL=1\",\"variable_id\":87},{\"id\":425,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=7;BYMINUTE=30;INTERVAL=1\",\"variable_id\":85},{\"id\":426,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=7;BYMINUTE=30;INTERVAL=1\",\"variable_id\":85},{\"id\":427,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=7;BYMINUTE=30;INTERVAL=1\",\"variable_id\":85},{\"id\":428,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=7;BYMINUTE=30;INTERVAL=1\",\"variable_id\":85},{\"id\":429,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":430,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":431,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":432,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":433,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":434,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":85},{\"id\":435,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":85},{\"id\":436,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=30;INTERVAL=1\",\"variable_id\":87},{\"id\":437,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":87},{\"id\":438,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":87},{\"id\":439,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":87},{\"id\":440,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":87},{\"id\":441,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":442,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90}],\"variables\":[{\"id\":85,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":86,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":87,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":88,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":89,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":90,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":91,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":37,\"enabled\":true,\"attribute_ids\":[136],\"trigger_value\":0,\"operator\":5,\"variable_id\":89,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":38,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":88,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":39,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":91,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":14,\"name\":\"Heizplan / Homeoffice / WC\",\"image\":\"planicon_radiator\",\"enabled\":true,\"type\":1,\"owner\":1,\"added\":1572288296,\"note\":\"\",\"order\":12,\"active_schedule\":449,\"attribute_ids\":[86],\"node_ids\":[5],\"schedule\":[{\"id\":445,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":92},{\"id\":446,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":94},{\"id\":447,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":92},{\"id\":448,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":92},{\"id\":449,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":92},{\"id\":450,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":92},{\"id\":451,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":92},{\"id\":452,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":92},{\"id\":453,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":94},{\"id\":454,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":94},{\"id\":455,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":94},{\"id\":456,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":94},{\"id\":457,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":94},{\"id\":458,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":94}],\"variables\":[{\"id\":92,\"name\":\"Eco\",\"value\":19,\"type\":3},{\"id\":93,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":94,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":95,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":96,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":97,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":98,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":40,\"enabled\":true,\"attribute_ids\":[121],\"trigger_value\":0,\"operator\":5,\"variable_id\":96,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":41,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":95,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":42,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":98,\"delay\":0,\"priority\":10,\"type\":3}]}]", "payloadType": "json", "x": 110, "y": 120, "wires": [ [ "710d7681444799fa" ] ] }, { "id": "e1d4373865c3cf15", "type": "debug", "z": "b86c034bc869f860", "name": "Pläne Tabelle", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1280, "y": 60, "wires": [] }, { "id": "19699d2393cbc46d", "type": "json", "z": "b86c034bc869f860", "name": "Tabelle JSON", "property": "payload", "action": "str", "pretty": false, "x": 1280, "y": 120, "wires": [ [] ] }, { "id": "1a84de43e761214e", "type": "change", "z": "b86c034bc869f860", "name": "Pläne Tabelle", "rules": [ { "t": "set", "p": "active", "pt": "msg", "to": "[{\"id\":true,\"name\":\"aktivert\",\"color\":\"green\"},{\"id\":false,\"name\":\"deaktiviert\",\"color\":\"orange\"}]", "tot": "json" }, { "t": "set", "p": "types", "pt": "msg", "to": "[\t {\t \"id\": 0,\t \"name\": \"Keine Zuordnung\"\t },\t {\t \"id\": 1,\t \"name\": \"Heizplan\" \t },\t {\t \"id\": 2,\t \"name\": \"Energie\" \t },\t {\t \"id\": 3,\t \"name\": \"OnOff\" \t },\t {\t \"id\": 4,\t \"name\": \"Anwesenheitssimulation\" \t },\t {\t \"id\": 5,\t \"name\": \"ElektroHeizung\" \t },\t {\t \"id\": 50,\t \"name\": \"Windüberwachung\" \t },\t {\t \"id\": 51,\t \"name\": \"Sonnenautomatisierung\" \t },\t {\t \"id\": 52,\t \"name\": \"Dämmerungsautomatisierung\" \t }\t]", "tot": "jsonata" }, { "t": "set", "p": "payload", "pt": "msg", "to": "payload.{\"name\" :name, \t \"aktiv\" : ' <font color=\\\"' & $single($$.active, function($v){$v.id = enabled}).color & '\\\"> ' & $single($$.active, function($v){$v.id = enabled}).name,\t \"type\" : $single($$.types, function($v){$v.id = type}).name,\t \"schedule\" : $count(schedule),\t \"devices\" : $count(node_ids),\t \"temperatur\" : variables[type=1 ].name & \": \" & variables[type=1 ].value & \"°C<br>\" &\t variables[type=2 ].name & \": \" & variables[type=2 ].value & \"°C<br>\" & \t variables[type=3 ].name & \": \" & variables[type=3 ].value & \"°C<br>\" &\t variables[type=4 ].name & \": \" & variables[type=4 ].value & \"°C<br>\" & \t variables[type=5 ].name & \": \" & variables[type=5 ].value & \"°C<br>\" & \t variables[type=6 ].$decodeUrlComponent(name) & \": \" & variables[type=6 ].value & \"°C<br>\" &\t variables[type=7 ].name & \": \" & variables[type=7 ].value & \"°C\" \t}", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1020, "y": 120, "wires": [ [ "19699d2393cbc46d", "e1d4373865c3cf15" ] ] } ]
-
-
@oli So ich habe fertig.
Hat mich nun auch ein paar Stunden gekostet und Du wirst sehen - inzwischen dauert die Ausführung auch einige Sekunden.
Ich denke auch, dass wenn Du diesen JSONATA Code verstanden hast, dann brauchst Du mich nicht mehr. Wie gesagt ich muss da nun auch rumprobieren.
Deinen Flow - habe ich die unnötigen Nodes weggeschmissen, Du musst halt selbst schauen, dass der Dateninput stimmt. Ich habe jetzt das genommen, was in der Inject Node an Daten vorhanden war.Der ganze Flow schaut nun so aus:
- Aufgabe die Tabelle - ich habs versucht einigermassen so hinzubekommen. Wenn Du komplett eigene Tabellen für jeden Wochentag haben willst, dann musst die Tabelle halt selbst noch mal auseinanderreißen. Das sollte aber nun auch für Dich kein Problem sein.
Ansonsten dürfte jedes Objekt in der Tabelle Deinen Vorgaben eigentlich entsprechen:
{ "name": "Heizplan / Arbeit / Wohnzimmer", "aktiv": " <font color=\"orange\"> deaktiviert", "type": "Heizplan", "schedule": 24, "devices": 4, "temperatur": "Eco: 18°C<br> Komfort: 21°C<br> Nacht: 15°C<br> Abwesend: 18°C<br> Fenster Offen: 8°C<br> Komfort Plus: 24°C<br> Urlaub: 15°C", "montag": "05:00 = 21°C<br> 06:30 = 18°C<br> 15:00 = 21°C<br> 23:20 = 15°C", "dienstag": "05:00 = 21°C<br> 06:30 = 18°C<br> 15:00 = 21°C<br> 23:20 = 15°C", "mittwoch": "05:00 = 21°C<br> 06:30 = 18°C<br> 15:00 = 21°C<br> 23:20 = 15°C", "donnerstag": "05:00 = 21°C<br> 06:30 = 18°C<br> 15:00 = 21°C<br> 23:20 = 15°C", "freitag": "05:00 = 21°C<br> 06:30 = 18°C<br> 14:00 = 21°C", "samstag": "06:00 = 21°C<br> 01:00 = 15°C", "sonntag": "08:00 = 21°C<br> 23:20 = 15°C<br> 01:00 = 15°C" }
Der 2. Teil der Aufgabe bestand nun darin Datenpunkte zu schreiben. Nachdem ich ja keinen heating-control Adapter verwende, habe ich mich halt an das gehalten was Du geschrieben hast, wobei das mit den Profilen für mich nicht vollständig war. Ich habe jetzt einfach mal folgende Profile genommen:
"profiles" :{"Arbeit":"1","Frei":"2","Homeoffice":"3"}
Deine Datenpunkte (Pärchen) schauen nun so aus:
Ich hab sie mal als Command drin gelassen. Ich hab die beiden iobroker-Out Nodes mal deaktiviert - dann kannst bevor die Datenpunkte geschrieben werden noch mit weiteren Debug Nodes prüfen:
Hier der Code zum Import:
[ { "id": "29c703f08796e8f8", "type": "inject", "z": "9c280ddf049b2b4d", "name": "trigger", "props": [ { "p": "payload" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "[{\"id\":1,\"name\":\"Heizplan / Arbeit / Wohnzimmer\",\"image\":\"planicon_radiator\",\"enabled\":false,\"type\":1,\"owner\":1,\"added\":1571493363,\"note\":\"\",\"order\":1,\"active_schedule\":29,\"attribute_ids\":[44,72,183,410],\"node_ids\":[2,4,19,62],\"schedule\":[{\"id\":1,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":2,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":1},{\"id\":3,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":4,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":3},{\"id\":21,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":22,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":3},{\"id\":23,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":24,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":3},{\"id\":25,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":26,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":27,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":28,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":29,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":1},{\"id\":30,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":1},{\"id\":31,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":1},{\"id\":32,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":1},{\"id\":33,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":34,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":35,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":36,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=14;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":37,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":3},{\"id\":38,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":3},{\"id\":39,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":3},{\"id\":42,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":3}],\"variables\":[{\"id\":1,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":2,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":3,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":4,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":5,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":6,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":7,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":1,\"enabled\":true,\"attribute_ids\":[126,131],\"trigger_value\":0,\"operator\":5,\"variable_id\":5,\"delay\":300,\"priority\":0,\"type\":1},{\"id\":2,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":4,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":3,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":7,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":3,\"name\":\"Heizplan / Arbeit / Bad\",\"image\":\"planicon_radiator\",\"enabled\":false,\"type\":1,\"owner\":1,\"added\":1571494193,\"note\":\"\",\"order\":2,\"active_schedule\":97,\"attribute_ids\":[237],\"node_ids\":[26],\"schedule\":[{\"id\":67,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=4;BYMINUTE=30;INTERVAL=1\",\"variable_id\":20},{\"id\":68,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":17},{\"id\":69,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":70,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":17},{\"id\":91,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=4;BYMINUTE=30;INTERVAL=1\",\"variable_id\":20},{\"id\":92,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=4;BYMINUTE=30;INTERVAL=1\",\"variable_id\":20},{\"id\":93,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=4;BYMINUTE=30;INTERVAL=1\",\"variable_id\":20},{\"id\":94,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=4;BYMINUTE=30;INTERVAL=1\",\"variable_id\":20},{\"id\":95,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":96,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":17},{\"id\":97,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":17},{\"id\":98,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":17},{\"id\":99,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":17},{\"id\":100,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":17},{\"id\":102,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":103,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":104,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":105,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":106,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":107,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":15},{\"id\":108,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":15},{\"id\":109,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":17},{\"id\":110,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":17},{\"id\":111,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":17},{\"id\":114,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":17},{\"id\":115,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":17},{\"id\":116,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":117,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":472,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=15;BYMINUTE=30;INTERVAL=1\",\"variable_id\":15},{\"id\":473,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=15;BYMINUTE=30;INTERVAL=1\",\"variable_id\":15},{\"id\":474,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=15;BYMINUTE=30;INTERVAL=1\",\"variable_id\":15},{\"id\":475,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=15;BYMINUTE=30;INTERVAL=1\",\"variable_id\":15},{\"id\":476,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=14;BYMINUTE=0;INTERVAL=1\",\"variable_id\":15}],\"variables\":[{\"id\":15,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":16,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":17,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":18,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":19,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":20,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":21,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":7,\"enabled\":true,\"attribute_ids\":[136],\"trigger_value\":0,\"operator\":5,\"variable_id\":19,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":8,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":18,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":9,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":21,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":4,\"name\":\"Heizplan / Arbeit / WC\",\"image\":\"planicon_radiator\",\"enabled\":false,\"type\":1,\"owner\":1,\"added\":1571494812,\"note\":\"\",\"order\":3,\"active_schedule\":126,\"attribute_ids\":[86],\"node_ids\":[5],\"schedule\":[{\"id\":119,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":22},{\"id\":126,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":24},{\"id\":127,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":22},{\"id\":128,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":22},{\"id\":129,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":22},{\"id\":130,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=14;BYMINUTE=0;INTERVAL=1\",\"variable_id\":22},{\"id\":131,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":22},{\"id\":132,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":22},{\"id\":133,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":24},{\"id\":134,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":24},{\"id\":135,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":24},{\"id\":138,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":24},{\"id\":139,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":24},{\"id\":140,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":24}],\"variables\":[{\"id\":22,\"name\":\"Eco\",\"value\":19,\"type\":3},{\"id\":23,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":24,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":25,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":26,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":27,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":28,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":10,\"enabled\":true,\"attribute_ids\":[121],\"trigger_value\":0,\"operator\":5,\"variable_id\":26,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":11,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":25,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":12,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":28,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":5,\"name\":\"Heizplan / Arbeit / Büro\",\"image\":\"planicon_radiator\",\"enabled\":false,\"type\":1,\"owner\":1,\"added\":1571497652,\"note\":\"\",\"order\":4,\"active_schedule\":144,\"attribute_ids\":[30],\"node_ids\":[1],\"schedule\":[{\"id\":141,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":30},{\"id\":144,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":31},{\"id\":168,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=14;BYMINUTE=0;INTERVAL=1\",\"variable_id\":30},{\"id\":169,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":30},{\"id\":170,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":30},{\"id\":174,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":31},{\"id\":175,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":31},{\"id\":176,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":31},{\"id\":347,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":30},{\"id\":348,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":30},{\"id\":349,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":30},{\"id\":350,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":31},{\"id\":351,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":31},{\"id\":352,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":31}],\"variables\":[{\"id\":29,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":30,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":31,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":32,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":33,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":34,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":35,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":13,\"enabled\":true,\"attribute_ids\":[111,116],\"trigger_value\":0,\"operator\":5,\"variable_id\":33,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":14,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":32,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":15,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":35,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":6,\"name\":\"Heizplan / Frei / Wohnzimmer\",\"image\":\"planicon_radiator\",\"enabled\":false,\"type\":1,\"owner\":1,\"added\":1571508227,\"note\":\"\",\"order\":5,\"active_schedule\":201,\"attribute_ids\":[44,72,183,410],\"node_ids\":[2,4,19,62],\"schedule\":[{\"id\":201,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":37},{\"id\":207,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":38},{\"id\":208,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":37},{\"id\":209,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":37},{\"id\":210,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":37},{\"id\":211,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":37},{\"id\":212,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":37},{\"id\":213,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":38},{\"id\":214,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":38},{\"id\":215,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":38},{\"id\":216,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":38},{\"id\":217,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":38},{\"id\":218,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":37},{\"id\":219,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":38}],\"variables\":[{\"id\":36,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":37,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":38,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":39,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":40,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":41,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":42,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":16,\"enabled\":true,\"attribute_ids\":[126,131],\"trigger_value\":0,\"operator\":5,\"variable_id\":40,\"delay\":300,\"priority\":0,\"type\":1},{\"id\":17,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":39,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":18,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":42,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":7,\"name\":\"Heizplan / Frei / Bad\",\"image\":\"planicon_radiator\",\"enabled\":false,\"type\":1,\"owner\":1,\"added\":1571508465,\"note\":\"\",\"order\":6,\"active_schedule\":225,\"attribute_ids\":[237],\"node_ids\":[26],\"schedule\":[{\"id\":224,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":225,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":43},{\"id\":226,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":244,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":45},{\"id\":245,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":246,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":247,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":248,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":249,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":250,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":251,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":43},{\"id\":252,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":43},{\"id\":253,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":43},{\"id\":254,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":43},{\"id\":255,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":43},{\"id\":256,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":43},{\"id\":257,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":258,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":259,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":260,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":261,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":262,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":263,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":45},{\"id\":264,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":45},{\"id\":265,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":45},{\"id\":266,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":45},{\"id\":267,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":45},{\"id\":268,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":45}],\"variables\":[{\"id\":43,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":44,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":45,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":46,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":47,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":48,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":49,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":19,\"enabled\":true,\"attribute_ids\":[136],\"trigger_value\":0,\"operator\":5,\"variable_id\":47,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":20,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":46,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":21,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":49,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":8,\"name\":\"Heizplan / Frei / Büro\",\"image\":\"planicon_radiator\",\"enabled\":false,\"type\":1,\"owner\":1,\"added\":1571508758,\"note\":\"\",\"order\":7,\"active_schedule\":293,\"attribute_ids\":[30],\"node_ids\":[1],\"schedule\":[{\"id\":269,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":51},{\"id\":293,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":51},{\"id\":294,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":51},{\"id\":295,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":51},{\"id\":296,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":51},{\"id\":297,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":51},{\"id\":298,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":51},{\"id\":459,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":52},{\"id\":460,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":52},{\"id\":461,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":52},{\"id\":462,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":52},{\"id\":463,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":52},{\"id\":464,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":52},{\"id\":465,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":52}],\"variables\":[{\"id\":50,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":51,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":52,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":53,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":54,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":55,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":56,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":22,\"enabled\":true,\"attribute_ids\":[111,116],\"trigger_value\":0,\"operator\":5,\"variable_id\":54,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":23,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":53,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":24,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":56,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":9,\"name\":\"Heizplan / Frei / WC\",\"image\":\"planicon_radiator\",\"enabled\":false,\"type\":1,\"owner\":1,\"added\":1571508871,\"note\":\"\",\"order\":8,\"active_schedule\":329,\"attribute_ids\":[86],\"node_ids\":[5],\"schedule\":[{\"id\":305,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":57},{\"id\":329,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":57},{\"id\":330,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":57},{\"id\":331,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":57},{\"id\":332,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":57},{\"id\":333,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":57},{\"id\":334,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":57},{\"id\":337,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":59},{\"id\":340,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":59},{\"id\":443,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":59},{\"id\":444,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":59},{\"id\":466,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":59},{\"id\":467,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":59},{\"id\":468,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":59},{\"id\":469,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":59}],\"variables\":[{\"id\":57,\"name\":\"Eco\",\"value\":19,\"type\":3},{\"id\":58,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":59,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":60,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":61,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":62,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":63,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":25,\"enabled\":true,\"attribute_ids\":[121],\"trigger_value\":0,\"operator\":5,\"variable_id\":61,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":26,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":60,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":27,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":63,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":11,\"name\":\"Heizplan / Homeoffice / Wohnzimmer\",\"image\":\"planicon_radiator\",\"enabled\":true,\"type\":1,\"owner\":1,\"added\":1572287598,\"note\":\"\",\"order\":9,\"active_schedule\":393,\"attribute_ids\":[44,72,183,410],\"node_ids\":[2,4,19,62],\"schedule\":[{\"id\":367,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":72},{\"id\":370,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":73},{\"id\":387,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":72},{\"id\":389,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":72},{\"id\":390,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":73},{\"id\":391,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":72},{\"id\":392,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":72},{\"id\":393,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":72},{\"id\":394,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":72},{\"id\":395,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":73},{\"id\":396,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":73},{\"id\":397,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":73},{\"id\":399,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":73},{\"id\":400,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":73}],\"variables\":[{\"id\":71,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":72,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":73,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":74,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":75,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":76,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":77,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":31,\"enabled\":true,\"attribute_ids\":[126,131],\"trigger_value\":0,\"operator\":5,\"variable_id\":75,\"delay\":300,\"priority\":0,\"type\":1},{\"id\":32,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":74,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":33,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":77,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":12,\"name\":\"Heizplan / Homeoffice / Büro\",\"image\":\"planicon_radiator\",\"enabled\":true,\"type\":1,\"owner\":1,\"added\":1572287884,\"note\":\"\",\"order\":10,\"active_schedule\":408,\"attribute_ids\":[30],\"node_ids\":[1],\"schedule\":[{\"id\":401,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":79},{\"id\":402,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":80},{\"id\":403,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":79},{\"id\":404,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":79},{\"id\":405,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":80},{\"id\":406,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":79},{\"id\":407,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":79},{\"id\":408,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":79},{\"id\":409,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":79},{\"id\":410,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":80},{\"id\":411,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":80},{\"id\":412,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":80},{\"id\":413,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":80},{\"id\":414,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":80},{\"id\":470,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":80},{\"id\":471,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":80}],\"variables\":[{\"id\":78,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":79,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":80,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":81,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":82,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":83,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":84,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":34,\"enabled\":true,\"attribute_ids\":[111,116],\"trigger_value\":0,\"operator\":5,\"variable_id\":82,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":35,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":81,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":36,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":84,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":13,\"name\":\"Heizplan / Homeoffice / Bad\",\"image\":\"planicon_radiator\",\"enabled\":true,\"type\":1,\"owner\":1,\"added\":1572288062,\"note\":\"\",\"order\":11,\"active_schedule\":427,\"attribute_ids\":[237],\"node_ids\":[26],\"schedule\":[{\"id\":415,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":416,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=7;BYMINUTE=30;INTERVAL=1\",\"variable_id\":85},{\"id\":417,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":418,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":87},{\"id\":419,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":420,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":421,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":422,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":423,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":424,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=15;INTERVAL=1\",\"variable_id\":87},{\"id\":425,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=7;BYMINUTE=30;INTERVAL=1\",\"variable_id\":85},{\"id\":426,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=7;BYMINUTE=30;INTERVAL=1\",\"variable_id\":85},{\"id\":427,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=7;BYMINUTE=30;INTERVAL=1\",\"variable_id\":85},{\"id\":428,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=7;BYMINUTE=30;INTERVAL=1\",\"variable_id\":85},{\"id\":429,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":430,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":431,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":432,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":433,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":434,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":85},{\"id\":435,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":85},{\"id\":436,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=30;INTERVAL=1\",\"variable_id\":87},{\"id\":437,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":87},{\"id\":438,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":87},{\"id\":439,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":87},{\"id\":440,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":87},{\"id\":441,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":442,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90}],\"variables\":[{\"id\":85,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":86,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":87,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":88,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":89,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":90,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":91,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":37,\"enabled\":true,\"attribute_ids\":[136],\"trigger_value\":0,\"operator\":5,\"variable_id\":89,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":38,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":88,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":39,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":91,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":14,\"name\":\"Heizplan / Homeoffice / WC\",\"image\":\"planicon_radiator\",\"enabled\":true,\"type\":1,\"owner\":1,\"added\":1572288296,\"note\":\"\",\"order\":12,\"active_schedule\":449,\"attribute_ids\":[86],\"node_ids\":[5],\"schedule\":[{\"id\":445,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":92},{\"id\":446,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":94},{\"id\":447,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":92},{\"id\":448,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":92},{\"id\":449,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":92},{\"id\":450,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":92},{\"id\":451,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":92},{\"id\":452,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":92},{\"id\":453,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":94},{\"id\":454,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":94},{\"id\":455,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":94},{\"id\":456,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":94},{\"id\":457,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":94},{\"id\":458,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":94}],\"variables\":[{\"id\":92,\"name\":\"Eco\",\"value\":19,\"type\":3},{\"id\":93,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":94,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":95,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":96,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":97,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":98,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":40,\"enabled\":true,\"attribute_ids\":[121],\"trigger_value\":0,\"operator\":5,\"variable_id\":96,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":41,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":95,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":42,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":98,\"delay\":0,\"priority\":10,\"type\":3}]}]", "payloadType": "json", "x": 170, "y": 2940, "wires": [ [ "bd4a29afe1d2edc0", "65bc684012bb3e71" ] ] }, { "id": "60e749dd963aaef8", "type": "debug", "z": "9c280ddf049b2b4d", "name": "Pläne Tabelle", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 700, "y": 2940, "wires": [] }, { "id": "bd4a29afe1d2edc0", "type": "change", "z": "9c280ddf049b2b4d", "name": "Pläne Tabelle", "rules": [ { "t": "set", "p": "active", "pt": "msg", "to": "[{\"id\":true,\"name\":\"aktivert\",\"color\":\"green\"},{\"id\":false,\"name\":\"deaktiviert\",\"color\":\"orange\"}]", "tot": "json" }, { "t": "set", "p": "types", "pt": "msg", "to": "[{\"id\":0,\"name\":\"Keine Zuordnung\"},{\"id\":1,\"name\":\"Heizplan\"},{\"id\":2,\"name\":\"Energie\"},{\"id\":3,\"name\":\"OnOff\"},{\"id\":4,\"name\":\"Anwesenheitssimulation\"},{\"id\":5,\"name\":\"ElektroHeizung\"},{\"id\":50,\"name\":\"Windüberwachung\"},{\"id\":51,\"name\":\"Sonnenautomatisierung\"},{\"id\":52,\"name\":\"Dämmerungsautomatisierung\"}]", "tot": "json" }, { "t": "set", "p": "payload", "pt": "msg", "to": "payload.{\"name\": name,\t \"aktiv\" : ' <font color=\\\"' & $single($$.active, function($v){$v.id = enabled}).color & '\\\"> ' & $single($$.active, function($v){$v.id = enabled}).name,\t \"type\" : $single($$.types, function($v){$v.id = type}).name,\t \"schedule\" : $count(schedule),\t \"devices\" : $count(node_ids),\t \"scheduler\":schedule.{\"id\":id,\"rrule\":{\"freq\":($split(rrule,\";\").$split($,\"=\")[1])[0],\t \"day\" : ($split(rrule,\";\").$split($,\"=\")[1])[1],\t \"time\" : $pad(($split(rrule,\";\").$split($,\"=\")[1])[2],-2,\"0\") & \":\" & $pad(($split(rrule,\";\").$split($,\"=\")[1])[3],-2,\"0\"),\t \"interval\" : ($split(rrule,\";\").$split($,\"=\")[1])[4]},\"variable\": $single($$.payload.variables, function($v){$v.id=variable_id})},\t \"variables\" : variables} ~> |$|\t { \"temperatur\": variables.[$decodeUrlComponent(name) & \": \" & value & \"°C\"] ~> $reduce(function($A,$v){$append($A,$v)}) ~> $join(\"<br> \"),\t \"montag\": scheduler[rrule.day=\"MO\"].[rrule.time & \" = \" & variable.value & \"°C\" ] ~> $reduce(function($A,$v){$append($A,$v)}) ~> $join(\"<br> \"),\t \"dienstag\": scheduler[rrule.day=\"TU\"].[rrule.time & \" = \" & variable.value & \"°C\" ] ~> $reduce(function($A,$v){$append($A,$v)}) ~> $join(\"<br> \"),\t \"mittwoch\": scheduler[rrule.day=\"WE\"].[rrule.time & \" = \" & variable.value & \"°C\" ] ~> $reduce(function($A,$v){$append($A,$v)}) ~> $join(\"<br> \"),\t \"donnerstag\": scheduler[rrule.day=\"TH\"].[rrule.time & \" = \" & variable.value & \"°C\" ] ~> $reduce(function($A,$v){$append($A,$v)}) ~> $join(\"<br> \"),\t \"freitag\": scheduler[rrule.day=\"FR\"].[rrule.time & \" = \" & variable.value & \"°C\" ] ~> $reduce(function($A,$v){$append($A,$v)}) ~> $join(\"<br> \"),\t \"samstag\": scheduler[rrule.day=\"SA\"].[rrule.time & \" = \" & variable.value & \"°C\" ] ~> $reduce(function($A,$v){$append($A,$v)}) ~> $join(\"<br> \"),\t \"sonntag\": scheduler[rrule.day=\"SU\"].[rrule.time & \" = \" & variable.value & \"°C\" ] ~> $reduce(function($A,$v){$append($A,$v)}) ~> $join(\"<br> \")},\t [\"scheduler\",\"variables\"]|", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 460, "y": 2940, "wires": [ [ "60e749dd963aaef8" ] ] }, { "id": "41412eb625251659", "type": "comment", "z": "9c280ddf049b2b4d", "name": "Heizpläne", "info": "", "x": 160, "y": 2840, "wires": [] }, { "id": "65bc684012bb3e71", "type": "change", "z": "9c280ddf049b2b4d", "name": "Scheduler Daten", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "payload.{\"name\":name,\t \"room\": $split(name,\" / \")[2],\t \"profile\" : $split(name,\" / \")[1],\t \"profiles\" :{\"Arbeit\":\"1\",\"Frei\":\"2\",\"Homeoffice\":\"3\"},\t \"scheduler\":schedule.{\"id\":id,\"rrule\":{\"freq\":($split(rrule,\";\").$split($,\"=\")[1])[0],\t \"day\" : ($split(rrule,\";\").$split($,\"=\")[1])[1],\t \"time\" : $pad(($split(rrule,\";\").$split($,\"=\")[1])[2],-2,\"0\") & \":\" & $pad(($split(rrule,\";\").$split($,\"=\")[1])[3],-2,\"0\"),\t \"interval\" : ($split(rrule,\";\").$split($,\"=\")[1])[4]},\"variable\": $single($$.payload.variables, function($v){$v.id=variable_id})},\t \"variables\" : variables} ~> |$|\t { \t \"scheduler\": \t [scheduler[rrule.day=\"MO\"]#$i.{\"topic\" : \"heatingcontrol.0.Profiles.\" & $lookup(%.profiles,%.profile) & \".\" & %.room & \".Mon.Periods.\" & ($i+1),\"time\": rrule.time, \"Temperature\": variable.value} ,\t scheduler[rrule.day=\"TU\"]#$i.{\"topic\" : \"heatingcontrol.0.Profiles.\" & $lookup(%.profiles,%.profile) & \".\" & %.room & \".Tue.Periods.\" & ($i+1),\"time\": rrule.time, \"Temperature\": variable.value},\t scheduler[rrule.day=\"WE\"]#$i.{\"topic\" : \"heatingcontrol.0.Profiles.\" & $lookup(%.profiles,%.profile) & \".\" & %.room & \".Wed.Periods.\" & ($i+1),\"time\": rrule.time, \"Temperature\": variable.value},\t scheduler[rrule.day=\"TH\"]#$i.{\"topic\" : \"heatingcontrol.0.Profiles.\" & $lookup(%.profiles,%.profile) & \".\" & %.room & \".Thu.Periods.\" & ($i+1),\"time\": rrule.time, \"Temperature\": variable.value},\t scheduler[rrule.day=\"FR\"]#$i.{\"topic\" : \"heatingcontrol.0.Profiles.\" & $lookup(%.profiles,%.profile) & \".\" & %.room & \".Fri.Periods.\" & ($i+1),\"time\": rrule.time, \"Temperature\": variable.value},\t scheduler[rrule.day=\"SA\"]#$i.{\"topic\" : \"heatingcontrol.0.Profiles.\" & $lookup(%.profiles,%.profile) & \".\" & %.room & \".Sat.Periods.\" & ($i+1),\"time\": rrule.time, \"Temperature\": variable.value},\t scheduler[rrule.day=\"SU\"]#$i.{\"topic\" : \"heatingcontrol.0.Profiles.\" & $lookup(%.profiles,%.profile) & \".\" & %.room & \".Sun.Periods.\" & ($i+1),\"time\": rrule.time, \"Temperature\": variable.value}]\t },\t [\"profiles\",\"variables\"]|", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 410, "y": 3000, "wires": [ [ "3dfdb45ec85ec5f5", "722a6036de8545ce" ] ] }, { "id": "3dfdb45ec85ec5f5", "type": "debug", "z": "9c280ddf049b2b4d", "name": "Scheduler Daten", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 690, "y": 3000, "wires": [] }, { "id": "722a6036de8545ce", "type": "change", "z": "9c280ddf049b2b4d", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "payload.scheduler", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 630, "y": 3060, "wires": [ [ "849a44a081c3b77e", "1e015238d6b94f53" ] ] }, { "id": "849a44a081c3b77e", "type": "debug", "z": "9c280ddf049b2b4d", "name": "Scheduler Daten 2", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 850, "y": 3060, "wires": [] }, { "id": "1e015238d6b94f53", "type": "split", "z": "9c280ddf049b2b4d", "name": "", "splt": "\\n", "spltType": "str", "arraySplt": 1, "arraySpltType": "len", "stream": false, "addname": "", "x": 830, "y": 3120, "wires": [ [ "b7c0b2e8349051b4", "887fcd1ceb0cca72" ] ] }, { "id": "b7c0b2e8349051b4", "type": "change", "z": "9c280ddf049b2b4d", "name": "Temperature", "rules": [ { "t": "set", "p": "topic", "pt": "msg", "to": "payload.topic & \".Temperature\"", "tot": "jsonata" }, { "t": "set", "p": "payload", "pt": "msg", "to": "payload.Temperature", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1010, "y": 3160, "wires": [ [ "7bb2e503288d8344" ] ] }, { "id": "887fcd1ceb0cca72", "type": "change", "z": "9c280ddf049b2b4d", "name": "time", "rules": [ { "t": "set", "p": "topic", "pt": "msg", "to": "payload.topic & \".time\"", "tot": "jsonata" }, { "t": "set", "p": "payload", "pt": "msg", "to": "payload.time", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 990, "y": 3100, "wires": [ [ "d31211f307ccbc5c" ] ] }, { "id": "7bb2e503288d8344", "type": "ioBroker out", "z": "9c280ddf049b2b4d", "d": true, "name": "Erstelle Temperature", "topic": "", "ack": "false", "autoCreate": "true", "stateName": "", "role": "", "payloadType": "number", "readonly": "false", "stateUnit": "°C", "stateMin": "", "stateMax": "", "x": 1220, "y": 3160, "wires": [] }, { "id": "d31211f307ccbc5c", "type": "ioBroker out", "z": "9c280ddf049b2b4d", "d": true, "name": "Erstelle Time", "topic": "", "ack": "false", "autoCreate": "true", "stateName": "", "role": "", "payloadType": "string", "readonly": "false", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 1190, "y": 3100, "wires": [] } ]
Wie gesagt viel komplexer sollte es nicht werden, sonst musst halt mit Javascript programmieren - auch wenn Du wahrscheinlich ein Vielfaches an Code brauchen wirst.
-
@mickym
du bist genial, dass hätte ich im Leben nicht hinbekommen, 3 Fragen hätte ich aber noch.-
Kann man das ganze noch nach Stunden aufsteigend sortieren?
Die Daten werden von der Api leider nicht chronologisch übergeben, daher wird es in der Tabelle nicht richtig dargestellt und ich schreibe in die falschen Datenpunkte. -
Wie kann ich auf Änderungen prüfen?
Ich möchte den Flow zusätzlich bei Änderungen in den Heizplänen ausführen lassen. -
Kann ich dir für deinen Aufwand irgendwie eine Spende zukommen lassen?
-