Endlich geschaft, den PCA9685 hab ich ja schon länger bei mir rumfliegen, hab auch schon das ein oder andere Mal versucht das Teil ans Laufen zu bekommen. Wenn man dann mal kapiert hat das man die Hex Adresse als Dezimalzahl eingeben muss, ist es eigentlich ganz einfach.
An den Schrauben für den Bowdenzug habe ich eine Aluplatte mit dem Servo befestigt. Das Servo ist ein 2 Kg Servo mit Metallgetriebe. Für die Draht Verbindung habe ich noch ein neues Loch im Klappen Mitnehmer gebohrt, um einen besseren Winkel zu bekommen.
Der 1,5er Kupferdraht wird noch durch einen Stahldraht ersetzt.
Für den Testbetrieb reichen die 3,2 V aus dem PI, für den Dauerbetrieb sollte eine Externe Spannungsversorgung für die Servos vorgesehen werden.
Zum Programm:
Mit einen Slider kann man die Endpositionen anfahren, die dann mit einen Taster abgespeichert werden.
Das Servo wird dann nur noch mit einem Schalter AUF oder ZU gefahren.
Denkbar wäre auch für einen Mischluft Betrieb eine (mehrere) Mittelstellung abzuspeichern, und z.B. mit node-red-contrib-ui-multistate-switch die verschiedenen Positionen anfahren.
Im Programm habe ich erst mal 2 Servos vorgesehen und 1 Test LED, da das Teil 16 Ausgänge hat, ist ja noch einiges möglich. Man könnte 2 Ausgänge als Zustandsanzeige für die Klappen nehmen………
Zum Ansteuern der LEDs, Lüfter oder ähnlichel kann dann sowas genommen werden. YX-MOS
Der PCA liegt bei 6€ inclusive Porto, und der YX-MOS macht 15A und liegt auch bei 2-6€.
Ist glaube ich eine gute alternative zu TM-73726, Servo controller - TrainModules (R)
[
{
"id": "2eecddc2c95c709c",
"type": "tab",
"label": "PCA9685-Servo",
"disabled": false,
"info": "",
"env": []
},
{
"id": "b975b2cd3903ef4a",
"type": "inject",
"z": "2eecddc2c95c709c",
"name": "100%",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": "",
"topic": "",
"payload": "100",
"payloadType": "num",
"x": 450,
"y": 1040,
"wires": [
[
"434533f3a19c5d1e"
]
]
},
{
"id": "ead5ebc1a31232a6",
"type": "inject",
"z": "2eecddc2c95c709c",
"name": "50%",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": "",
"topic": "",
"payload": "50",
"payloadType": "num",
"x": 450,
"y": 1120,
"wires": [
[
"434533f3a19c5d1e"
]
]
},
{
"id": "bf77bd81a787fd53",
"type": "inject",
"z": "2eecddc2c95c709c",
"name": "Off",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": "",
"topic": "",
"payload": "0",
"payloadType": "num",
"x": 450,
"y": 1160,
"wires": [
[
"434533f3a19c5d1e"
]
]
},
{
"id": "434533f3a19c5d1e",
"type": "PCA9685 out",
"z": "2eecddc2c95c709c",
"name": "PWM Output 2 (Led)",
"pca9685": "804c98d6fe0be90d",
"channel": "2",
"payload": "",
"unit": "percent",
"onStep": "0",
"x": 665,
"y": 1080,
"wires": []
},
{
"id": "7fcb6a29500c0a97",
"type": "PCA9685 out",
"z": "2eecddc2c95c709c",
"name": "PWM Output 0 (Servo)",
"pca9685": "804c98d6fe0be90d",
"channel": "0",
"payload": "",
"unit": "microseconds",
"onStep": "0",
"x": 870,
"y": 300,
"wires": []
},
{
"id": "2e442e4b06fdc552",
"type": "comment",
"z": "2eecddc2c95c709c",
"name": "Hex Adresse in Dezimal angeben Adr.40=64",
"info": "",
"x": 710,
"y": 140,
"wires": []
},
{
"id": "1b167d52e59a5fb4",
"type": "ui_slider",
"z": "2eecddc2c95c709c",
"name": "",
"label": "Servo-0",
"tooltip": "",
"group": "c231dfe161cf953e",
"order": 1,
"width": 0,
"height": 0,
"passthru": true,
"outs": "all",
"topic": "topic",
"topicType": "msg",
"min": "200",
"max": "2000",
"step": 1,
"className": "",
"x": 440,
"y": 320,
"wires": [
[
"938e39be3de6fb00"
]
]
},
{
"id": "ce0d22b061335752",
"type": "ui_switch",
"z": "2eecddc2c95c709c",
"name": "",
"label": "Fortluft Klappe Boiler",
"tooltip": "",
"group": "2a7d142135bfa4c0",
"order": 13,
"width": 0,
"height": 0,
"passthru": true,
"decouple": "false",
"topic": "topic",
"topicType": "msg",
"style": "",
"onvalue": "true",
"onvalueType": "bool",
"onicon": "",
"oncolor": "",
"offvalue": "false",
"offvalueType": "bool",
"officon": "",
"offcolor": "",
"animate": false,
"className": "",
"x": 420,
"y": 280,
"wires": [
[
"4c16d3e69c00582b"
]
]
},
{
"id": "938e39be3de6fb00",
"type": "function",
"z": "2eecddc2c95c709c",
"name": "flow set ",
"func": "\n\nflow.set(\"Servo_0\", msg.payload);\n \nreturn msg\n \n ",
"outputs": 1,
"timeout": "",
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 580,
"y": 320,
"wires": [
[
"7fcb6a29500c0a97"
]
]
},
{
"id": "07540c07642594ad",
"type": "ui_button",
"z": "2eecddc2c95c709c",
"name": "Servo-0 AUF Speicher",
"group": "c231dfe161cf953e",
"order": 2,
"width": 0,
"height": 0,
"passthru": false,
"label": "Servo-0 AUF Speicher",
"tooltip": "",
"color": "",
"bgcolor": "",
"className": "",
"icon": "",
"payload": "true",
"payloadType": "bool",
"topic": "topic",
"topicType": "msg",
"x": 400,
"y": 380,
"wires": [
[
"e5d889f73b0be3c4"
]
]
},
{
"id": "0a27c3e7df86f879",
"type": "ui_button",
"z": "2eecddc2c95c709c",
"name": "Servo-0 ZU Speicher",
"group": "c231dfe161cf953e",
"order": 3,
"width": 0,
"height": 0,
"passthru": false,
"label": "Servo-0 ZU Speicher",
"tooltip": "",
"color": "",
"bgcolor": "",
"className": "",
"icon": "",
"payload": "true",
"payloadType": "bool",
"topic": "topic",
"topicType": "msg",
"x": 400,
"y": 460,
"wires": [
[
"9608b76dbc9e9532"
]
]
},
{
"id": "f2537cefc2a68217",
"type": "file",
"z": "2eecddc2c95c709c",
"name": "",
"filename": "pekaway/Servo_0_AUF",
"filenameType": "str",
"appendNewline": false,
"createDir": true,
"overwriteFile": "true",
"encoding": "none",
"x": 870,
"y": 380,
"wires": [
[]
]
},
{
"id": "db0268008e14347e",
"type": "file",
"z": "2eecddc2c95c709c",
"name": "",
"filename": "pekaway/Servo_0_ZU",
"filenameType": "str",
"appendNewline": false,
"createDir": true,
"overwriteFile": "true",
"encoding": "none",
"x": 880,
"y": 460,
"wires": [
[]
]
},
{
"id": "af714693fccd04cd",
"type": "file in",
"z": "2eecddc2c95c709c",
"name": "",
"filename": "pekaway/Servo_0_AUF",
"filenameType": "str",
"format": "utf8",
"chunk": false,
"sendError": false,
"encoding": "none",
"allProps": false,
"x": 410,
"y": 420,
"wires": [
[
"d2e6860217573703"
]
]
},
{
"id": "4b0daead348d022a",
"type": "file in",
"z": "2eecddc2c95c709c",
"name": "",
"filename": "pekaway/Servo_0_ZU",
"filenameType": "str",
"format": "utf8",
"chunk": false,
"sendError": false,
"encoding": "none",
"allProps": false,
"x": 400,
"y": 500,
"wires": [
[
"29f1cdc15269765b"
]
]
},
{
"id": "7ac09b9b02363902",
"type": "inject",
"z": "2eecddc2c95c709c",
"name": "",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": true,
"onceDelay": "10",
"topic": "",
"payload": "false",
"payloadType": "bool",
"x": 150,
"y": 560,
"wires": [
[
"af714693fccd04cd",
"4b0daead348d022a",
"ce0d22b061335752",
"1d65b8cba30160af",
"dfb2854916caa230",
"acf994e25966cde8"
]
]
},
{
"id": "4c16d3e69c00582b",
"type": "function",
"z": "2eecddc2c95c709c",
"name": "global.get Servo_0",
"func": "var on = msg.payload;\nvar auf = Number(global.get(\"Servo_0_AUF\"));\nvar zu = Number(global.get(\"Servo_0_ZU\"));\n\nif (msg.payload === true){\n msg.payload = auf\n}\nif (msg.payload === false){\n msg.payload = zu\n}\n\nreturn msg;\n\n\n",
"outputs": 1,
"timeout": 0,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 630,
"y": 280,
"wires": [
[
"7fcb6a29500c0a97",
"1b167d52e59a5fb4"
]
]
},
{
"id": "e5d889f73b0be3c4",
"type": "function",
"z": "2eecddc2c95c709c",
"name": "global.set Servo AUF",
"func": "var servo = flow.get(\"Servo_0\");\n\nglobal.set(\"Servo_0_AUF\",servo);\nmsg.payload = servo;\n\nreturn msg;\n\n",
"outputs": 1,
"timeout": 0,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 620,
"y": 380,
"wires": [
[
"f2537cefc2a68217"
]
]
},
{
"id": "9608b76dbc9e9532",
"type": "function",
"z": "2eecddc2c95c709c",
"name": "global.set Servo ZU",
"func": "var servo = flow.get(\"Servo_0\");\n\nglobal.set(\"Servo_0_ZU\",servo);\nmsg.payload = servo;\n\nreturn msg;\n\n",
"outputs": 1,
"timeout": 0,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 620,
"y": 460,
"wires": [
[
"db0268008e14347e"
]
]
},
{
"id": "29f1cdc15269765b",
"type": "function",
"z": "2eecddc2c95c709c",
"name": "global.set Servo ZU",
"func": "var servo = msg.payload;\n\nglobal.set(\"Servo_0_ZU\",servo);\nmsg.payload = servo;\n\nreturn msg;\n\n",
"outputs": 1,
"timeout": 0,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 620,
"y": 500,
"wires": [
[]
]
},
{
"id": "d2e6860217573703",
"type": "function",
"z": "2eecddc2c95c709c",
"name": "global.set Servo AUF",
"func": "var servo = msg.payload;\n\nglobal.set(\"Servo_0_AUF\",servo);\nmsg.payload = servo;\n\nreturn msg;\n\n",
"outputs": 1,
"timeout": 0,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 640,
"y": 420,
"wires": [
[]
]
},
{
"id": "ac065a8249743333",
"type": "comment",
"z": "2eecddc2c95c709c",
"name": "Servo Adresse 0",
"info": "",
"x": 580,
"y": 240,
"wires": []
},
{
"id": "6fee6710825a3b4e",
"type": "PCA9685 out",
"z": "2eecddc2c95c709c",
"name": "PWM Output 1 (Servo)",
"pca9685": "804c98d6fe0be90d",
"channel": "1",
"payload": "",
"unit": "microseconds",
"onStep": "0",
"x": 870,
"y": 620,
"wires": []
},
{
"id": "630e2e1eff1a8d05",
"type": "ui_slider",
"z": "2eecddc2c95c709c",
"name": "",
"label": "Servo-1",
"tooltip": "",
"group": "c231dfe161cf953e",
"order": 4,
"width": 0,
"height": 0,
"passthru": true,
"outs": "all",
"topic": "topic",
"topicType": "msg",
"min": "200",
"max": "2000",
"step": 1,
"className": "",
"x": 440,
"y": 640,
"wires": [
[
"0c3936572ca0e5bf"
]
]
},
{
"id": "acf994e25966cde8",
"type": "ui_switch",
"z": "2eecddc2c95c709c",
"name": "",
"label": "Umluft Klappe Heizung",
"tooltip": "",
"group": "2a7d142135bfa4c0",
"order": 14,
"width": 0,
"height": 0,
"passthru": true,
"decouple": "false",
"topic": "topic",
"topicType": "msg",
"style": "",
"onvalue": "true",
"onvalueType": "bool",
"onicon": "",
"oncolor": "",
"offvalue": "false",
"offvalueType": "bool",
"officon": "",
"offcolor": "",
"animate": false,
"className": "",
"x": 410,
"y": 600,
"wires": [
[
"e42fc6ab3f80f560"
]
]
},
{
"id": "0c3936572ca0e5bf",
"type": "function",
"z": "2eecddc2c95c709c",
"name": "flow set ",
"func": "\n\nflow.set(\"Servo_1\", msg.payload);\n \nreturn msg\n \n ",
"outputs": 1,
"timeout": "",
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 580,
"y": 640,
"wires": [
[
"6fee6710825a3b4e"
]
]
},
{
"id": "af4cdbeab7ee651e",
"type": "ui_button",
"z": "2eecddc2c95c709c",
"name": "Servo AUF-1 Speicher",
"group": "c231dfe161cf953e",
"order": 5,
"width": 0,
"height": 0,
"passthru": false,
"label": "Servo AUF-1 Speicher",
"tooltip": "",
"color": "",
"bgcolor": "",
"className": "",
"icon": "",
"payload": "true",
"payloadType": "bool",
"topic": "topic",
"topicType": "msg",
"x": 400,
"y": 700,
"wires": [
[
"aabeb542e1d4d139"
]
]
},
{
"id": "7c51b3ce2958fc43",
"type": "ui_button",
"z": "2eecddc2c95c709c",
"name": "Servo ZU-1 Speicher",
"group": "c231dfe161cf953e",
"order": 6,
"width": 0,
"height": 0,
"passthru": false,
"label": "Servo ZU-1 Speicher",
"tooltip": "",
"color": "",
"bgcolor": "",
"className": "",
"icon": "",
"payload": "true",
"payloadType": "bool",
"topic": "topic",
"topicType": "msg",
"x": 400,
"y": 780,
"wires": [
[
"dc05c2e6e3c8bd61"
]
]
},
{
"id": "84661889f2c88632",
"type": "file",
"z": "2eecddc2c95c709c",
"name": "",
"filename": "pekaway/Servo_1_AUF",
"filenameType": "str",
"appendNewline": false,
"createDir": true,
"overwriteFile": "true",
"encoding": "none",
"x": 870,
"y": 700,
"wires": [
[]
]
},
{
"id": "0ccdf4f2d83d244b",
"type": "file",
"z": "2eecddc2c95c709c",
"name": "",
"filename": "pekaway/Servo_1_ZU",
"filenameType": "str",
"appendNewline": false,
"createDir": true,
"overwriteFile": "true",
"encoding": "none",
"x": 880,
"y": 780,
"wires": [
[]
]
},
{
"id": "1d65b8cba30160af",
"type": "file in",
"z": "2eecddc2c95c709c",
"name": "",
"filename": "pekaway/Servo_1_AUF",
"filenameType": "str",
"format": "utf8",
"chunk": false,
"sendError": false,
"encoding": "none",
"allProps": false,
"x": 410,
"y": 740,
"wires": [
[
"86f2f5bf698e9bac"
]
]
},
{
"id": "dfb2854916caa230",
"type": "file in",
"z": "2eecddc2c95c709c",
"name": "",
"filename": "pekaway/Servo_1_ZU",
"filenameType": "str",
"format": "utf8",
"chunk": false,
"sendError": false,
"encoding": "none",
"allProps": false,
"x": 400,
"y": 820,
"wires": [
[
"823e07a773cd0db8"
]
]
},
{
"id": "e42fc6ab3f80f560",
"type": "function",
"z": "2eecddc2c95c709c",
"name": "global.get Servo_1",
"func": "var on = msg.payload;\nvar auf = Number(global.get(\"Servo_1_AUF\"));\nvar zu = Number(global.get(\"Servo_1_ZU\"));\n\nif (msg.payload === true){\n msg.payload = auf\n}\nif (msg.payload === false){\n msg.payload = zu\n}\n\nreturn msg;\n\n\n",
"outputs": 1,
"timeout": 0,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 630,
"y": 600,
"wires": [
[
"6fee6710825a3b4e",
"630e2e1eff1a8d05"
]
]
},
{
"id": "aabeb542e1d4d139",
"type": "function",
"z": "2eecddc2c95c709c",
"name": "global.set Servo AUF",
"func": "var servo = flow.get(\"Servo_1\");\n\nglobal.set(\"Servo_1_AUF\",servo);\nmsg.payload = servo;\n\nreturn msg;\n\n",
"outputs": 1,
"timeout": 0,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 620,
"y": 700,
"wires": [
[
"84661889f2c88632"
]
]
},
{
"id": "dc05c2e6e3c8bd61",
"type": "function",
"z": "2eecddc2c95c709c",
"name": "global.set Servo ZU",
"func": "var servo = flow.get(\"Servo_1\");\n\nglobal.set(\"Servo_1_ZU\",servo);\nmsg.payload = servo;\n\nreturn msg;\n\n",
"outputs": 1,
"timeout": 0,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 620,
"y": 780,
"wires": [
[
"0ccdf4f2d83d244b"
]
]
},
{
"id": "823e07a773cd0db8",
"type": "function",
"z": "2eecddc2c95c709c",
"name": "global.set Servo ZU",
"func": "var servo = msg.payload;\n\nglobal.set(\"Servo_1_ZU\",servo);\nmsg.payload = servo;\n\nreturn msg;\n\n",
"outputs": 1,
"timeout": 0,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 620,
"y": 820,
"wires": [
[]
]
},
{
"id": "86f2f5bf698e9bac",
"type": "function",
"z": "2eecddc2c95c709c",
"name": "global.set Servo AUF",
"func": "var servo = msg.payload;\n\nglobal.set(\"Servo_1_AUF\",servo);\nmsg.payload = servo;\n\nreturn msg;\n\n",
"outputs": 1,
"timeout": 0,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 640,
"y": 740,
"wires": [
[]
]
},
{
"id": "5fb709e56640144c",
"type": "comment",
"z": "2eecddc2c95c709c",
"name": "Servo Adresse 1",
"info": "",
"x": 600,
"y": 560,
"wires": []
},
{
"id": "241cf449b5ab668d",
"type": "comment",
"z": "2eecddc2c95c709c",
"name": "LED-Adresse 2",
"info": "",
"x": 600,
"y": 1000,
"wires": []
},
{
"id": "8260212fdd376ba8",
"type": "ui_slider",
"z": "2eecddc2c95c709c",
"name": "",
"label": "LED-1",
"tooltip": "",
"group": "c23eff85012ec6ad",
"order": 7,
"width": 0,
"height": 0,
"passthru": true,
"outs": "all",
"topic": "topic",
"topicType": "msg",
"min": "0",
"max": "100",
"step": 1,
"className": "",
"x": 430,
"y": 1080,
"wires": [
[
"434533f3a19c5d1e"
]
]
},
{
"id": "768d377eddf7c585",
"type": "ui_spacer",
"z": "2eecddc2c95c709c",
"name": "spacer",
"group": "ad3462d953470292",
"order": 9,
"width": 1,
"height": 1
},
{
"id": "433c008b7ffb3c0a",
"type": "ui_spacer",
"z": "2eecddc2c95c709c",
"name": "spacer",
"group": "ad3462d953470292",
"order": 11,
"width": 1,
"height": 1
},
{
"id": "2239cfd8de652047",
"type": "ui_spacer",
"z": "2eecddc2c95c709c",
"name": "spacer",
"group": "2a7d142135bfa4c0",
"order": 8,
"width": 3,
"height": 1
},
{
"id": "742a15414cdbb0f0",
"type": "ui_spacer",
"z": "2eecddc2c95c709c",
"name": "spacer",
"group": "4373a7f49bda8706",
"order": 6,
"width": 3,
"height": 1
},
{
"id": "09719fbfbdc87f35",
"type": "ui_spacer",
"z": "2eecddc2c95c709c",
"name": "spacer",
"group": "4373a7f49bda8706",
"order": 8,
"width": 3,
"height": 1
},
{
"id": "6891867219855370",
"type": "ui_spacer",
"z": "2eecddc2c95c709c",
"name": "spacer",
"group": "eb1c4820.31d898",
"order": 6,
"width": 3,
"height": 1
},
{
"id": "1d558de65031aa52",
"type": "ui_spacer",
"z": "2eecddc2c95c709c",
"name": "spacer",
"group": "eb1c4820.31d898",
"order": 7,
"width": 3,
"height": 1
},
{
"id": "d96ca7a50540b751",
"type": "ui_spacer",
"z": "2eecddc2c95c709c",
"name": "spacer",
"group": "eb1c4820.31d898",
"order": 8,
"width": 3,
"height": 1
},
{
"id": "e173b2326e3e897f",
"type": "ui_spacer",
"z": "2eecddc2c95c709c",
"name": "spacer",
"group": "a075630de8e66608",
"order": 5,
"width": 6,
"height": 1
},
{
"id": "804c98d6fe0be90d",
"type": "PCA9685",
"deviceNumber": "1",
"address": "64",
"frequency": "50"
},
{
"id": "c231dfe161cf953e",
"type": "ui_group",
"name": "PCA9685-Servo",
"tab": "7c63811621faab2f",
"order": 10,
"disp": true,
"width": "6",
"collapse": false,
"className": ""
},
{
"id": "2a7d142135bfa4c0",
"type": "ui_group",
"name": "Temperature",
"tab": "5007f157b6c708d0",
"order": 1,
"disp": true,
"width": "6",
"collapse": true,
"className": ""
},
{
"id": "c23eff85012ec6ad",
"type": "ui_group",
"name": "Test",
"tab": "b323171194e7cd29",
"order": 3,
"disp": true,
"width": "12",
"collapse": false,
"className": ""
},
{
"id": "ad3462d953470292",
"type": "ui_group",
"name": "Config Lagesensor",
"tab": "7c63811621faab2f",
"order": 1,
"disp": true,
"width": "6",
"collapse": false,
"className": ""
},
{
"id": "4373a7f49bda8706",
"type": "ui_group",
"name": "Info Autoterm",
"tab": "5007f157b6c708d0",
"order": 5,
"disp": true,
"width": "6",
"collapse": true,
"className": ""
},
{
"id": "eb1c4820.31d898",
"type": "ui_group",
"name": "Info China Heater",
"tab": "5007f157b6c708d0",
"order": 6,
"disp": true,
"width": "6",
"collapse": true,
"className": ""
},
{
"id": "a075630de8e66608",
"type": "ui_group",
"name": "Boiler Controls",
"tab": "5007f157b6c708d0",
"order": 8,
"disp": true,
"width": "6",
"collapse": true,
"className": ""
},
{
"id": "7c63811621faab2f",
"type": "ui_tab",
"name": "Meine Konfig",
"icon": "fa-spinner",
"order": 30,
"disabled": false,
"hidden": false
},
{
"id": "5007f157b6c708d0",
"type": "ui_tab",
"name": "Heater",
"icon": "mi-whatshot",
"order": 4,
"disabled": false,
"hidden": false
},
{
"id": "b323171194e7cd29",
"type": "ui_tab",
"name": "Test",
"icon": "build",
"order": 37,
"disabled": false,
"hidden": false
}
]
Gruß
Arno