Skip to content

Instantly share code, notes, and snippets.

@natcl

natcl/README.md Secret

Last active May 7, 2016 20:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save natcl/8fecf9da4f041d7c55b8c6d129931177 to your computer and use it in GitHub Desktop.
Save natcl/8fecf9da4f041d7c55b8c6d129931177 to your computer and use it in GitHub Desktop.
Control iTunes from Node-RED using JavaScript for Automation

This flow allows you to use JavaScript for Automation within Node-RED and control any OS X application that supports it. In this example we toggle iTune's play/pause control.

Any script you would code in Apple's Script Editor (in JavaScript mode) can be entered in the template node.

[{"id":"e219ad98.1de65","type":"subflow","name":"AppleScriptJS","info":"","in":[{"x":95.00000381469727,"y":44.50000476837158,"wires":[{"id":"696f15a7.9690ec"}]}],"out":[{"x":540,"y":40,"wires":[{"id":"777ac03c.88854","port":0}]},{"x":540,"y":100,"wires":[{"id":"777ac03c.88854","port":1},{"id":"777ac03c.88854","port":2}]}]},{"id":"777ac03c.88854","type":"exec","z":"e219ad98.1de65","command":"osascript -l JavaScript -e ","addpay":true,"append":"","useSpawn":"","name":"osascriptJS","x":377.00000381469727,"y":44.00000476837158,"wires":[[],[],[]]},{"id":"696f15a7.9690ec","type":"function","z":"e219ad98.1de65","name":"","func":"msg.payload = `\"${msg.payload}\"`\nreturn msg;","outputs":1,"noerr":0,"x":225.00000381469727,"y":44.50000476837158,"wires":[["777ac03c.88854"]]},{"id":"1fabca00.e05436","type":"template","z":"1a6c15d.fe593ea","name":"","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"iTunes = Application('iTunes');\niTunes.playpause();","x":270,"y":880,"wires":[["719a078c.8e65f8"]]},{"id":"719a078c.8e65f8","type":"subflow:e219ad98.1de65","z":"1a6c15d.fe593ea","name":"","x":440,"y":880,"wires":[[],[]]},{"id":"20c06107.df3f9e","type":"inject","z":"1a6c15d.fe593ea","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"x":120,"y":880,"wires":[["1fabca00.e05436"]]}]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment