Hi
Still learning, I trying to create a remote test application where I can toggle the I/O's on an external device using a Rpi which so far is going well. The simple switch and on/off buttons is working fine and was a good intro.
But for the the automatic switching the chart is displaying two separate lines. I'm trying to figure out how to get a single line. Any idea's?
My code so far is here.
[{"id":"92c9a219.972d7","type":"dsm","z":"7f79a8fd.2964d8","name":"blinking","sm_config":"{\n \"currentState\": \"idle\",\n \"states\": {\n \"idle\": {\n \"start\": \"on\",\n \"stop\": \"idle\"\n },\n \"on\": {\n \"turn_off\": \"off\",\n \"stop\": \"idle\"\n },\n \"off\": {\n \"turn_on\": \"on\",\n \"stop\": \"idle\"\n }\n },\n \"data\": {\n \"on\": 1,\n \"off\": 0,\n \"on_time\": 2000,\n \"off_time\": 2000,\n \"blinks\": \"continuing\",\n \"count\": 0\n },\n \"methods\": {\n \n \"setOn\": [\n\t\t\"sm.data.on_time = msg.payload;\",\n\t\t\"sm.fill = 'blue';\",\n\t\t\"sm.text = 'On time = '+sm.data.on;\"\n\t\t],\n\t\t\"setOff\": [\n\t\t\"sm.data.off_time = msg.payload;\",\n\t\t\"sm.fill = 'purple';\"\n\t\t],\n \"init\": [\n \"sm.schedule = function(tran, delay, msg) {\",\n \" timeout.id = setTimeout(function() {\",\n \" resume(tran, msg)\",\n \" },delay);\",\n \"};\",\n \"sta.fill = 'grey';\"\n ],\n \"onBeforeTransition\": [\n \"if (!msg.topic) msg.topic = 'start';\",\n \"if (msg.blinks) sm.data.blinks = msg.blinks;\",\n \"if (msg.on_time) sm.data.on_time = msg.on_time;\",\n \"if (msg.off_time) sm.data.off_time = msg.off_time;\"\n ],\n \"start\": [\n \"sm.data.count = sm.data.blinks;\",\n \"resume('turn_on', msg);\",\n \"output = false;\"\n ],\n \"turn_on\": [\n \"if (sm.data.count) {\",\n \" sm.schedule('turn_off', sm.data.on_time, msg);\",\n \" if(sm.data.blinks !== 'continuing') sm.data.count--;\",\n \" sm.fill = 'green';\",\n \" msg.payload = sm.data.on;\",\n \" output = true;\",\n \"} else {\",\n \" sm.currentState = 'idle';\",\n \" sm.fill = 'grey';\",\n \" output = false;\",\n \"}\"\n ],\n \"turn_off\": [\n \"sm.schedule('turn_on', sm.data.off_time, msg);\",\n \"sm.fill = 'red';\",\n \"msg.payload = sm.data.off;\"\n ],\n \"stop\": [\n \"clearTimeout(timeout.id);\",\n \"sm.fill = 'red';\",\n \"msg.payload = sm.data.off;\"\n ],\n \"status\": {\n \"fill\": {\n \"get\": \"sm.fill;\"\n },\n \"shape\": \"dot\",\n \"text\": {\n \"get\": \"sm.currentState;\"\n }\n }\n }\n}","x":1540,"y":140,"wires":[["4f6b7b5e.cb3a34","76d67a20.bed444"]]},{"id":"362b0416.37f27c","type":"inject","z":"7f79a8fd.2964d8","name":"","topic":"stop","payload":"","payloadType":"str","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":1320,"y":160,"wires":[["92c9a219.972d7"]]},{"id":"6c703d91.b92384","type":"inject","z":"7f79a8fd.2964d8","name":"","topic":"start","payload":"","payloadType":"str","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":1320,"y":120,"wires":[["92c9a219.972d7"]]},{"id":"11f47898.4ce3c7","type":"ui_button","z":"7f79a8fd.2964d8","name":"","group":"dbfb559b.006638","order":1,"width":1,"height":1,"passthru":false,"label":"On","tooltip":"","color":"","bgcolor":"","icon":"","payload":"","payloadType":"str","topic":"start","x":1320,"y":20,"wires":[["92c9a219.972d7"]]},{"id":"f1922118.3b239","type":"ui_button","z":"7f79a8fd.2964d8","name":"","group":"dbfb559b.006638","order":2,"width":1,"height":1,"passthru":false,"label":"Off","tooltip":"","color":"","bgcolor":"red","icon":"","payload":"","payloadType":"str","topic":"stop","x":1320,"y":60,"wires":[["92c9a219.972d7"]]},{"id":"4f6b7b5e.cb3a34","type":"ui_chart","z":"7f79a8fd.2964d8","name":"","group":"dbfb559b.006638","order":3,"width":10,"height":4,"label":"chart I/O 3","chartType":"line","legend":"false","xformat":"HH:mm:ss","interpolate":"linear","nodata":"","dot":true,"ymin":"","ymax":"","removeOlder":"10","removeOlderPoints":"","removeOlderUnit":"86400","cutout":0,"useOneColor":false,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"useOldStyle":false,"outputs":1,"x":1720,"y":140,"wires":[[]]},{"id":"b163281f.82f738","type":"ui_text_input","z":"7f79a8fd.2964d8","name":"","label":"On Time","tooltip":"","group":"dbfb559b.006638","order":4,"width":2,"height":1,"passthru":true,"mode":"text","delay":"0","topic":"setOn","x":1030,"y":240,"wires":[["63a60d37.210c14"]]},{"id":"6b8e0493.a294dc","type":"function","z":"7f79a8fd.2964d8","name":"","func":"msg.payload *= 60000;\nreturn msg;","outputs":1,"noerr":0,"x":1340,"y":240,"wires":[["92c9a219.972d7"]]},{"id":"63a60d37.210c14","type":"change","z":"7f79a8fd.2964d8","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"$number(payload)","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":1190,"y":240,"wires":[["6b8e0493.a294dc"]]},{"id":"13deee38.d9e842","type":"function","z":"7f79a8fd.2964d8","name":"","func":"msg.payload *= 60000;\nreturn msg;","outputs":1,"noerr":0,"x":1340,"y":300,"wires":[["92c9a219.972d7","8e8ec056.f86bf"]]},{"id":"7512720b.603fec","type":"change","z":"7f79a8fd.2964d8","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"$number(payload)","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":1190,"y":300,"wires":[["13deee38.d9e842","a21b55b9.f90b88"]]},{"id":"76d67a20.bed444","type":"rpi-gpio out","z":"7f79a8fd.2964d8","name":"","pin":"7","set":"","level":"0","freq":"","out":"out","x":1710,"y":100,"wires":[]},{"id":"9ee9f99f.3fc6d8","type":"ui_text_input","z":"7f79a8fd.2964d8","name":"","label":"Off Time","tooltip":"","group":"dbfb559b.006638","order":5,"width":2,"height":1,"passthru":true,"mode":"text","delay":"0","topic":"setOff","x":1020,"y":300,"wires":[["7512720b.603fec"]]},{"id":"a21b55b9.f90b88","type":"debug","z":"7f79a8fd.2964d8","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":1500,"y":340,"wires":[]},{"id":"8e8ec056.f86bf","type":"debug","z":"7f79a8fd.2964d8","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":1500,"y":380,"wires":[]},{"id":"dbfb559b.006638","type":"ui_group","z":"","name":"I/O 3","tab":"7bc03c24.5ef4a4","order":3,"disp":true,"width":12,"collapse":false},{"id":"7bc03c24.5ef4a4","type":"ui_tab","z":"","name":"Automated Controls","icon":"fa-cogs","order":5}]