Updated README
This commit is contained in:
parent
4c62133378
commit
ee971ebace
1 changed files with 86 additions and 0 deletions
86
README.md
86
README.md
|
@ -198,6 +198,86 @@ tts:
|
||||||
|
|
||||||
You can also run custom shell commands on the target machine through the `shell` plugin, that requires (for now) no configuration.
|
You can also run custom shell commands on the target machine through the `shell` plugin, that requires (for now) no configuration.
|
||||||
|
|
||||||
|
### Procedures
|
||||||
|
|
||||||
|
Procedures are sequences of actions that will be executed in parallel or in series (*TODO*) by Platypush. Useful to refactor sequences of repeated actions in your requests or event hooks. Their configuration names start with `procedure.`.
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
procedure.at_home:
|
||||||
|
-
|
||||||
|
action: tts.say
|
||||||
|
args:
|
||||||
|
phrase: Welcome home, YOUR_NAME
|
||||||
|
-
|
||||||
|
action: light.hue.on
|
||||||
|
-
|
||||||
|
action: switch.wemo.on
|
||||||
|
args:
|
||||||
|
device: Heater
|
||||||
|
-
|
||||||
|
action: music.mpd.play
|
||||||
|
args:
|
||||||
|
resource: spotify:user:you:playlist:your_favourite_playlist
|
||||||
|
-
|
||||||
|
action: shell.exec
|
||||||
|
args:
|
||||||
|
cmd: './bin/sensors_report.sh'
|
||||||
|
```
|
||||||
|
|
||||||
|
### Event Hooks
|
||||||
|
|
||||||
|
Event hooks are one of the most powerful features of Platypush. They are the equivalent of a profile in Tasker, or a recipe in IFTTT. They link events received on the main bus to actions that can be triggered on the local or on a remote node. Events will usually be ignored unless you configured a hook for handling them. Their configuration names start with `event.hook.`.
|
||||||
|
|
||||||
|
Some examples:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
event.hook.AssistantConversationStarted:
|
||||||
|
if:
|
||||||
|
type: platypush.message.event.assistant.ConversationStartEvent
|
||||||
|
then:
|
||||||
|
-
|
||||||
|
action: shell.exec
|
||||||
|
args:
|
||||||
|
cmd: 'aplay /usr/share/sounds/start.wav'
|
||||||
|
|
||||||
|
|
||||||
|
event.hook.LightsSceneAssistantCommand:
|
||||||
|
if:
|
||||||
|
type: platypush.message.event.assistant.SpeechRecognizedEvent
|
||||||
|
# Note: regex support (still quite experimental though) and support for
|
||||||
|
# parsing context variables out of the trigger event, that can be used
|
||||||
|
# in the executed actions. Context variables names start with $
|
||||||
|
# (escape it with \ if you want to use the literal symbol instead).
|
||||||
|
# The context variables already include the variables of the source event,
|
||||||
|
# meaning that you can use $phrase as well in your action for this example.
|
||||||
|
phrase: "set (the)? scene on $name"
|
||||||
|
then:
|
||||||
|
-
|
||||||
|
action: light.hue.scene
|
||||||
|
args:
|
||||||
|
# If you said "set the scene on sunset", $name=sunset
|
||||||
|
name: $name
|
||||||
|
|
||||||
|
|
||||||
|
event.hook.NextSongFlicButton:
|
||||||
|
if:
|
||||||
|
type: platypush.message.event.button.flic.FlicButtonEvent
|
||||||
|
btn_addr: 00:11:22:33:44:55
|
||||||
|
sequence:
|
||||||
|
# Lists are supported too
|
||||||
|
- ShortPressEvent
|
||||||
|
- LongPressEvent
|
||||||
|
then:
|
||||||
|
-
|
||||||
|
action: music.mpd.next
|
||||||
|
# You can also specify multiple actions
|
||||||
|
-
|
||||||
|
action: media.ctrl.forward
|
||||||
|
# Or procedures
|
||||||
|
-
|
||||||
|
action: procedure.your_proc
|
||||||
|
```
|
||||||
|
|
||||||
Shell interface
|
Shell interface
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
|
@ -239,6 +319,12 @@ pusher --target raspberry --action switch.wemo.on
|
||||||
pusher --target raspberry --action light.hue.scene --name "Sunset" --group "Living Room"
|
pusher --target raspberry --action light.hue.scene --name "Sunset" --group "Living Room"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
* `procedure`:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
pusher --target raspberry --action procedure.at_home
|
||||||
|
```
|
||||||
|
|
||||||
Writing your plugins
|
Writing your plugins
|
||||||
--------------------
|
--------------------
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue