summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormakefu <github@syntax-fehler.de>2020-04-21 21:35:59 +0200
committermakefu <github@syntax-fehler.de>2020-04-21 21:35:59 +0200
commit8fb99675fb4e813accee6c3258160f6cb7059cb8 (patch)
tree5226dc235da5b08a7a3bfd8d874b3bbd0137097a
parent91d94ddbb7ce6e211e79122da3e7f7a1193d582c (diff)
ma ham/the_playlist: init
-rw-r--r--makefu/2configs/ham/default.nix3
-rw-r--r--makefu/2configs/ham/multi/the_playlist.nix57
2 files changed, 60 insertions, 0 deletions
diff --git a/makefu/2configs/ham/default.nix b/makefu/2configs/ham/default.nix
index 6b2867c2..ddcf65b5 100644
--- a/makefu/2configs/ham/default.nix
+++ b/makefu/2configs/ham/default.nix
@@ -50,6 +50,8 @@ in {
logger = {
default = "info";
};
+ rest_command = {}
+ // the_playlist.rest_command;
tts = [
{ platform = "google_translate";
language = "de";
@@ -142,6 +144,7 @@ in {
++ (import ./automation/firetv_restart.nix)
++ kurzzeitwecker.automation
#++ flurlicht.automation
+ ++ the_playlist.automation
++ zigbee.automation;
script =
{ }
diff --git a/makefu/2configs/ham/multi/the_playlist.nix b/makefu/2configs/ham/multi/the_playlist.nix
index aa5ce85d..ad090938 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";