Created
January 28, 2019 18:47
-
-
Save iAbadia/901594084e941ebe88a14e393ca32a88 to your computer and use it in GitHub Desktop.
Magic cube NODE-RED config
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[ | |
{ | |
"id": "77b5dd61.4f3574", | |
"type": "tab", | |
"label": "Magic Cube Controller", | |
"disabled": false, | |
"info": "" | |
}, | |
{ | |
"id": "50a6a391.4b1f9c", | |
"type": "mqtt in", | |
"z": "77b5dd61.4f3574", | |
"name": "Magic Cube Side", | |
"topic": "zigbee2mqtt/0x00158d00027850bc", | |
"qos": "0", | |
"broker": "41ca50e5.b8978", | |
"x": 340, | |
"y": 200, | |
"wires": [ | |
[ | |
"dea1bc07.5e97d" | |
] | |
] | |
}, | |
{ | |
"id": "7ad9bd68.4f2754", | |
"type": "switch", | |
"z": "77b5dd61.4f3574", | |
"name": "Action", | |
"property": "payload.action", | |
"propertyType": "msg", | |
"rules": [ | |
{ | |
"t": "eq", | |
"v": "slide", | |
"vt": "str" | |
}, | |
{ | |
"t": "eq", | |
"v": "tap", | |
"vt": "str" | |
}, | |
{ | |
"t": "eq", | |
"v": "flip180", | |
"vt": "str" | |
}, | |
{ | |
"t": "eq", | |
"v": "flip90", | |
"vt": "str" | |
}, | |
{ | |
"t": "eq", | |
"v": "shake", | |
"vt": "str" | |
}, | |
{ | |
"t": "eq", | |
"v": "rotate_left", | |
"vt": "str" | |
}, | |
{ | |
"t": "eq", | |
"v": "rotate_right", | |
"vt": "str" | |
} | |
], | |
"checkall": "false", | |
"repair": false, | |
"outputs": 7, | |
"x": 640, | |
"y": 200, | |
"wires": [ | |
[ | |
"786cd7dc.d4d748" | |
], | |
[ | |
"786cd7dc.d4d748" | |
], | |
[ | |
"786cd7dc.d4d748" | |
], | |
[ | |
"b8ca8804.582878" | |
], | |
[ | |
"bc8c9164.40db" | |
], | |
[ | |
"7f0b1db7.f69cd4" | |
], | |
[ | |
"7f0b1db7.f69cd4" | |
] | |
] | |
}, | |
{ | |
"id": "786cd7dc.d4d748", | |
"type": "change", | |
"z": "77b5dd61.4f3574", | |
"name": "Cube side", | |
"rules": [ | |
{ | |
"t": "set", | |
"p": "cube_side", | |
"pt": "flow", | |
"to": "payload.side", | |
"tot": "jsonata" | |
} | |
], | |
"action": "", | |
"property": "", | |
"from": "", | |
"to": "", | |
"reg": false, | |
"x": 800, | |
"y": 120, | |
"wires": [ | |
[] | |
] | |
}, | |
{ | |
"id": "b8ca8804.582878", | |
"type": "change", | |
"z": "77b5dd61.4f3574", | |
"name": "Cube side", | |
"rules": [ | |
{ | |
"t": "set", | |
"p": "cube_side", | |
"pt": "flow", | |
"to": "payload.to_side", | |
"tot": "jsonata" | |
} | |
], | |
"action": "", | |
"property": "", | |
"from": "", | |
"to": "", | |
"reg": false, | |
"x": 800, | |
"y": 160, | |
"wires": [ | |
[] | |
] | |
}, | |
{ | |
"id": "bc8c9164.40db", | |
"type": "change", | |
"z": "77b5dd61.4f3574", | |
"name": "Cube side", | |
"rules": [ | |
{ | |
"t": "set", | |
"p": "cube_side", | |
"pt": "flow", | |
"to": "-1", | |
"tot": "num" | |
} | |
], | |
"action": "", | |
"property": "", | |
"from": "", | |
"to": "", | |
"reg": false, | |
"x": 800, | |
"y": 200, | |
"wires": [ | |
[] | |
] | |
}, | |
{ | |
"id": "701e7b94.3dff34", | |
"type": "switch", | |
"z": "77b5dd61.4f3574", | |
"name": "Rotate action", | |
"property": "cube_side", | |
"propertyType": "flow", | |
"rules": [ | |
{ | |
"t": "eq", | |
"v": "0", | |
"vt": "num" | |
}, | |
{ | |
"t": "eq", | |
"v": "1", | |
"vt": "str" | |
}, | |
{ | |
"t": "eq", | |
"v": "2", | |
"vt": "str" | |
}, | |
{ | |
"t": "eq", | |
"v": "3", | |
"vt": "str" | |
}, | |
{ | |
"t": "eq", | |
"v": "4", | |
"vt": "str" | |
}, | |
{ | |
"t": "eq", | |
"v": "5", | |
"vt": "str" | |
} | |
], | |
"checkall": "true", | |
"repair": false, | |
"outputs": 6, | |
"x": 990, | |
"y": 240, | |
"wires": [ | |
[ | |
"e0b7f28a.22a56" | |
], | |
[ | |
"e0b7f28a.22a56" | |
], | |
[ | |
"e0b7f28a.22a56" | |
], | |
[ | |
"e0b7f28a.22a56" | |
], | |
[ | |
"e0b7f28a.22a56" | |
], | |
[ | |
"e0b7f28a.22a56" | |
] | |
] | |
}, | |
{ | |
"id": "dea1bc07.5e97d", | |
"type": "json", | |
"z": "77b5dd61.4f3574", | |
"name": "", | |
"property": "payload", | |
"action": "obj", | |
"pretty": false, | |
"x": 510, | |
"y": 200, | |
"wires": [ | |
[ | |
"7ad9bd68.4f2754" | |
] | |
] | |
}, | |
{ | |
"id": "e0b7f28a.22a56", | |
"type": "api-current-state", | |
"z": "77b5dd61.4f3574", | |
"name": "Ceiling yeelight", | |
"server": "45aa0aee.37a7e4", | |
"halt_if": "", | |
"halt_if_type": "str", | |
"halt_if_compare": "is", | |
"override_topic": false, | |
"override_payload": false, | |
"override_data": true, | |
"entity_id": "light.ceiling_yeelight", | |
"state_type": "str", | |
"outputs": 1, | |
"x": 1260, | |
"y": 160, | |
"wires": [ | |
[ | |
"af239f79.fcdce" | |
] | |
] | |
}, | |
{ | |
"id": "7f0b1db7.f69cd4", | |
"type": "change", | |
"z": "77b5dd61.4f3574", | |
"name": "Cube rotate", | |
"rules": [ | |
{ | |
"t": "set", | |
"p": "cube_direction", | |
"pt": "msg", | |
"to": "msg.payload.action", | |
"tot": "jsonata" | |
}, | |
{ | |
"t": "set", | |
"p": "cube_angle", | |
"pt": "msg", | |
"to": "msg.payload.angle", | |
"tot": "jsonata" | |
} | |
], | |
"action": "", | |
"property": "", | |
"from": "", | |
"to": "", | |
"reg": false, | |
"x": 810, | |
"y": 240, | |
"wires": [ | |
[ | |
"701e7b94.3dff34" | |
] | |
] | |
}, | |
{ | |
"id": "af239f79.fcdce", | |
"type": "function", | |
"z": "77b5dd61.4f3574", | |
"name": "New brightness", | |
"func": "if(msg.data.state == \"on\"){\n brightness = msg.data.attributes.brightness;\n if(msg.cube_direction == \"rotate_right\"){\n new_brightness = brightness + 50;\n } else{\n new_brightness = brightness - 50;\n }\n}else {\n if(msg.cube_direction == \"rotate_right\"){\n new_brightness = 1;\n } else{\n new_brightness = 0;\n }\n}\nif(new_brightness > 0){\n msg.light_action = \"on\";\n msg.light_brightness = new_brightness;\n} else {\n msg.light_action = \"off\";\n}\n\ndelete msg[\"payload\"];\nreturn msg;", | |
"outputs": 1, | |
"noerr": 0, | |
"x": 1460, | |
"y": 160, | |
"wires": [ | |
[ | |
"4bec80e4.77d7a" | |
] | |
] | |
}, | |
{ | |
"id": "4bec80e4.77d7a", | |
"type": "switch", | |
"z": "77b5dd61.4f3574", | |
"name": "On/Off", | |
"property": "light_action", | |
"propertyType": "msg", | |
"rules": [ | |
{ | |
"t": "eq", | |
"v": "on", | |
"vt": "str" | |
}, | |
{ | |
"t": "eq", | |
"v": "off", | |
"vt": "str" | |
} | |
], | |
"checkall": "false", | |
"repair": false, | |
"outputs": 2, | |
"x": 1630, | |
"y": 160, | |
"wires": [ | |
[ | |
"6affe9bd.dd2938" | |
], | |
[ | |
"cae7ec7b.f59a7" | |
] | |
] | |
}, | |
{ | |
"id": "b877915d.3752b", | |
"type": "api-call-service", | |
"z": "77b5dd61.4f3574", | |
"name": "On + brightness", | |
"server": "45aa0aee.37a7e4", | |
"service_domain": "light", | |
"service": "turn_on", | |
"data": "{\"entity_id\":\"light.ceiling_yeelight\"}", | |
"render_data": false, | |
"mergecontext": "", | |
"output_location": "payload", | |
"output_location_type": "msg", | |
"x": 2000, | |
"y": 120, | |
"wires": [ | |
[] | |
] | |
}, | |
{ | |
"id": "cae7ec7b.f59a7", | |
"type": "api-call-service", | |
"z": "77b5dd61.4f3574", | |
"name": "Off", | |
"server": "45aa0aee.37a7e4", | |
"service_domain": "light", | |
"service": "turn_off", | |
"data": "{\"entity_id\":\"light.ceiling_yeelight\"}", | |
"render_data": false, | |
"mergecontext": "", | |
"output_location": "payload", | |
"output_location_type": "msg", | |
"x": 2030, | |
"y": 180, | |
"wires": [ | |
[] | |
] | |
}, | |
{ | |
"id": "6affe9bd.dd2938", | |
"type": "function", | |
"z": "77b5dd61.4f3574", | |
"name": "Construct data", | |
"func": "msg.payload = {};\nmsg.payload.data = {\"brightness\": msg.light_brightness}\nreturn msg;", | |
"outputs": 1, | |
"noerr": 0, | |
"x": 1800, | |
"y": 120, | |
"wires": [ | |
[ | |
"b877915d.3752b" | |
] | |
] | |
}, | |
{ | |
"id": "41ca50e5.b8978", | |
"type": "mqtt-broker", | |
"z": "", | |
"name": "Hassio Mosquitto", | |
"broker": "localhost", | |
"port": "1883", | |
"clientid": "hassio-node-red", | |
"usetls": false, | |
"compatmode": true, | |
"keepalive": "60", | |
"cleansession": true, | |
"birthTopic": "", | |
"birthQos": "0", | |
"birthPayload": "", | |
"closeTopic": "", | |
"closeQos": "0", | |
"closePayload": "", | |
"willTopic": "", | |
"willQos": "0", | |
"willPayload": "" | |
}, | |
{ | |
"id": "45aa0aee.37a7e4", | |
"type": "server", | |
"z": "", | |
"name": "Home Assistant", | |
"legacy": false, | |
"hassio": true, | |
"rejectUnauthorizedCerts": true, | |
"ha_boolean": "y|yes|true|on|home|open" | |
} | |
] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment