{ "settings": { "httpServer": { "enabled": true, "port": 80 }, "database": { "deviceAttributeLogging": [ { "deviceId": "*", "attributeName": "*", "type": "*", "interval": "0", "expire": "7d" }, { "deviceId": "*", "attributeName": "*", "type": "continuous", "interval": "5min", "expire": "7d" }, { "deviceId": "*", "attributeName": "temperature", "type": "number", "expire": "1y" }, { "deviceId": "*", "attributeName": "humidity", "type": "number", "expire": "1y" } ], "messageLogging": [ { "level": "*", "tags": [], "expire": "7d" }, { "level": "debug", "tags": [], "expire": "0" } ] }, "authentication": { "secret": "xxxxxxxxxx" }, "httpsServer": {}, "cors": {}, "gui": {} }, "plugins": [ { "plugin": "cron" }, { "plugin": "mobile-frontend" }, { "driverOptions": { "serialDevice": "/dev/ttyUSB0", "baudrate": 115200 }, "enableReceiving": true, "receiverPin": 0, "transmitterPin": 8, "plugin": "homeduino", "active": true, "enableDSTSensors": true }, { "apiKey": "42807e554d2ced958db5ae8351b5d383", "debug": true, "plugin": "openweather", "active": true }, { "debug": true, "client_id": "emilejukn@gmail.com", "client_secret": "https://calendar.google.com/calendar/ical/emilejukn%40gmail.com/private-4ae63cb55e50994323cad7aeb4d309fd/basic.ics", "plugin": "google-calendar", "active": true, "access_token": "", "refresh_token": "" }, { "plugin": "charts", "active": true } ], "devices": [ { "pin": 17, "id": "k3", "name": "K3", "class": "HomeduinoContactSensor" }, { "pin": 7, "id": "j3", "name": "J3", "class": "HomeduinoSwitch" }, { "pin": 8, "id": "j4", "name": "J4", "class": "HomeduinoSwitch" }, { "pin": 15, "id": "k1", "name": "K1", "class": "HomeduinoContactSensor", "interval": 100 }, { "pin": 3, "id": "k2", "name": "K2", "class": "HomeduinoContactSensor", "interval": 100 }, { "pin": 14, "id": "k0", "name": "K0", "class": "HomeduinoContactSensor", "interval": 100 }, { "pin": 5, "id": "j1", "name": "J1", "class": "HomeduinoSwitch" }, { "pin": 13, "defaultState": false, "id": "led", "name": "led", "class": "HomeduinoSwitch" }, { "variables": [ { "name": "points", "expression": "$points", "type": "number", "label": "Shots made" }, { "name": "shots", "expression": "$shots", "type": "number", "label": "Shots taken" } ], "xAttributeOptions": [], "id": "pointsview", "name": "pointsView", "class": "VariablesDevice" }, { "variables": [ { "name": "score", "label": "SCORE", "expression": "$score", "type": "number", "min": 0, "max": 200, "unit": "", "showRange": false } ], "id": "score", "name": "score", "class": "GaugeDevice" }, { "xAttributeOptions": [], "id": "timer", "name": "timer", "class": "Timer" }, { "variables": [ { "name": "Message", "expression": "$text", "label": "Message" } ], "xAttributeOptions": [], "id": "error", "name": "Message", "class": "VariablesDevice" }, { "subtitle": "Scores", "height": 200, "timerange": "3d", "legend": true, "allowtrace": true, "variables": [ { "name": "Score", "expression": "$score", "type": "number", "chart": "line", "dashstyle": "Solid" } ], "yaxis": [ { "label": "", "unit": "" } ], "datebuttons": [ { "label": "1min", "count": 1, "unit": "minute", "datagrouping": false }, { "label": "1day", "count": 1, "unit": "day", "datagrouping": false }, { "label": "ALL", "count": 0, "unit": "all", "datagrouping": false } ], "id": "scoregraph", "name": "scoreGraph", "class": "ChartDevice", "interval": 10 }, { "variable": "$time", "type": "number", "min": 5, "max": 600, "step": 5, "id": "settimer", "name": "setTimer", "class": "VariableInputDevice" } ], "rules": [ { "id": "k1on", "name": "K1ON", "rule": "when $k1.contact increased and if \"$k1state\" = \"0\" then set $k1state to 1", "active": false, "logging": true }, { "id": "k1off", "name": "K1OFF", "rule": "when $k1.contact increased and if \"$k1state\" = \"1\" then set $k1state to 0", "active": false, "logging": true }, { "id": "k2on", "name": "K2ON", "rule": "when $k2.contact increased and if \"$k2state\" = \"0\" then set $k2state to 1", "active": false, "logging": true }, { "id": "k2off", "name": "K2OFF", "rule": "when $k2.contact increased and if \"$k2state\" = \"1\" then set $k2state to 0", "active": false, "logging": true }, { "id": "k3on", "name": "K3ON", "rule": "when $k3.contact increased and if \"$k3state\" = \"0\" then set $k3state to 1", "active": false, "logging": true }, { "id": "k3off", "name": "K3OFF", "rule": "when $k3.contact increased and if \"$k3state\" = \"1\" then set $k3state to 0", "active": false, "logging": true }, { "id": "k0on", "name": "K0ON", "rule": "when $k0.contact increased and if \"$k0state\" = \"0\" then set $k0state to 1", "active": true, "logging": true }, { "id": "k0off", "name": "K0OFF", "rule": "when $k0.contact increased and if \"$k0state\" = \"1\" then set $k0state to 0", "active": true, "logging": true }, { "id": "points", "name": "points", "rule": "when k1 is opened then set $points to $points + 1", "active": true, "logging": true }, { "id": "shots", "name": "shots", "rule": "when k2 is opened then set $shots to $shots + 1 and set $text to \"...\"", "active": true, "logging": true }, { "id": "startgamebutton", "name": "startGameButton", "rule": "when \"$k0state\" = \"1\" then turn j1 on and set $score to 0 and set $text to \"...\" and set $points to 0 after 5 seconds and set $shots to 0 after 5 seconds", "active": true, "logging": true }, { "id": "startgame", "name": "startGame", "rule": "when j1 is turned on then start the timer after 5 seconds and turn on led after 5 seconds and set $text to \"GAME STARTS IN 5 SECONDS!\" and set $text to \"3..\" after 2 seconds and set $text to \"2..\" after 3 seconds and set $text to \"1..\" after 4 seconds and set $text to \"START!!!\" after 5 seconds", "active": true, "logging": true }, { "id": "endgame", "name": "endGame", "rule": "when $timer.time = $time then turn j1 off and turn led off and set $k0state to 0 and set $score to (($points / $shots * 100)+$points) and stop timer and reset timer", "active": true, "logging": true }, { "id": "pointsrestriction", "name": "pointsRestriction", "rule": "when $points is greater than $shots then set $points to $points - 1 and set $text to \"Points can't be greater than Shots!\"", "active": true, "logging": true }, { "id": "scorerestriction", "name": "scoreRestriction", "rule": "when $shots is less than $min and $score is greater than 0 then set $score to 0 and set $text to \"Score wasn't calculated. Minimum Shots required is $min!\"", "active": true, "logging": true }, { "id": "setmin", "name": "setMin", "rule": "when $time changes then set $min to $time*0.2", "active": true, "logging": true } ], "pages": [ { "id": "favourite", "name": "Favourites", "devices": [] }, { "id": "projektas", "name": "PROJEKTAS", "devices": [ { "deviceId": "k1" }, { "deviceId": "led" }, { "deviceId": "k2" }, { "deviceId": "settimer" }, { "deviceId": "k0" }, { "deviceId": "timer" }, { "deviceId": "j1" }, { "deviceId": "pointsview" }, { "deviceId": "score" }, { "deviceId": "error" }, { "deviceId": "scoregraph" } ] } ], "groups": [], "users": [ { "username": "admin", "password": "xxxxxxxxxx", "role": "admin" } ], "roles": [ { "name": "admin", "permissions": { "pages": "write", "rules": "write", "variables": "write", "messages": "write", "events": "write", "devices": "write", "groups": "write", "plugins": "write", "updates": "write", "database": "write", "config": "write", "controlDevices": true, "restart": true } } ], "variables": [ { "name": "k1state", "value": 1 }, { "name": "k2state", "value": 0 }, { "name": "k3state", "value": 0 }, { "name": "k0state", "value": 0 }, { "name": "points", "value": 2 }, { "name": "shots", "value": 2 }, { "name": "score", "value": 0 }, { "name": "text", "value": "Score wasn't calculated. Minimum Shots required is 6!" }, { "name": "time", "value": 30 }, { "name": "min", "value": 6 } ] }