diff options
author | lassulus <lassulus@lassul.us> | 2020-04-22 08:11:49 +0200 |
---|---|---|
committer | lassulus <lassulus@lassul.us> | 2020-04-22 08:11:49 +0200 |
commit | d23fa4802edf7835c68de1fcce08d7b2643c9d48 (patch) | |
tree | a5a6c9ac4eec2a33bf6768c009abec210f6d5bca /makefu/2configs/ham/multi/the_playlist.nix | |
parent | 8b6e3b79315bdb70504674a61ea2c209e460e50e (diff) | |
parent | 2b33dd262f1cb934b41c23ec9bed47aaa76ba7b8 (diff) |
Merge remote-tracking branch 'gum/20.03' into 20.03
Diffstat (limited to 'makefu/2configs/ham/multi/the_playlist.nix')
-rw-r--r-- | makefu/2configs/ham/multi/the_playlist.nix | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/makefu/2configs/ham/multi/the_playlist.nix b/makefu/2configs/ham/multi/the_playlist.nix index aa5ce85dc..ad090938c 100644 --- a/makefu/2configs/ham/multi/the_playlist.nix +++ b/makefu/2configs/ham/multi/the_playlist.nix @@ -1,9 +1,66 @@ +# Inputs: +# binary_sensor.playlist_button_good +# binary_sensor.playlist_button_bad + +# outputs +# rest_command +# automation +# sensor { + rest_command = { + good_song = { + url = "http://prism.r:8001/good"; + method = "POST"; + }; + bad_song = { + url = "http://prism.r:8001/skip"; + method = "POST"; + }; + }; + automation = [ + { + alias = "playlist song publish"; + trigger = { + #platform = "event"; + #event_data.entity_id = "sensor.the_playlist_song"; + platform = "state"; + entity_id = "sensor.the_playlist_song"; + }; + action = { + service = "mqtt.publish"; + data = { + topic = "/ham/the_playlist/song"; + payload_template = "{{ states.sensor.the_playlist_song.state }}"; + }; + }; + } + { + alias = "playlist upvote on button"; + trigger = { + platform = "state"; + entity_id = "binary_sensor.playlist_button_good"; + from = "off"; + to = "on"; + }; + action.service = "rest_command.good_song"; + } + { + alias = "playlist downvote on button"; + trigger = { + platform = "state"; + entity_id = "binary_sensor.playlist_button_bad"; + from = "off"; + to = "on"; + }; + action.service = "rest_command.bad_song"; + } + ]; sensor = [ { platform = "rest"; name = "pl"; resource = "http://prism.r:8001/current"; scan_interval = 30; + value_template = "1"; json_attributes = [ "name" "filename" "youtube" ]; } { platform = "template"; |