Notifications
Clear all
Search result for: WA 0852 2611 9277 Pesan Interior Set Kamar Tidur Ukir Klasik Apartemen Point 8 Jakarta Barat
Page 1 / 5
Next
| # | Post Title | Result Info | Date | User | Forum |
| Sisyphus homekit integration with node-red | 48 Relevance | 1 year ago | robin.glave | Other Development | |
| I used node-red running on a RasPi to connect my Sisyphus to HomeKit. I can see the tables state and change brightness and speed and send it into sleep mode. It's all mapped as "lights" in homekit, but it works, see picture. It uses the HomeKit-bridged-nodes (). Flows are pasted below (import to node red), you need to Set the IP in every HTTP node to your table's local IP. ( replace all <your sisyphus IP> with e.g. 192.168.0.100) [ { "id": "9fae6a4f07359a53", "type": "tab", "label": "Sisi", "disabled": false, "info": "", "env": [] }, { "id": "73509f73e6f51240", "type": "http request", "z": "9fae6a4f07359a53", "name": "Status", "method": "POST", "ret": "txt", "paytoqs": "ignore", "url": "<your sisyphus IP>:3002/sisbot/state", "tls": "", "persist": false, "proxy": "", "insecureHTTPParser": false, "authType": "", "senderr": false, "headers": [], "x": 590, "y": 200, "wires": [ [ "e378416052644b5a" ] ] }, { "id": "41e11e07a32918a5", "type": "debug", "z": "9fae6a4f07359a53", "name": "Sisiphus", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 780, "y": 300, "wires": [] }, { "id": "fc3777898e1070ac", "type": "inject", "z": "9fae6a4f07359a53", "name": "", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "300", "crontab": "", "once": true, "onceDelay": "0.5", "topic": "", "payload": "", "payloadType": "date", "x": 410, "y": 200, "wires": [ [ "73509f73e6f51240" ] ] }, { "id": "e378416052644b5a", "type": "json", "z": "9fae6a4f07359a53", "name": "", "property": "payload", "action": "", "pretty": false, "x": 790, "y": 200, "wires": [ [ "41e11e07a32918a5", "39df053a83dd1fba", "a8f8972fcca98982", "7f4956edc8867b95", "4fa0f7929fdf5ddf" ] ] }, { "id": "9bc253a01a47fc47", "type": "http request", "z": "9fae6a4f07359a53", "name": "Brightness", "method": "POST", "ret": "txt", "paytoqs": "ignore", "url": "<your sisyphus IP>:3002/sisbot/set_brightness", "tls": "", "persist": false, "proxy": "", "insecureHTTPParser": false, "authType": "", "senderr": false, "headers": [], "x": 670, "y": 420, "wires": [ [ "38fa7a64f8e3342d" ] ] }, { "id": "38fa7a64f8e3342d", "type": "json", "z": "9fae6a4f07359a53", "name": "", "property": "payload", "action": "", "pretty": false, "x": 830, "y": 420, "wires": [ [ "c2e66511672b15ad" ] ] }, { "id": "af36a800b4bc3cf9", "type": "ui_slider", "z": "9fae6a4f07359a53", "name": "", "label": "Licht", "tooltip": "", "group": "6554eaffa3deadf7", "order": 0, "width": 0, "height": 0, "passthru": false, "outs": "end", "topic": "topic", "topicType": "msg", "min": 0, "max": "100", "step": "5", "className": "", "x": 170, "y": 420, "wires": [ [ "40a03d00d8309ebb" ] ] }, { "id": "40a03d00d8309ebb", "type": "change", "z": "9fae6a4f07359a53", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "{\"data\":{\"value\": payload / 100 }}", "tot": "jsonata" }, { "t": "move", "p": "payload", "pt": "msg", "to": "payload.data", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 350, "y": 420, "wires": [ [ "9bc253a01a47fc47" ] ] }, { "id": "39df053a83dd1fba", "type": "change", "z": "9fae6a4f07359a53", "name": "Brightness?", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "payload.resp[0].brightness", "tot": "msg" }, { "t": "set", "p": "payload", "pt": "msg", "to": "$number(payload * 100)", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 990, "y": 220, "wires": [ [ "de60c524a09d4ed9", "d775e7cc56dbeac6" ] ] }, { "id": "63f2f9f64b897f20", "type": "http request", "z": "9fae6a4f07359a53", "name": "Play", "method": "POST", "ret": "txt", "paytoqs": "ignore", "url": "<your sisyphus IP>:3002/sisbot/play", "tls": "", "persist": false, "proxy": "", "insecureHTTPParser": false, "authType": "", "senderr": false, "headers": [], "x": 670, "y": 520, "wires": [ [ "6b0dd9ecaa2e6638" ] ] }, { "id": "9075a0b57341fafe", "type": "ui_switch", "z": "9fae6a4f07359a53", "name": "", "label": "Bewegung", "tooltip": "", "group": "6554eaffa3deadf7", "order": 1, "width": 0, "height": 0, "passthru": false, "decouple": "true", "topic": "topic", "topicType": "msg", "style": "", "onvalue": "true", "onvalueType": "bool", "onicon": "", "oncolor": "", "offvalue": "false", "offvalueType": "bool", "officon": "", "offcolor": "", "animate": false, "className": "", "x": 190, "y": 560, "wires": [ [ "9b345ce68657d103" ] ] }, { "id": "9b345ce68657d103", "type": "switch", "z": "9fae6a4f07359a53", "name": "", "property": "payload", "propertyType": "msg", "rules": [ { "t": "true" }, { "t": "false" } ], "checkall": "true", "repair": false, "outputs": 2, "x": 330, "y": 560, "wires": [ [ "c7ae165f5a97da02" ], [ "26d88f94f53e2873" ] ] }, { "id": "1cdd2ca370b02943", "type": "http request", "z": "9fae6a4f07359a53", "name": "Pause", "method": "POST", "ret": "txt", "paytoqs": "ignore", "url": "<your sisyphus IP>:3002/sisbot/pause", "tls": "", "persist": false, "proxy": "", "insecureHTTPParser": false, "authType": "", "senderr": false, "headers": [], "x": 670, "y": 580, "wires": [ [ "7194fd74f010df06" ] ] }, { "id": "c7ae165f5a97da02", "type": "change", "z": "9fae6a4f07359a53", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "{\"data\":{}}", "tot": "jsonata" }, { "t": "move", "p": "payload", "pt": "msg", "to": "payload.data", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 510, "y": 540, "wires": [ [ "63f2f9f64b897f20" ] ] }, { "id": "26d88f94f53e2873", "type": "change", "z": "9fae6a4f07359a53", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "{\"data\":{}}", "tot": "jsonata" }, { "t": "move", "p": "payload", "pt": "msg", "to": "payload.data", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 510, "y": 580, "wires": [ [ "1cdd2ca370b02943" ] ] }, { "id": "a8f8972fcca98982", "type": "change", "z": "9fae6a4f07359a53", "name": "Playing?", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "payload.resp[0].state", "tot": "msg" }, { "t": "set", "p": "payload", "pt": "msg", "to": "$boolean(payload=\"playing\")", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 980, "y": 140, "wires": [ [ "220b9afe727d6406", "6d7b734893d635eb" ] ] }, { "id": "a08c778833c866a8", "type": "http request", "z": "9fae6a4f07359a53", "name": "Sleep", "method": "POST", "ret": "txt", "paytoqs": "ignore", "url": "<your sisyphus IP>:3002/sisbot/sleep_sisbot", "tls": "", "persist": false, "proxy": "", "insecureHTTPParser": false, "authType": "", "senderr": false, "headers": [], "x": 690, "y": 700, "wires": [ [ "cda674dd875afcac" ] ] }, { "id": "49d0ad8faaf2927e", "type": "ui_switch", "z": "9fae6a4f07359a53", "name": "", "label": "Schlafen", "tooltip": "", "group": "6554eaffa3deadf7", "order": 1, "width": 0, "height": 0, "passthru": false, "decouple": "true", "topic": "topic", "topicType": "msg", "style": "", "onvalue": "true", "onvalueType": "bool", "onicon": "", "oncolor": "", "offvalue": "false", "offvalueType": "bool", "officon": "", "offcolor": "", "animate": false, "className": "", "x": 200, "y": 740, "wires": [ [ "14949e5be26a1b5a" ] ] }, { "id": "14949e5be26a1b5a", "type": "switch", "z": "9fae6a4f07359a53", "name": "", "property": "payload", "propertyType": "msg", "rules": [ { "t": "true" }, { "t": "false" } ], "checkall": "true", "repair": false, "outputs": 2, "x": 350, "y": 740, "wires": [ [ "8bb186b210998b1b" ], [ "ae950e9992906e3b" ] ] }, { "id": "1d7febeaa33334d8", "type": "http request", "z": "9fae6a4f07359a53", "name": "Wake", "method": "POST", "ret": "txt", "paytoqs": "ignore", "url": "<your sisyphus IP>:3002/sisbot/wake_sisbot", "tls": "", "persist": false, "proxy": "", "insecureHTTPParser": false, "authType": "", "senderr": false, "headers": [], "x": 690, "y": 760, "wires": [ [ "92f657b08207954d" ] ] }, { "id": "8bb186b210998b1b", "type": "change", "z": "9fae6a4f07359a53", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "{\"data\":{}}", "tot": "jsonata" }, { "t": "move", "p": "payload", "pt": "msg", "to": "payload.data", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 530, "y": 720, "wires": [ [ "a08c778833c866a8" ] ] }, { "id": "ae950e9992906e3b", "type": "change", "z": "9fae6a4f07359a53", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "{\"data\":{}}", "tot": "jsonata" }, { "t": "move", "p": "payload", "pt": "msg", "to": "payload.data", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 530, "y": 760, "wires": [ [ "1d7febeaa33334d8" ] ] }, { "id": "7f4956edc8867b95", "type": "change", "z": "9fae6a4f07359a53", "name": "Sleeping?", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "payload.resp[0].is_sleeping", "tot": "msg" }, { "t": "set", "p": "payload", "pt": "msg", "to": "$boolean(payload=\"true\")", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 980, "y": 60, "wires": [ [ "580b3e169655659f", "12d3c0aafa98ed16" ] ] }, { "id": "a15ad883eefaadd1", "type": "ui_slider", "z": "9fae6a4f07359a53", "name": "", "label": "Speed", "tooltip": "", "group": "6554eaffa3deadf7", "order": 0, "width": 0, "height": 0, "passthru": false, "outs": "end", "topic": "topic", "topicType": "msg", "min": 0, "max": "100", "step": "5", "className": "", "x": 190, "y": 880, "wires": [ [ "4c05864808a3bc6d" ] ] }, { "id": "4c05864808a3bc6d", "type": "change", "z": "9fae6a4f07359a53", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "{\"data\":{\"value\": payload / 100 }}", "tot": "jsonata" }, { "t": "move", "p": "payload", "pt": "msg", "to": "payload.data", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 370, "y": 880, "wires": [ [ "caef962c763c04c3" ] ] }, { "id": "caef962c763c04c3", "type": "http request", "z": "9fae6a4f07359a53", "name": "Speed", "method": "POST", "ret": "txt", "paytoqs": "ignore", "url": "<your sisyphus IP>:3002/sisbot/set_speed", "tls": "", "persist": false, "proxy": "", "insecureHTTPParser": false, "authType": "", "senderr": false, "headers": [], "x": 650, "y": 880, "wires": [ [ "79ae20d6129a2c45" ] ] }, { "id": "4fa0f7929fdf5ddf", "type": "change", "z": "9fae6a4f07359a53", "name": "Speed?", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "payload.resp[0].speed", "tot": "msg" }, { "t": "set", "p": "payload", "pt": "msg", "to": "$number(payload * 100)", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 980, "y": 300, "wires": [ [ "5285e529645679cf", "d0d6e0221218181e" ] ] }, { "id": "580b3e169655659f", "type": "change", "z": "9fae6a4f07359a53", "name": "Context: Sleeping", "rules": [ { "t": "set", "p": "Sleeping", "pt": "flow", "to": "payload", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1630, "y": 60, "wires": [ [] ] }, { "id": "220b9afe727d6406", "type": "change", "z": "9fae6a4f07359a53", "name": "Context: Playing", "rules": [ { "t": "set", "p": "Playing", "pt": "flow", "to": "payload", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1620, "y": 140, "wires": [ [] ] }, { "id": "de60c524a09d4ed9", "type": "change", "z": "9fae6a4f07359a53", "name": "Context: Brightness", "rules": [ { "t": "set", "p": "Brightness", "pt": "flow", "to": "payload", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1640, "y": 220, "wires": [ [] ] }, { "id": "5285e529645679cf", "type": "change", "z": "9fae6a4f07359a53", "name": "Context: Speed", "rules": [ { "t": "set", "p": "Speed", "pt": "flow", "to": "payload", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1620, "y": 300, "wires": [ [] ] }, { "id": "6b0dd9ecaa2e6638", "type": "json", "z": "9fae6a4f07359a53", "name": "", "property": "payload", "action": "", "pretty": false, "x": 830, "y": 520, "wires": [ [ "907d14755a4e2b83" ] ] }, { "id": "7194fd74f010df06", "type": "json", "z": "9fae6a4f07359a53", "name": "", "property": "payload", "action": "", "pretty": false, "x": 830, "y": 580, "wires": [ [ "907d14755a4e2b83" ] ] }, { "id": "cda674dd875afcac", "type": "json", "z": "9fae6a4f07359a53", "name": "", "property": "payload", "action": "", "pretty": false, "x": 830, "y": 700, "wires": [ [ "496506aff8f78d7a" ] ] }, { "id": "92f657b08207954d", "type": "json", "z": "9fae6a4f07359a53", "name": "", "property": "payload", "action": "", "pretty": false, "x": 830, "y": 760, "wires": [ [ "496506aff8f78d7a" ] ] }, { "id": "79ae20d6129a2c45", "type": "json", "z": "9fae6a4f07359a53", "name": "", "property": "payload", "action": "", "pretty": false, "x": 830, "y": 880, "wires": [ [ "15ea002c5786ea5b" ] ] }, { "id": "594eee43c3eab60c", "type": "change", "z": "9fae6a4f07359a53", "name": "", "rules": [ { "t": "move", "p": "payload.resp[0].state", "pt": "msg", "to": "payload", "tot": "msg" }, { "t": "set", "p": "payload", "pt": "msg", "to": "$boolean(payload=\"playing\")", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1170, "y": 500, "wires": [ [ "859f5f1de2609321" ] ] }, { "id": "907d14755a4e2b83", "type": "switch", "z": "9fae6a4f07359a53", "name": "", "property": "payload.resp", "propertyType": "msg", "rules": [ { "t": "istype", "v": "array", "vt": "array" }, { "t": "istype", "v": "object", "vt": "object" } ], "checkall": "true", "repair": false, "outputs": 2, "x": 970, "y": 520, "wires": [ [ "594eee43c3eab60c" ], [ "97facbf16990ec80" ] ], "outputLabels": [ "Array", "Object" ] }, { "id": "97facbf16990ec80", "type": "change", "z": "9fae6a4f07359a53", "name": "", "rules": [ { "t": "move", "p": "payload.resp.state", "pt": "msg", "to": "payload", "tot": "msg" }, { "t": "set", "p": "payload", "pt": "msg", "to": "$boolean(payload=\"playing\")", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1170, "y": 540, "wires": [ [ "859f5f1de2609321" ] ] }, { "id": "859f5f1de2609321", "type": "switch", "z": "9fae6a4f07359a53", "name": "", "property": "payload", "propertyType": "msg", "rules": [ { "t": "neq", "v": "Playing", "vt": "flow" }, { "t": "else" } ], "checkall": "true", "repair": false, "outputs": 2, "x": 1370, "y": 520, "wires": [ [ "a73e29bd6ee47346", "220b9afe727d6406" ], [] ] }, { "id": "a73e29bd6ee47346", "type": "link out", "z": "9fae6a4f07359a53", "name": "Playing", "mode": "link", "links": [ "12a89f7554683b42" ], "x": 1465, "y": 520, "wires": [] }, { "id": "12a89f7554683b42", "type": "link in", "z": "9fae6a4f07359a53", "name": "link in 1", "links": [ "a73e29bd6ee47346", "6d7b734893d635eb" ], "x": 45, "y": 560, "wires": [ [ "9075a0b57341fafe", "013ed6cf796b5671" ] ] }, { "id": "c2b55d5f0d228713", "type": "change", "z": "9fae6a4f07359a53", "name": "", "rules": [ { "t": "move", "p": "payload.resp[0].is_sleeping", "pt": "msg", "to": "payload", "tot": "msg" }, { "t": "set", "p": "payload", "pt": "msg", "to": "$boolean(payload=\"true\")", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1170, "y": 700, "wires": [ [ "cbc71c17cf020eec" ] ] }, { "id": "496506aff8f78d7a", "type": "switch", "z": "9fae6a4f07359a53", "name": "", "property": "payload.resp", "propertyType": "msg", "rules": [ { "t": "istype", "v": "array", "vt": "array" }, { "t": "istype", "v": "object", "vt": "object" } ], "checkall": "true", "repair": false, "outputs": 2, "x": 970, "y": 720, "wires": [ [ "c2b55d5f0d228713" ], [ "d42f3f175da994bc" ] ], "outputLabels": [ "Array", "Object" ] }, { "id": "d42f3f175da994bc", "type": "change", "z": "9fae6a4f07359a53", "name": "", "rules": [ { "t": "move", "p": "payload.resp.is_sleeping", "pt": "msg", "to": "payload", "tot": "msg" }, { "t": "set", "p": "payload", "pt": "msg", "to": "$boolean(payload=\"true\")", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1170, "y": 740, "wires": [ [ "cbc71c17cf020eec" ] ] }, { "id": "cbc71c17cf020eec", "type": "switch", "z": "9fae6a4f07359a53", "name": "", "property": "payload", "propertyType": "msg", "rules": [ { "t": "neq", "v": "Sleeping", "vt": "flow" }, { "t": "else" } ], "checkall": "true", "repair": false, "outputs": 2, "x": 1370, "y": 720, "wires": [ [ "330192bde4a80dbc", "580b3e169655659f" ], [] ] }, { "id": "330192bde4a80dbc", "type": "link out", "z": "9fae6a4f07359a53", "name": "link out 1", "mode": "link", "links": [ "af6ade35725d93ac" ], "x": 1495, "y": 700, "wires": [] }, { "id": "af6ade35725d93ac", "type": "link in", "z": "9fae6a4f07359a53", "name": "link in 2", "links": [ "330192bde4a80dbc", "12d3c0aafa98ed16" ], "x": 45, "y": 740, "wires": [ [ "49d0ad8faaf2927e", "d590150140f5f727" ] ] }, { "id": "15ea002c5786ea5b", "type": "change", "z": "9fae6a4f07359a53", "name": "", "rules": [ { "t": "move", "p": "payload.resp.speed", "pt": "msg", "to": "payload", "tot": "msg" }, { "t": "set", "p": "payload", "pt": "msg", "to": "$number(payload * 100)", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1010, "y": 880, "wires": [ [ "bfd0182b2ef26408" ] ] }, { "id": "bfd0182b2ef26408", "type": "switch", "z": "9fae6a4f07359a53", "name": "", "property": "payload", "propertyType": "msg", "rules": [ { "t": "neq", "v": "Speed", "vt": "flow" }, { "t": "else" } ], "checkall": "true", "repair": false, "outputs": 2, "x": 1190, "y": 880, "wires": [ [ "5285e529645679cf", "886a012c9c234912" ], [] ] }, { "id": "886a012c9c234912", "type": "link out", "z": "9fae6a4f07359a53", "name": "link out 2", "mode": "link", "links": [ "2fe116c6b58e03a8" ], "x": 1295, "y": 900, "wires": [] }, { "id": "2fe116c6b58e03a8", "type": "link in", "z": "9fae6a4f07359a53", "name": "link in 3", "links": [ "886a012c9c234912", "d0d6e0221218181e" ], "x": 45, "y": 880, "wires": [ [ "a15ad883eefaadd1", "289f7b79dd7ea6ac" ] ] }, { "id": "c2e66511672b15ad", "type": "change", "z": "9fae6a4f07359a53", "name": "", "rules": [ { "t": "move", "p": "payload.resp.brightness", "pt": "msg", "to": "payload", "tot": "msg" }, { "t": "set", "p": "payload", "pt": "msg", "to": "$number(payload * 100)", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1010, "y": 380, "wires": [ [ "b727ec1519b5a181" ] ] }, { "id": "b727ec1519b5a181", "type": "switch", "z": "9fae6a4f07359a53", "name": "", "property": "payload", "propertyType": "msg", "rules": [ { "t": "neq", "v": "Brightness", "vt": "flow" }, { "t": "else" } ], "checkall": "true", "repair": false, "outputs": 2, "x": 1190, "y": 380, "wires": [ [ "de60c524a09d4ed9", "579d6da71f12fe9c" ], [] ] }, { "id": "579d6da71f12fe9c", "type": "link out", "z": "9fae6a4f07359a53", "name": "link out 3", "mode": "link", "links": [ "4f409a4348c3336c" ], "x": 1285, "y": 400, "wires": [] }, { "id": "4f409a4348c3336c", "type": "link in", "z": "9fae6a4f07359a53", "name": "link in 4", "links": [ "579d6da71f12fe9c", "d775e7cc56dbeac6" ], "x": 45, "y": 420, "wires": [ [ "af36a800b4bc3cf9", "255652d54d50cada" ] ] }, { "id": "12d3c0aafa98ed16", "type": "link out", "z": "9fae6a4f07359a53", "name": "link out 4", "mode": "link", "links": [ "af6ade35725d93ac" ], "x": 1215, "y": 80, "wires": [] }, { "id": "6d7b734893d635eb", "type": "link out", "z": "9fae6a4f07359a53", "name": "link out 5", "mode": "link", "links": [ "12a89f7554683b42" ], "x": 1215, "y": 160, "wires": [] }, { "id": "d775e7cc56dbeac6", "type": "link out", "z": "9fae6a4f07359a53", "name": "link out 6", "mode": "link", "links": [ "4f409a4348c3336c" ], "x": 1215, "y": 240, "wires": [] }, { "id": "d0d6e0221218181e", "type": "link out", "z": "9fae6a4f07359a53", "name": "link out 7", "mode": "link", "links": [ "2fe116c6b58e03a8" ], "x": 1215, "y": 320, "wires": [] }, { "id": "a21293aba52b197e", "type": "homekit-service", "z": "9fae6a4f07359a53", "isParent": true, "hostType": "0", "bridge": "9ecbb87f3de9fb1b", "accessoryId": "", "parentService": "", "name": "Sisiphus Licht", "serviceName": "Lightbulb", "topic": "", "filter": false, "manufacturer": "NRCHKB", "model": "1.6.1", "serialNo": "Default Serial Number", "firmwareRev": "1.6.1", "hardwareRev": "1.6.1", "softwareRev": "1.6.1", "cameraConfigVideoProcessor": "ffmpeg", "cameraConfigSource": "", "cameraConfigStillImageSource": "", "cameraConfigMaxStreams": 2, "cameraConfigMaxWidth": 1280, "cameraConfigMaxHeight": 720, "cameraConfigMaxFPS": 10, "cameraConfigMaxBitrate": 300, "cameraConfigVideoCodec": "libx264", "cameraConfigAudioCodec": "libfdk_aac", "cameraConfigAudio": false, "cameraConfigPacketSize": 1316, "cameraConfigVerticalFlip": false, "cameraConfigHorizontalFlip": false, "cameraConfigMapVideo": "0:0", "cameraConfigMapAudio": "0:1", "cameraConfigVideoFilter": "scale=1280:720", "cameraConfigAdditionalCommandLine": "-tune zerolatency", "cameraConfigDebug": false, "cameraConfigSnapshotOutput": "disabled", "cameraConfigInterfaceName": "", "characteristicProperties": "{\"Brightness\":true}", "waitForSetupMsg": false, "outputs": 2, "x": 360, "y": 360, "wires": [ [ "e21fe521a2a12d15" ], [] ] }, { "id": "255652d54d50cada", "type": "function", "z": "9fae6a4f07359a53", "name": "Convert2input", "func": "var input = msg.payload;\nif (input < 101) {\n if (input < 1) {\n msg.payload = {\n \"On\": false\n }\n }\n else {\n msg.payload = {\n \"Brightness\": input,\n \"On\": true\n }\n }\n return msg;\n}", "outputs": 1, "timeout": 0, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 180, "y": 360, "wires": [ [ "a21293aba52b197e" ] ] }, { "id": "e21fe521a2a12d15", "type": "function", "z": "9fae6a4f07359a53", "name": "Convert2Value", "func": "var b = context.get('b') || 0;\nif (msg.payload.Brightness) {\n b = msg.payload.Brightness;\n context.set('b', b);\n msg.payload = b\n}\n\n// Uncomment lines 9 and 20 to prevent looping\nif (msg.hap.context !== undefined) {\n if (msg.payload.Brightness === 0) {\n msg.payload = 0\n }\n if (msg.payload.On === false) {\n msg.payload = 0\n }\n if (msg.payload.On === true) {\n msg.payload = b\n }\n return msg\n}", "outputs": 1, "timeout": 0, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 560, "y": 360, "wires": [ [ "40a03d00d8309ebb" ] ] }, { "id": "923f9781e64eae44", "type": "homekit-service", "z": "9fae6a4f07359a53", "isParent": true, "hostType": "0", "bridge": "9ecbb87f3de9fb1b", "accessoryId": "", "parentService": "", "name": "Sisiphus Geschwindigkeit", "serviceName": "Lightbulb", "topic": "", "filter": false, "manufacturer": "NRCHKB", "model": "1.6.1", "serialNo": "Default Serial Number", "firmwareRev": "1.6.1", "hardwareRev": "1.6.1", "softwareRev": "1.6.1", "cameraConfigVideoProcessor": "ffmpeg", "cameraConfigSource": "", "cameraConfigStillImageSource": "", "cameraConfigMaxStreams": 2, "cameraConfigMaxWidth": 1280, "cameraConfigMaxHeight": 720, "cameraConfigMaxFPS": 10, "cameraConfigMaxBitrate": 300, "cameraConfigVideoCodec": "libx264", "cameraConfigAudioCodec": "libfdk_aac", "cameraConfigAudio": false, "cameraConfigPacketSize": 1316, "cameraConfigVerticalFlip": false, "cameraConfigHorizontalFlip": false, "cameraConfigMapVideo": "0:0", "cameraConfigMapAudio": "0:1", "cameraConfigVideoFilter": "scale=1280:720", "cameraConfigAdditionalCommandLine": "-tune zerolatency", "cameraConfigDebug": false, "cameraConfigSnapshotOutput": "disabled", "cameraConfigInterfaceName": "", "characteristicProperties": "{\"Brightness\":true}", "waitForSetupMsg": false, "outputs": 2, "x": 390, "y": 820, "wires": [ [ "b15034ee034d525c" ], [] ] }, { "id": "289f7b79dd7ea6ac", "type": "function", "z": "9fae6a4f07359a53", "name": "Convert2input", "func": "var input = msg.payload;\nif (input < 101) {\n if (input < 1) {\n msg.payload = {\n \"On\": false\n }\n }\n else {\n msg.payload = {\n \"Brightness\": input,\n \"On\": true\n }\n }\n return msg;\n}", "outputs": 1, "timeout": 0, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 180, "y": 820, "wires": [ [ "923f9781e64eae44" ] ] }, { "id": "b15034ee034d525c", "type": "function", "z": "9fae6a4f07359a53", "name": "Convert2Value", "func": "var s = context.get('s') || 0;\nif (msg.payload.Brightness) {\n s = msg.payload.Brightness;\n context.set('s', s);\n msg.payload = s\n}\n\n// Uncomment lines 9 and 20 to prevent looping\nif (msg.hap.context !== undefined) {\n if (msg.payload.Brightness === 0) {\n msg.payload = 0\n }\n if (msg.payload.On === false) {\n msg.payload = 0\n }\n if (msg.payload.On === true) {\n msg.payload = s\n }\n return msg\n}", "outputs": 1, "timeout": 0, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 600, "y": 820, "wires": [ [ "4c05864808a3bc6d" ] ] }, { "id": "dd717e5993d34154", "type": "homekit-service", "z": "9fae6a4f07359a53", "isParent": true, "hostType": "0", "bridge": "9ecbb87f3de9fb1b", "accessoryId": "", "parentService": "", "name": "Sisiphus Bewegung", "serviceName": "Switch", "topic": "", "filter": false, "manufacturer": "NRCHKB", "model": "1.6.1", "serialNo": "Default Serial Number", "firmwareRev": "1.6.1", "hardwareRev": "1.6.1", "softwareRev": "1.6.1", "cameraConfigVideoProcessor": "ffmpeg", "cameraConfigSource": "", "cameraConfigStillImageSource": "", "cameraConfigMaxStreams": 2, "cameraConfigMaxWidth": 1280, "cameraConfigMaxHeight": 720, "cameraConfigMaxFPS": 10, "cameraConfigMaxBitrate": 300, "cameraConfigVideoCodec": "libx264", "cameraConfigAudioCodec": "libfdk_aac", "cameraConfigAudio": false, "cameraConfigPacketSize": 1316, "cameraConfigVerticalFlip": false, "cameraConfigHorizontalFlip": false, "cameraConfigMapVideo": "0:0", "cameraConfigMapAudio": "0:1", "cameraConfigVideoFilter": "scale=1280:720", "cameraConfigAdditionalCommandLine": "-tune zerolatency", "cameraConfigDebug": false, "cameraConfigSnapshotOutput": "disabled", "cameraConfigInterfaceName": "", "characteristicProperties": "{}", "waitForSetupMsg": false, "outputs": 2, "x": 360, "y": 480, "wires": [ [ "62d102a56184237f" ], [] ] }, { "id": "013ed6cf796b5671", "type": "function", "z": "9fae6a4f07359a53", "name": "Convert2input", "func": " var newMsg = {\n \"payload\": {\n \"On\": msg.payload\n }\n }\nreturn newMsg;", "outputs": 1, "timeout": 0, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 160, "y": 480, "wires": [ [ "dd717e5993d34154" ] ] }, { "id": "62d102a56184237f", "type": "change", "z": "9fae6a4f07359a53", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "payload.On", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 570, "y": 460, "wires": [ [ "9b345ce68657d103" ] ] }, { "id": "d590150140f5f727", "type": "function", "z": "9fae6a4f07359a53", "name": "Convert2input", "func": " var newMsg = {\n \"payload\": {\n \"On\": msg.payload\n }\n }\nreturn newMsg;", "outputs": 1, "timeout": 0, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 160, "y": 660, "wires": [ [ "4aa20118044ebd5c" ] ] }, { "id": "4aa20118044ebd5c", "type": "homekit-service", "z": "9fae6a4f07359a53", "isParent": true, "hostType": "0", "bridge": "9ecbb87f3de9fb1b", "accessoryId": "", "parentService": "", "name": "Sisiphus Schlafen", "serviceName": "Switch", "topic": "", "filter": false, "manufacturer": "NRCHKB", "model": "1.6.1", "serialNo": "Default Serial Number", "firmwareRev": "1.6.1", "hardwareRev": "1.6.1", "softwareRev": "1.6.1", "cameraConfigVideoProcessor": "ffmpeg", "cameraConfigSource": "", "cameraConfigStillImageSource": "", "cameraConfigMaxStreams": 2, "cameraConfigMaxWidth": 1280, "cameraConfigMaxHeight": 720, "cameraConfigMaxFPS": 10, "cameraConfigMaxBitrate": 300, "cameraConfigVideoCodec": "libx264", "cameraConfigAudioCodec": "libfdk_aac", "cameraConfigAudio": false, "cameraConfigPacketSize": 1316, "cameraConfigVerticalFlip": false, "cameraConfigHorizontalFlip": false, "cameraConfigMapVideo": "0:0", "cameraConfigMapAudio": "0:1", "cameraConfigVideoFilter": "scale=1280:720", "cameraConfigAdditionalCommandLine": "-tune zerolatency", "cameraConfigDebug": false, "cameraConfigSnapshotOutput": "disabled", "cameraConfigInterfaceName": "", "characteristicProperties": "{}", "waitForSetupMsg": false, "outputs": 2, "x": 350, "y": 660, "wires": [ [ "86f316975b609b6f" ], [] ] }, { "id": "86f316975b609b6f", "type": "change", "z": "9fae6a4f07359a53", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "payload.On", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 570, "y": 640, "wires": [ [ "14949e5be26a1b5a" ] ] }, { "id": "6554eaffa3deadf7", "type": "ui_group", "name": "Steuerung", "tab": "92d95ee4c013a822", "order": 1, "disp": true, "width": "6", "collapse": false, "className": "" }, { "id": "9ecbb87f3de9fb1b", "type": "homekit-bridge", "bridgeName": "NodeRedBridgeAdapter", "pinCode": "4813-2314", "port": "", "advertiser": "bonjour-hap", "allowInsecureRequest": false, "manufacturer": "NRCHKB", "model": "1.6.1", "serialNo": "Default Serial Number", "firmwareRev": "1.6.1", "hardwareRev": "1.6.1", "softwareRev": "1.6.1", "customMdnsConfig": false, "mdnsMulticast": true, "mdnsInterface": "", "mdnsPort": "", "mdnsIp": "", "mdnsTtl": "", "mdnsLoopback": true, "mdnsReuseAddr": true, "allowMessagePassthrough": true }, { "id": "92d95ee4c013a822", "type": "ui_tab", "name": "Sisyphus", "icon": "dashboard", "disabled": false, "hidden": false } ] Attachment : sisy-1.jpeg | |||||
| RE: Sisyphus Programming Guide - So far | 21 Relevance | 7 years ago | ddkengr | Community Tracks | |
| Thanks for the info... I have also found that the best WAy to convert xy to polar is by determining the offset angle between Point 1, and Point 2, and then adding (or subtracting that angle to the current theta angle (of Point 1) This is good because it does not matter "where" the Points are, and theta can be anything to start. (so if you start with a erase track that ends at theta 450, the code will continue from there at 450ish) Programatically it goes like this (btw concept taken from sisbot code models.js "angleBetween") Where X1Y1 is Point ... | |||||
| Tasker + Autovoice = Google Assistant control & Routines | 12 Relevance | 7 years ago | eyetropy | Other Development | |
| ... of your Sisyphus Set the IP address of the Sisyphus to fixed Tasker Task Set up (purchase may be required) In Tasker, create a 'HTTP Post' action for each Sisyphus task (I've Set pause, play, sleep and WAke) in Server:Port field: enter the sisyphus request, see the following documentation to determine what to put in (Thanks @safepassagedesign) and ensure you replace the IP address with the fixed address you Set for your table In the Data / File field: if X is listed in the documentation put {"data":X}, so if the documentation asks for {} enter {"data": ... | |||||
| set track path | 11 Relevance | 6 years ago | cooperlublin | Community Tracks | |
| Hello, I am wondering if there is any WAy to Set the path of a track without having to go into the list of coordinates. When I make a track in wintopo, put it through Sisyphusfortherestofus and import it to sandify, it picks its own path for the track. Most of the time, the path it selects is not one i would choose. Is there an easy WAy to Set the path yourself? Thanks! Coop | |||||
| Design Question on Base Orientation for Making Tracks | 8 Relevance | 7 years ago | crsolomon | Community Tracks | |
| Simple question on orientation of the designs that are not symmetric - what is the correct "top" Point to use as the bottom and top of the design? I assume that the 0,1 Point is the "top" of the table and base the design off that reference Point. I have seen in the tracks that are in the Library that there is a range of choices - the face and serpent designs have a different base than the sailboat. I have written programs that can output a design in any angle, but I wonder if there are "rules" that should be Set or followed. Any comments? | |||||
| App feature suggestions + bug | 9 Relevance | 7 years ago | tgattis | App Updates | |
| Overall, the app is pretty solid (I'm using Android), but there a few minor tweaks that would be nice improvements. 1) The ability to Set the pause interval between tracks on the playlist. I really like having it pause so I can admire the finished design, but I don't like having to open the app to hit Play for the next track every time. I'd prefer to Set the pause interval to a couple of hours, which is enough time for me to catch most of the finished designs without having to pull out the app several times a day to get it started again. 2) Lower priority, but would be nice: the ability to Set time windows for lights vs. no-lights (similar to Night Mode). Bright sunlight during the day makes the lights kinda irrelevant, and I'd prefer them to be off (do they burn out after a certain number of hours?), but I do like it brightly lit at night. 3) Testing/bug fix: on a Pixel 3 with Display-Font Size Setting Set to Largest (us older folks don't have the best reading vision, lol), some screens cut off the bottom, especially key buttons during the Set-up process, and the screen wouldn't scroll up. Giving every screen the ability to scroll up would solve the problem. Thanks for considering. Love the table! | |||||
| RE: set track path | 8 Relevance | 6 years ago | cooperlublin | Community Tracks | |
| Ahhh ok that makes sense. Thank you for the clarification! | |||||
| RE: set track path | 8 Relevance | 6 years ago | Bruce | Community Tracks | |
| ... complex problem (how do you make a single, continuous path through a large number of unordered path segments that touch each other). The only WAy to have absolute control of vertex order is to create the track by "hand" (draw it using vector software), or to use an algorithmic approach to making the Points that creates them in a specific order. | |||||
| RE: "Pause between tracks" | 7 Relevance | 8 years ago | cameron.meindl | Table Usage | |
| ... to Unpause the Sisyphus and have it start the new track. In the Flic app on your phone that the Bluetooth button connects to, Set up an Internet Request, Set the type to Post address Set to Unpause address>/sisbot/playPause address>/sisbot/pause Body is {"data":{}} content type is application/json Save it and now when you press the flic button you can unpause the Sisyphus and start the next track. Attachment : Screenshot_20180707-131505_Flic.jpg Where did you get the info on the webrequests? Is there a documentation for that? What ... | |||||
| RE: Question ref. track start points | 7 Relevance | 5 years ago | adambrower | Community Tracks | |
| No, the question concerns the relationship between the end Point of a track that ends at rho=1 and the start Point of the next track in a playlist. I WAnt to know what (if anything) determines the start Point of track 2 on the circle described by rho=1. Attachment : example.png | |||||
| RE: Track organization. | 7 Relevance | 6 years ago | heropup | App Usage | |
| @mdolfis: By design, the WAy tracks are played, there isn't a distinction between "center-edge" and "edge-center." Here's how it currently works, and this includes the erase pattern. If the next track to be played is "center-edge" or "edge-center," wherever the ball has ended, the table will automatically read the next track in forward or reverse order so as to not need to jump from edge to center or vice versa. So for example, if the current track ended at the edge, but the list of coordinates for the next track begins at the center and ends at the edge ... | |||||
| RE: Sisyphus Programming Guide - So far | 7 Relevance | 7 years ago | crsolomon | Community Tracks | |
| 1) I agree about the theta can be any value - I WAs trying to make the Point that start and end rho had to be the opposite of the starting value. I'll change that and since I make a Point of always erasing the board when I start a pattern (to get a clean pattern , theta for me always is zero. 2) I do realize that in essence there is only One type of command - just data pairs where the ball moves from one to the other. But anyone programming the table needs to be aware of the "jump" that occurs (and WAs illustrated in the document) if you make the d ... | |||||
| Erase track special case problems | 6 Relevance | 6 years ago | john.hughan | Table Usage | |
| ... to an enhancement request. I'm finding that the Erase track does not always play at double speed as it should. It seems to occur more often when it is played in reverse (outside in). Just after my most factory reset, I noticed that the standard direction played normally. But then I WAnted to play a "01" track on an erased canvas, so in order to force the Erase track to play in reverse, I created a playlist that contained my "MoveOut" track -- whose only instructions are "0 0" followed by "0 1", then an Erase track that would play in reverse, and then my ... | |||||
| RE: Sisyphus Programming Guide - So far | 6 Relevance | 7 years ago | dithermaster | Community Tracks | |
| Thanks Ray. Some notes on your document: This paragraph: "All Files must start with a 0,0 or 0,1 position. The end pair of numbers in the file must end with rho value opposite of the rho value in the first pair (if you start with a 0,0 you end with a theta, 0)" says three different and conflicting things. None of them are true. In fact, you must start with rho equal to 0 or 1. The theta values don't matter. The initial theta is treated as a "starting theta" and all subsequent thetas are relative to it. The ending theta does not need to be 0 or the starting theta. This note "There are 2 'types' of instructions that the table can understand based on the difference between the theta values in the next Set of instructions in the data Set." is also not strictly true. The table only has one type of instruction, and that's a theta,rho pair. It moves that ball to that new position, interpolating in polar coordinates to get there. That's all. There isn't anything special about an erase (except the filename, which makes it run faster). In my path generators some of them think in polar but convert to cartesian, and then all of them subdivide cartesian lines or bezier segments down until they are small enough and then output them as .thr polar. In that backend I also look for "too small" of polar movements and remove Points to keep file sizes down. The values I use for cartesian subdivison and polar Point removal are tuned to not make artifacts, but also not make too big of file. | |||||
| Daylight savings time not honored for night mode? | 5 Relevance | 7 years ago | EveryoneIsAnotherYou | Beta releases and bugs | |
| I'm running the latest firmware 1.10.54 and I noticed tonight that my table went to sleep at 11:00pm PT, exactly 1h before its Set sleep time of midnight. As daylight savings time just occurred ("spring forward, fall back") I think the table firmware isn't correctly honoring the sleep time and is Setting my table to sleep 60 minutes (on the dot) prior to the Set sleep time. Does the table also sync with an Internet time server? I'm not even seeing a place where I could Set the time or timezone if I WAnted to. | |||||
| RE: Option to reverse RGBW color rho? | 5 Relevance | 6 years ago | belross | App Updates | |
| Yeah that's pretty much what I figured happened hehe. I simply removed the original LED strip and put the NeoPixels in their place in the same orientation, including the connectors. At this Point it would be a big hassle to remove, flip, and re-adhere the NeoPixels. I'd rather try SSHing and fiddling with the code myself if that's an option. Could someone please Point me in the direction of SSH instructions/login credentials? I've seen a few posts mention it but haven't found anything concrete. | |||||
| RE: Very not smooth movements. Getting worse over time. :( | 6 Relevance | 7 years ago | jessicarunnels | Table Usage | |
| ... along the WAy, the table dropped off my home network and couldn't be found / would have trouble being found via browser or app. Ultimately, I have had to unplug the table altogether to get it back on the network. Often when the browser or app would be searching for the table, it would stutter again, but usually once it connected it would behave normally. I always assumed this WAs just standard behavior (I see the same kind of pausing of movement when uploading tracks), but now it is stuttering all the time even when I am not trying to access it via browser ... | |||||
| Sisyphus Update 1.12.25 | 5 Relevance | 2 years ago | matt2 | App Updates | |
| Version 1.12.25 is out, with updates to the apps (1.12.36) as well. I'm particularly happy with the new LED pattern. Ripples is a bit like WAtching a pond where your ball is a pond-skater. When the ball changes directions or hits the edge, it makes a WAve across the sand field. Smoother tracks have a smoother surface, busy tracks make for WAvy pond. Let me know what you think of it: Which tracks look best with it? Sisyphus 1.12.25 update includes: New LED pattern: Ripples Bug fix for DNS errors Queue: bug fix for reordering tracks and inserting addition ... | |||||
| Lost Connectivity after flashing new firmware. | 5 Relevance | 6 years ago | richard_saada | Connectivity | |
| ... I can find for identifying what table you have. Is my original kickstarter table a 36" coffee table? A 36" Servo? I guessed 36" coffee table, but who knows? This would be a useful info to have on the reflash page for when it tells you to Set the config file. So I got the chip back in, and rebooted, connected to the table's wifi, did the advanced config to Set the table type, and Set the information to connect to my home WIFI. The machine restarted, and now I'm stuck. The app can't find it while scanning. My Unifi router shows it's connected and give me ... | |||||
Page 1 / 5
Next
We take your privacy seriously and will only use your personal information to provide you with the products and services you request from us. Please see our privacy policy for more details.