[
{
"id": "9dcfd0c84d34ef1a",
"type": "tab",
"label": "gravityfloat",
"disabled": false,
"info": "",
"env": []
},
{
"id": "02eda3f182f29c8c",
"type": "group",
"z": "9dcfd0c84d34ef1a",
"name": "GravityFloat",
"style": {
"stroke": "#0070c0",
"label": true
},
"nodes": [
"bdf51ee838aa184b",
"67ed3fa195085fee",
"8b628fc7db1b0f74",
"d55656aa293371d4",
"9695be6c277f9740",
"d6a1847963aa3978",
"0d46b501310b408a",
"0e94bb79e7bce170",
"428cf83f5bdedd7a",
"57ec3b8c7e4b2d3b",
"738ddbfb320af950",
"98007eabb81ff829",
"d407818341829fed",
"ddc6a548b861b513",
"fb3bb679d13f80d0",
"cd2e539d405ac3a8",
"f446b8fbca36c7d7",
"3a8d6d47405ac2fb",
"f2e275fc17804d9f",
"a0b3952b1a7be0fd",
"673579455856a4cb",
"05b3845760bfe56d",
"44886ecda6b36c27",
"2bd7bc925460834a",
"81b31346dea6e90c",
"77b2695b37c1ccdd",
"c1aa835ac8964e34",
"7488122f10a611b9",
"5084f6c23cecfdb9",
"3fa682f6a3c94997",
"227be012e22ca2b0",
"8fcaddc93c7c811b",
"8975e7f42a9a77e5",
"c06fac0ac09667fb",
"f6c1325ccde88d44",
"88276ca87ed1d58e",
"06958bd26dd7aae6",
"0a754971ec884b5b",
"5f6f3a95663c5fa6",
"1d49d5862b25bab3"
],
"x": 54,
"y": 19,
"w": 1112,
"h": 702
},
{
"id": "8975e7f42a9a77e5",
"type": "junction",
"z": "9dcfd0c84d34ef1a",
"g": "02eda3f182f29c8c",
"x": 740,
"y": 500,
"wires": [
[
"2bd7bc925460834a",
"d6a1847963aa3978"
]
]
},
{
"id": "c06fac0ac09667fb",
"type": "junction",
"z": "9dcfd0c84d34ef1a",
"g": "02eda3f182f29c8c",
"x": 740,
"y": 600,
"wires": [
[
"81b31346dea6e90c",
"57ec3b8c7e4b2d3b"
]
]
},
{
"id": "f6c1325ccde88d44",
"type": "junction",
"z": "9dcfd0c84d34ef1a",
"g": "02eda3f182f29c8c",
"x": 740,
"y": 300,
"wires": [
[
"0e94bb79e7bce170",
"77b2695b37c1ccdd"
]
]
},
{
"id": "7488122f10a611b9",
"type": "junction",
"z": "9dcfd0c84d34ef1a",
"g": "02eda3f182f29c8c",
"x": 320,
"y": 380,
"wires": [
[
"a0b3952b1a7be0fd"
]
]
},
{
"id": "88276ca87ed1d58e",
"type": "junction",
"z": "9dcfd0c84d34ef1a",
"g": "02eda3f182f29c8c",
"x": 280,
"y": 380,
"wires": [
[
"7488122f10a611b9"
]
]
},
{
"id": "bdf51ee838aa184b",
"type": "mqtt out",
"z": "9dcfd0c84d34ef1a",
"g": "02eda3f182f29c8c",
"name": "tilt sensor",
"topic": "zigbee2mqtt/xiaomi_acc_2/set",
"qos": "",
"retain": "",
"respTopic": "",
"contentType": "",
"userProps": "",
"correl": "",
"expiry": "",
"broker": "a476b97.9de4d48",
"x": 400,
"y": 60,
"wires": []
},
{
"id": "67ed3fa195085fee",
"type": "inject",
"z": "9dcfd0c84d34ef1a",
"g": "02eda3f182f29c8c",
"name": "set sensitivity",
"props": [
{
"p": "payload"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "{\"sensitivity\": \"high\"}",
"payloadType": "json",
"x": 170,
"y": 60,
"wires": [
[
"bdf51ee838aa184b"
]
]
},
{
"id": "8b628fc7db1b0f74",
"type": "mqtt in",
"z": "9dcfd0c84d34ef1a",
"g": "02eda3f182f29c8c",
"name": "temperature sensor",
"topic": "zigbee2mqtt/xiaomi_htp_2",
"qos": "2",
"datatype": "json",
"broker": "a476b97.9de4d48",
"nl": false,
"rap": false,
"inputs": 0,
"x": 170,
"y": 300,
"wires": [
[
"0d46b501310b408a",
"7488122f10a611b9",
"06958bd26dd7aae6"
]
]
},
{
"id": "d55656aa293371d4",
"type": "mqtt in",
"z": "9dcfd0c84d34ef1a",
"g": "02eda3f182f29c8c",
"name": "tilt sensor",
"topic": "zigbee2mqtt/xiaomi_acc_2",
"qos": "2",
"datatype": "json",
"broker": "a476b97.9de4d48",
"nl": false,
"rap": true,
"rh": 0,
"inputs": 0,
"x": 140,
"y": 500,
"wires": [
[
"9695be6c277f9740",
"428cf83f5bdedd7a",
"d407818341829fed",
"88276ca87ed1d58e"
]
]
},
{
"id": "9695be6c277f9740",
"type": "function",
"z": "9dcfd0c84d34ef1a",
"g": "02eda3f182f29c8c",
"name": "get tilt + compensate",
"func": "/*\nthe tilt sensor on the z axis has a deviation\nespecially more to zero\nthis function compensates this deviation\nonly on positive angeles\n*/\n\nvar z = msg.payload.angle_z;\nvar a;\n\nif (z > 0){\n a = Math.round((z - 90) * 0.2 + z)+1;\n msg.payload = a;\n return msg;\n}\n\n\n",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 440,
"y": 500,
"wires": [
[
"8975e7f42a9a77e5"
]
]
},
{
"id": "d6a1847963aa3978",
"type": "ui_chart",
"z": "9dcfd0c84d34ef1a",
"g": "02eda3f182f29c8c",
"name": "gravity float I tilt°",
"group": "abb3554aed5ef7d6",
"order": 1,
"width": 0,
"height": 0,
"label": "GravityFloat II tilt°",
"chartType": "line",
"legend": "false",
"xformat": "HH:mm",
"interpolate": "linear",
"nodata": "",
"dot": false,
"ymin": "",
"ymax": "",
"removeOlder": "7",
"removeOlderPoints": "",
"removeOlderUnit": "86400",
"cutout": 0,
"useOneColor": false,
"useUTC": false,
"colors": [
"#1f77b4",
"#aec7e8",
"#ff7f0e",
"#2ca02c",
"#98df8a",
"#d62728",
"#ff9896",
"#9467bd",
"#c5b0d5"
],
"outputs": 1,
"useDifferentColor": false,
"x": 1020,
"y": 540,
"wires": [
[]
]
},
{
"id": "0d46b501310b408a",
"type": "function",
"z": "9dcfd0c84d34ef1a",
"g": "02eda3f182f29c8c",
"name": "get temperature",
"func": "var t = msg.payload.temperature;\nmsg.payload = t;\nglobal.set(\"gravityfloat1_temp\", t);\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 420,
"y": 300,
"wires": [
[
"f6c1325ccde88d44"
]
]
},
{
"id": "0e94bb79e7bce170",
"type": "ui_chart",
"z": "9dcfd0c84d34ef1a",
"g": "02eda3f182f29c8c",
"name": "gravity float I t°",
"group": "abb3554aed5ef7d6",
"order": 2,
"width": 0,
"height": 0,
"label": "GravityFloat I °C",
"chartType": "line",
"legend": "false",
"xformat": "HH:mm",
"interpolate": "linear",
"nodata": "",
"dot": false,
"ymin": "",
"ymax": "",
"removeOlder": "7",
"removeOlderPoints": "",
"removeOlderUnit": "86400",
"cutout": 0,
"useOneColor": false,
"useUTC": false,
"colors": [
"#1f77b4",
"#aec7e8",
"#ff7f0e",
"#2ca02c",
"#98df8a",
"#d62728",
"#ff9896",
"#9467bd",
"#c5b0d5"
],
"outputs": 1,
"useDifferentColor": false,
"x": 1020,
"y": 340,
"wires": [
[]
]
},
{
"id": "428cf83f5bdedd7a",
"type": "function",
"z": "9dcfd0c84d34ef1a",
"g": "02eda3f182f29c8c",
"name": "tilt to SG",
"func": "/*\nevery inidvidual GravityFloat needs to be calibrated\ndo this by having letting in float in different sollutions of sugar in water\nmeasure the tilt angle for at least 5 sollutions of sugar, and measure the gravity with a manuel gravity meter\nto calculate the formula go to : https://ispindel.nl/index.php/kalibreren/\nand follow the instructions\nuse the produced formula below (variable g)\nnote : variable a is a function to compensate for diviation in the tilt angle from the sensor\n*/\n\n\nvar z = msg.payload.angle_z;\nvar a;\nvar g;\n\nif (z > 0){\n a = Math.round((z - 90) * 0.2 + z)+1;\n g = Math.round((-0.000108149 * a * a + 0.007386278 * a + 0.951527633) * 1000)/1000;\n\n msg.payload = g;\n global.set(\"gravityfloat1_sg\", g);\n return msg;\n}\n\n\n",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 400,
"y": 600,
"wires": [
[
"c06fac0ac09667fb"
]
]
},
{
"id": "57ec3b8c7e4b2d3b",
"type": "ui_chart",
"z": "9dcfd0c84d34ef1a",
"g": "02eda3f182f29c8c",
"name": "gravity float I SG",
"group": "abb3554aed5ef7d6",
"order": 3,
"width": 0,
"height": 0,
"label": "GravityFloat I SG",
"chartType": "line",
"legend": "false",
"xformat": "HH:mm",
"interpolate": "linear",
"nodata": "",
"dot": false,
"ymin": "",
"ymax": "",
"removeOlder": "7",
"removeOlderPoints": "",
"removeOlderUnit": "86400",
"cutout": 0,
"useOneColor": false,
"useUTC": false,
"colors": [
"#1f77b4",
"#aec7e8",
"#ff7f0e",
"#2ca02c",
"#98df8a",
"#d62728",
"#ff9896",
"#9467bd",
"#c5b0d5"
],
"outputs": 1,
"useDifferentColor": false,
"x": 1020,
"y": 640,
"wires": [
[]
]
},
{
"id": "738ddbfb320af950",
"type": "function",
"z": "9dcfd0c84d34ef1a",
"g": "02eda3f182f29c8c",
"name": "reset graph",
"func": "msg.payload = [];\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 410,
"y": 160,
"wires": [
[
"8fcaddc93c7c811b"
]
]
},
{
"id": "98007eabb81ff829",
"type": "inject",
"z": "9dcfd0c84d34ef1a",
"g": "02eda3f182f29c8c",
"name": "reset graph",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "",
"payloadType": "date",
"x": 170,
"y": 160,
"wires": [
[
"738ddbfb320af950"
]
]
},
{
"id": "d407818341829fed",
"type": "function",
"z": "9dcfd0c84d34ef1a",
"g": "02eda3f182f29c8c",
"name": "get tilt battery ",
"func": "msg.payload = msg.payload.battery;\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 420,
"y": 680,
"wires": [
[
"ddc6a548b861b513"
]
]
},
{
"id": "ddc6a548b861b513",
"type": "ui_text",
"z": "9dcfd0c84d34ef1a",
"g": "02eda3f182f29c8c",
"group": "abb3554aed5ef7d6",
"order": 4,
"width": 0,
"height": 0,
"name": "",
"label": "gravity float I battery",
"format": "{{msg.payload}}",
"layout": "row-spread",
"x": 1040,
"y": 680,
"wires": []
},
{
"id": "fb3bb679d13f80d0",
"type": "ui_button",
"z": "9dcfd0c84d34ef1a",
"g": "02eda3f182f29c8c",
"name": "",
"group": "b63025f042b8c44e",
"order": 5,
"width": 0,
"height": 0,
"passthru": false,
"label": "nieuwe badge",
"tooltip": "",
"color": "",
"bgcolor": "",
"icon": "",
"payload": "",
"payloadType": "date",
"topic": "topic",
"topicType": "msg",
"x": 160,
"y": 100,
"wires": [
[
"cd2e539d405ac3a8"
]
]
},
{
"id": "cd2e539d405ac3a8",
"type": "function",
"z": "9dcfd0c84d34ef1a",
"g": "02eda3f182f29c8c",
"name": "start date new badge",
"func": "var d = new Date(msg.payload);\nvar datum = d.getDate()+\"/\"+(d.getMonth()+1)+\"/\"+d.getFullYear();\nmsg.payload = datum;\n\nvar jaar = d.getFullYear();\nvar maand = d.getMonth() + 1;\nif (maand < 10){\n maand = \"0\"+maand;\n}\nvar dag = d.getDate();\nif (dag < 10){\n dag = \"0\" + dag;\n}\n\nvar datumsql = jaar +\"-\"+maand+\"-\"+dag;\n\nglobal.set(\"gravityfloat1_brouwdatum\", datumsql);\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 440,
"y": 100,
"wires": [
[
"f446b8fbca36c7d7"
]
]
},
{
"id": "f446b8fbca36c7d7",
"type": "ui_text",
"z": "9dcfd0c84d34ef1a",
"g": "02eda3f182f29c8c",
"group": "b63025f042b8c44e",
"order": 4,
"width": 0,
"height": 0,
"name": "",
"label": "badge datum",
"format": "{{msg.payload}}",
"layout": "row-spread",
"x": 670,
"y": 100,
"wires": []
},
{
"id": "3a8d6d47405ac2fb",
"type": "function",
"z": "9dcfd0c84d34ef1a",
"g": "02eda3f182f29c8c",
"name": "to Brewfather",
"func": "var temp = global.get(\"gravityfloat1_temp\");\nvar x = global.get(\"gravityfloat1_sg\");\n\n\nmsg.payload = '{ \"name\": \"GravityFloat1\", \"temp\": ' + temp + ' , \"temp_unit\": \"C\", \"gravity\": '+ x +', \"gravity_unit\": \"G\"}';\nreturn msg;\n\n/*\n{\n \"name\": \"YourDeviceName\", // Required field, this will be the ID in Brewfather\n \"temp\": 20.32,\n \"aux_temp\": 15.61, // Fridge Temp\n \"ext_temp\": 6.51, // Room Temp\n \"temp_unit\": \"C\", // C, F, K\n \"gravity\": 1.042,\n \"gravity_unit\": \"G\", // G, P\n \"pressure\": 10,\n \"pressure_unit\": \"PSI\", // PSI, BAR, KPA\n \"ph\": 4.12,\n \"bpm\": 123, // Bubbles Per Minute\n \"comment\": \"Hello World\",\n \"beer\": \"Pale Ale\",\n \"battery\": 4.98\n}\n*/",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 830,
"y": 420,
"wires": [
[
"f2e275fc17804d9f"
]
]
},
{
"id": "f2e275fc17804d9f",
"type": "http request",
"z": "9dcfd0c84d34ef1a",
"g": "02eda3f182f29c8c",
"name": "Brewfather",
"method": "POST",
"ret": "txt",
"paytoqs": "ignore",
"url": "http://log.brewfather.net/stream?id=yourbrewfatherlogincode",
"tls": "",
"persist": false,
"proxy": "",
"insecureHTTPParser": false,
"authType": "",
"senderr": false,
"headers": [
{
"keyType": "Content-Type",
"keyValue": "",
"valueType": "other",
"valueValue": "application/json"
},
{
"keyType": "other",
"keyValue": "",
"valueType": "other",
"valueValue": ""
}
],
"x": 1010,
"y": 420,
"wires": [
[]
]
},
{
"id": "a0b3952b1a7be0fd",
"type": "delay",
"z": "9dcfd0c84d34ef1a",
"g": "02eda3f182f29c8c",
"name": "",
"pauseType": "delay",
"timeout": "5",
"timeoutUnits": "seconds",
"rate": "1",
"nbRateUnits": "1",
"rateUnits": "second",
"randomFirst": "1",
"randomLast": "5",
"randomUnits": "seconds",
"drop": false,
"allowrate": false,
"outputs": 1,
"x": 400,
"y": 380,
"wires": [
[
"44886ecda6b36c27",
"c1aa835ac8964e34"
]
]
},
{
"id": "673579455856a4cb",
"type": "function",
"z": "9dcfd0c84d34ef1a",
"g": "02eda3f182f29c8c",
"name": "prepare SQL",
"func": "var temp = global.get(\"gravityfloat1_temp\");\nvar x = global.get(\"gravityfloat1_sg\");\nvar datum = global.get(\"gravityfloat1_brouwdatum\");\n\nmsg.topic = \"INSERT INTO gravityfloat ( SG, temp, brouwdatum) VALUES(\" + x + \", \" + temp + \", '\" + datum + \"')\";\n\n\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 830,
"y": 380,
"wires": [
[
"05b3845760bfe56d"
]
]
},
{
"id": "05b3845760bfe56d",
"type": "mysql",
"z": "9dcfd0c84d34ef1a",
"g": "02eda3f182f29c8c",
"mydb": "cb7380f5.93081",
"name": "",
"x": 1010,
"y": 380,
"wires": [
[]
]
},
{
"id": "44886ecda6b36c27",
"type": "delay",
"z": "9dcfd0c84d34ef1a",
"g": "02eda3f182f29c8c",
"name": "",
"pauseType": "rate",
"timeout": "5",
"timeoutUnits": "seconds",
"rate": "1",
"nbRateUnits": "1",
"rateUnits": "hour",
"randomFirst": "1",
"randomLast": "5",
"randomUnits": "seconds",
"drop": true,
"allowrate": false,
"outputs": 1,
"x": 610,
"y": 420,
"wires": [
[
"3a8d6d47405ac2fb"
]
]
},
{
"id": "2bd7bc925460834a",
"type": "ui_text",
"z": "9dcfd0c84d34ef1a",
"g": "02eda3f182f29c8c",
"group": "b63025f042b8c44e",
"order": 2,
"width": 0,
"height": 0,
"name": "",
"label": "tilt",
"format": "{{msg.payload}} °",
"layout": "row-spread",
"x": 990,
"y": 500,
"wires": []
},
{
"id": "81b31346dea6e90c",
"type": "ui_text",
"z": "9dcfd0c84d34ef1a",
"g": "02eda3f182f29c8c",
"group": "b63025f042b8c44e",
"order": 1,
"width": 0,
"height": 0,
"name": "SG",
"label": "suiker",
"format": "{{msg.payload}} SG",
"layout": "row-spread",
"x": 990,
"y": 600,
"wires": []
},
{
"id": "77b2695b37c1ccdd",
"type": "ui_text",
"z": "9dcfd0c84d34ef1a",
"g": "02eda3f182f29c8c",
"group": "b63025f042b8c44e",
"order": 3,
"width": 0,
"height": 0,
"name": "",
"label": "temperatuur vat",
"format": "{{msg.payload}}°C",
"layout": "row-spread",
"x": 1020,
"y": 300,
"wires": []
},
{
"id": "c1aa835ac8964e34",
"type": "delay",
"z": "9dcfd0c84d34ef1a",
"g": "02eda3f182f29c8c",
"name": "",
"pauseType": "rate",
"timeout": "5",
"timeoutUnits": "seconds",
"rate": "1",
"nbRateUnits": "15",
"rateUnits": "minute",
"randomFirst": "1",
"randomLast": "5",
"randomUnits": "seconds",
"drop": true,
"allowrate": false,
"outputs": 1,
"x": 620,
"y": 380,
"wires": [
[
"673579455856a4cb"
]
]
},
{
"id": "8fcaddc93c7c811b",
"type": "link out",
"z": "9dcfd0c84d34ef1a",
"g": "02eda3f182f29c8c",
"name": "link out 2",
"mode": "link",
"links": [
"5084f6c23cecfdb9",
"3fa682f6a3c94997",
"227be012e22ca2b0"
],
"x": 755,
"y": 160,
"wires": []
},
{
"id": "5084f6c23cecfdb9",
"type": "link in",
"z": "9dcfd0c84d34ef1a",
"g": "02eda3f182f29c8c",
"name": "link in 8",
"links": [
"8fcaddc93c7c811b"
],
"x": 755,
"y": 340,
"wires": [
[
"0e94bb79e7bce170"
]
]
},
{
"id": "3fa682f6a3c94997",
"type": "link in",
"z": "9dcfd0c84d34ef1a",
"g": "02eda3f182f29c8c",
"name": "link in 9",
"links": [
"d9284b5af2e2e9e7",
"8fcaddc93c7c811b"
],
"x": 755,
"y": 540,
"wires": [
[
"d6a1847963aa3978"
]
]
},
{
"id": "227be012e22ca2b0",
"type": "link in",
"z": "9dcfd0c84d34ef1a",
"g": "02eda3f182f29c8c",
"name": "link in 10",
"links": [
"f7011ae5d0a0e2f5",
"8fcaddc93c7c811b"
],
"x": 755,
"y": 640,
"wires": [
[
"57ec3b8c7e4b2d3b"
]
]
},
{
"id": "06958bd26dd7aae6",
"type": "dead-man-switch",
"z": "9dcfd0c84d34ef1a",
"g": "02eda3f182f29c8c",
"name": "",
"delay": "1",
"delayUnit": "hours",
"x": 430,
"y": 260,
"wires": [
[
"5f6f3a95663c5fa6"
]
]
},
{
"id": "0a754971ec884b5b",
"type": "e-mail",
"z": "9dcfd0c84d34ef1a",
"g": "02eda3f182f29c8c",
"server": "smtp.gmail.com",
"port": "465",
"secure": true,
"tls": true,
"name": "you@mail.com",
"dname": "GravityFloat",
"x": 870,
"y": 260,
"wires": []
},
{
"id": "5f6f3a95663c5fa6",
"type": "function",
"z": "9dcfd0c84d34ef1a",
"g": "02eda3f182f29c8c",
"name": "function 113",
"func": "msg.topic = \"gravityfloat thermometer is offline\";\nmsg.payload = \"gravityfloat thermometer is offline\";\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 650,
"y": 260,
"wires": [
[
"0a754971ec884b5b"
]
]
},
{
"id": "1d49d5862b25bab3",
"type": "inject",
"z": "9dcfd0c84d34ef1a",
"g": "02eda3f182f29c8c",
"name": "",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "",
"payloadType": "date",
"x": 380,
"y": 200,
"wires": [
[
"5f6f3a95663c5fa6"
]
]
},
{
"id": "a476b97.9de4d48",
"type": "mqtt-broker",
"name": "",
"broker": "your broker IP",
"port": "1883",
"clientid": "",
"usetls": false,
"compatmode": false,
"keepalive": "60",
"cleansession": true,
"birthTopic": "",
"birthQos": "0",
"birthPayload": "",
"closeTopic": "",
"closeQos": "0",
"closePayload": "",
"willTopic": "",
"willQos": "0",
"willPayload": ""
},
{
"id": "abb3554aed5ef7d6",
"type": "ui_group",
"name": "GravityFloat I historiek",
"tab": "761c6ea5d52c5338",
"order": 3,
"disp": true,
"width": "6",
"collapse": false
},
{
"id": "b63025f042b8c44e",
"type": "ui_group",
"name": "GravityFloat I",
"tab": "761c6ea5d52c5338",
"order": 1,
"disp": true,
"width": "6",
"collapse": false
},
{
"id": "cb7380f5.93081",
"type": "MySQLdatabase",
"name": "",
"host": "127.0.0.1",
"port": "3306",
"db": "SensiHome",
"tz": "",
"charset": ""
},
{
"id": "761c6ea5d52c5338",
"type": "ui_tab",
"name": "SensiBrew",
"icon": "dashboard",
"disabled": false,
"hidden": false
}
]
Comments
Please log in or sign up to comment.