node-red-contrib-dsm
Version:
A dynamic state machine node based on the finite state machine model.
3 lines (1 loc) • 2.04 kB
JSON
[{"id":"59443222.e893fc","type":"dsm","z":"895bbff8.0e6c4","name":"skelekton","sm_config":"{\n \"currentState\": \"state1\",\n \"states\": {\n \"state1\": {\n \"transition2\": \"state2\"\n },\n \"state2\": {\n \"transition1\": \"state1\",\n \"transition3\": \"state3\"\n },\n \"state3\": {\n \"transition1\": \"state1\",\n \"transition2\": \"state2\"\n }\n },\n \"data\": {\n \"name1\": null,\n \"name2\": \"my value\",\n \"name3\": 5000\n },\n \"methods\": {\n\t\t\"init\": [\n\t\t\t\"sm.hostname = require('os').hostname();\",\n\t\t\t\"sm.exec = require('child_process').exec;\"\n\t\t],\n \"default\": [\n \"msg.payload = sm.currentState;\",\n \"output = true;\"\n ],\n \"onBeforeTransition\": [\n ],\n \"onTransition\": [\n ], \n \"transition1\": [\n ],\n \"reset\": [\n \"sm.fill = 'grey';\",\n \"sm.text = 'reset';\",\n \"output = false;\"\n ],\n \"status\": {\n \"fill\": {\n \"get\": \"sm.fill || 'blue';\"\n },\n \"shape\": \"dot\",\n \"text\": {\n \"get\": \"sm.text || 'dummy';\"\n }\n }\n }\n}","x":350,"y":220,"wires":[["542296e.45ffa68"]]},{"id":"542296e.45ffa68","type":"debug","z":"895bbff8.0e6c4","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":530,"y":220,"wires":[]},{"id":"ea109384.e92d2","type":"inject","z":"895bbff8.0e6c4","name":"","topic":"","payload":"","payloadType":"str","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":150,"y":220,"wires":[["59443222.e893fc"]]},{"id":"5f03f5c2.3a52dc","type":"inject","z":"895bbff8.0e6c4","name":"","topic":"reset","payload":"","payloadType":"str","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":150,"y":260,"wires":[["59443222.e893fc"]]}]