Changed automations to pyscript

This commit is contained in:
Martin Bauer 2021-10-05 11:22:27 +00:00
parent a0e498edeb
commit ab2ab9f9d7
27 changed files with 496 additions and 2592 deletions

4
.gitignore vendored
View File

@ -3,6 +3,7 @@ __pycache__
node_modules
/tts
/deps
/blueprints
/home-assistant.log
# Generated files
/groups.yaml
@ -12,4 +13,5 @@ node_modules
/www/community/
/custom_components/hacs
/custom_components/scheduler
/custom_components/pyscript
/themes

View File

@ -1,136 +0,0 @@
# ------ Einschalten ---------------
- alias: EsszimmerRadio Oben an
trigger:
# Switch on when pushing play or power
- platform: event
event_type: ir_command_received
event_data:
button_name: key_play
repeat_counter: 0
host: esszimmerradio.fritz.box
- platform: event
event_type: ir_command_received
event_data:
button_name: key_power
repeat_counter: 0
host: esszimmerradio.fritz.box
# Switch on when pressing any number button
- platform: event
event_type: ir_command_received
event_data:
button_name: btn_1
repeat_counter: 0
host: esszimmerradio.fritz.box
- platform: event
event_type: ir_command_received
event_data:
button_name: btn_2
repeat_counter: 0
host: esszimmerradio.fritz.box
- platform: event
event_type: ir_command_received
event_data:
button_name: btn_3
repeat_counter: 0
host: esszimmerradio.fritz.box
- platform: event
event_type: ir_command_received
event_data:
button_name: btn_4
repeat_counter: 0
host: esszimmerradio.fritz.box
- platform: event
event_type: ir_command_received
event_data:
button_name: btn_5
repeat_counter: 0
host: esszimmerradio.fritz.box
- platform: event
event_type: ir_command_received
event_data:
button_name: btn_6
repeat_counter: 0
host: esszimmerradio.fritz.box
- platform: event
event_type: ir_command_received
event_data:
button_name: btn_7
repeat_counter: 0
host: esszimmerradio.fritz.box
- platform: event
event_type: ir_command_received
event_data:
button_name: btn_8
repeat_counter: 0
host: esszimmerradio.fritz.box
- platform: event
event_type: ir_command_received
event_data:
button_name: btn_9
repeat_counter: 0
host: esszimmerradio.fritz.box
action:
service: switch.turn_on
data:
entity_id: switch.esszimmer_oben_radio_steckdose1
# ------ Ausschalten ---------------
- alias: EsszimmerRadio Oben aus
trigger:
# Switch off when pushing goto or pause
- platform: event
event_type: ir_command_received
event_data:
button_name: key_goto
repeat_counter: 0
host: esszimmerradio.fritz.box
- platform: event
event_type: ir_command_received
event_data:
button_name: key_pause
repeat_counter: 0
host: esszimmerradio.fritz.box
action:
- service: switch.turn_off
data:
entity_id: switch.esszimmer_oben_radio_steckdose1
- service: media_player.media_stop
data:
entity_id: media_player.esszimmer
- alias: Radio Stop
trigger:
- platform: event
event_type: ir_command_received
event_data:
button_name: key_stop
repeat_counter: 0
host: esszimmerradio.fritz.box
- platform: event
event_type: ir_command_received
event_data:
button_name: key_pause
repeat_counter: 0
host: esszimmerradio.fritz.box
action:
service: media_player.turn_off
data:
entity_id: media_player.esszimmer
# ------ Squeezelite neustart ---------------
- alias: EsszimmerRadio oben squeezelite neustart
trigger:
- platform: event
event_type: ir_command_received
event_data:
button_name: key_record
repeat_counter: 0
host: esszimmerradio.fritz.box
action:
service: sysdweb.restart
data:
hostname: esszimmerradio.fritz.box
service_name: squeezelite

View File

@ -1,652 +0,0 @@
# Dont' edit manually! this is generated!
- alias: IR bedroompi.fritz.box btn_1
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: btn_1
repeat_counter: 0
host: bedroompi.fritz.box
action:
- service: media_player.shuffle_set
data:
shuffle: false
entity_id: media_player.bedroompi
- service: media_player.squeezebox_call_method
data:
command: playlist repeat 0
entity_id: media_player.bedroompi
- service: media_player.squeezebox_call_method
data:
command: playerpref transitionType 0
entity_id: media_player.bedroompi
- service: media_player.play_media
data:
media_content_id: Good Morning
media_content_type: music
entity_id: media_player.bedroompi
- alias: IR bedroompi.fritz.box btn_2
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: btn_2
repeat_counter: 0
host: bedroompi.fritz.box
action:
- service: media_player.shuffle_set
data:
shuffle: false
entity_id: media_player.bedroompi
- service: media_player.squeezebox_call_method
data:
command: playlist repeat 0
entity_id: media_player.bedroompi
- service: media_player.squeezebox_call_method
data:
command: playerpref transitionType 0
entity_id: media_player.bedroompi
- service: media_player.play_media
data:
media_content_id: Good Night Long
media_content_type: music
entity_id: media_player.bedroompi
- alias: IR bedroompi.fritz.box btn_3
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: btn_3
repeat_counter: 0
host: bedroompi.fritz.box
action:
- service: media_player.shuffle_set
data:
shuffle: false
entity_id: media_player.bedroompi
- service: media_player.squeezebox_call_method
data:
command: playlist repeat 0
entity_id: media_player.bedroompi
- service: media_player.squeezebox_call_method
data:
command: playerpref transitionType 0
entity_id: media_player.bedroompi
- service: media_player.play_media
data:
media_content_id: Good Night
media_content_type: music
entity_id: media_player.bedroompi
- alias: IR bedroompi.fritz.box btn_4
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: btn_4
repeat_counter: 0
host: bedroompi.fritz.box
action:
- service: media_player.shuffle_set
data:
shuffle: false
entity_id: media_player.bedroompi
- service: media_player.squeezebox_call_method
data:
command: playlist repeat 0
entity_id: media_player.bedroompi
- service: media_player.squeezebox_call_method
data:
command: playerpref transitionType 0
entity_id: media_player.bedroompi
- service: media_player.play_media
data:
media_content_id: Bar Classics
media_content_type: music
entity_id: media_player.bedroompi
- alias: IR bedroompi.fritz.box btn_5
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: btn_5
repeat_counter: 0
host: bedroompi.fritz.box
action:
- service: media_player.shuffle_set
data:
shuffle: false
entity_id: media_player.bedroompi
- service: media_player.squeezebox_call_method
data:
command: playlist repeat 0
entity_id: media_player.bedroompi
- service: media_player.squeezebox_call_method
data:
command: playerpref transitionType 0
entity_id: media_player.bedroompi
- service: media_player.play_media
data:
media_content_id: Sentimental Moods
media_content_type: music
entity_id: media_player.bedroompi
- alias: IR bedroompi.fritz.box btn_6
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: btn_6
repeat_counter: 0
host: bedroompi.fritz.box
action:
- service: media_player.shuffle_set
data:
shuffle: false
entity_id: media_player.bedroompi
- service: media_player.squeezebox_call_method
data:
command: playlist repeat 0
entity_id: media_player.bedroompi
- service: media_player.squeezebox_call_method
data:
command: playerpref transitionType 0
entity_id: media_player.bedroompi
- service: media_player.play_media
data:
media_content_id: Pop
media_content_type: music
entity_id: media_player.bedroompi
- alias: IR bedroompi.fritz.box btn_7
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: btn_7
repeat_counter: 0
host: bedroompi.fritz.box
action:
service: media_player.play_media
data:
media_content_id: B 5 aktuell
media_content_type: channel
entity_id: media_player.bedroompi
- alias: IR bedroompi.fritz.box btn_8
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: btn_8
repeat_counter: 0
host: bedroompi.fritz.box
action:
service: media_player.play_media
data:
media_content_id: BR-Klassik
media_content_type: channel
entity_id: media_player.bedroompi
- alias: IR bedroompi.fritz.box btn_9
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: btn_9
repeat_counter: 0
host: bedroompi.fritz.box
action:
- service: media_player.shuffle_set
data:
shuffle: false
entity_id: media_player.bedroompi
- service: media_player.squeezebox_call_method
data:
command: playlist repeat 0
entity_id: media_player.bedroompi
- service: media_player.squeezebox_call_method
data:
command: playerpref transitionType 0
entity_id: media_player.bedroompi
- service: media_player.play_media
data:
media_content_id: http://opml.radiotime.com/Tune.ashx?id=s25028&formats=aac,ogg,mp3
media_content_type: music
entity_id: media_player.bedroompi
- alias: IR bedroompi.fritz.box key_numeric_star
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_numeric_star
repeat_counter: 0
host: bedroompi.fritz.box
action:
- service: media_player.repeat_set
data:
repeat: one
entity_id: media_player.bedroompi
- service: media_player.squeezebox_call_method
data:
command: playerpref transitionType 1
entity_id: media_player.bedroompi
- service: media_player.play_media
data:
media_content_id: Foen
media_content_type: music
entity_id: media_player.bedroompi
- service: media_player.volume_set
data:
volume_level: 60
entity_id: media_player.bedroompi
- alias: IR bedroompi.fritz.box btn_0
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: btn_0
repeat_counter: 0
host: bedroompi.fritz.box
action:
service: media_player.play_media
data:
media_content_id: Bayern 3
media_content_type: channel
entity_id: media_player.bedroompi
- alias: IR bedroompi.fritz.box key_numeric_pound
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_numeric_pound
repeat_counter: 0
host: bedroompi.fritz.box
action:
service: media_player.play_media
data:
media_content_id: Bayern 2
media_content_type: channel
entity_id: media_player.bedroompi
- alias: IR bedroompi.fritz.box key_red
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_red
repeat_counter: 0
host: bedroompi.fritz.box
action:
service: scene.turn_on
data:
entity_id: scene.schlafzimmer_stillen
- alias: IR bedroompi.fritz.box key_green
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_green
repeat_counter: 0
host: bedroompi.fritz.box
action:
service: scene.turn_on
data:
entity_id: scene.schlafzimmer_orange
- alias: IR bedroompi.fritz.box key_yellow
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_yellow
repeat_counter: 0
host: bedroompi.fritz.box
action:
service: scene.turn_on
data:
entity_id: scene.schlafzimmer_ganz_hell
- alias: IR bedroompi.fritz.box key_blue
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_blue
repeat_counter: 0
host: bedroompi.fritz.box
action:
service: scene.turn_on
data:
entity_id: scene.nachtswennallelieberschlafen
- alias: IR bedroompi.fritz.box key_tv
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_tv
repeat_counter: 0
host: bedroompi.fritz.box
action:
- service: script.turn_on
data:
variables:
media_content_id: spotify:playlist:37i9dQZF1DXbcPC6Vvqudd
light_off_secs: 900
music_off_secs: 2700
shuffle: 1
entity_id: script.timed_sleep
- alias: IR bedroompi.fritz.box key_video
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_video
repeat_counter: 0
host: bedroompi.fritz.box
action:
- service: script.turn_on
data:
variables:
media_content_id: Good Night
light_off_secs: 900
music_off_secs: 2700
shuffle: 0
entity_id: script.timed_sleep
- alias: IR bedroompi.fritz.box key_music
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_music
repeat_counter: 0
host: bedroompi.fritz.box
action:
- service: script.turn_on
data:
variables:
media_content_id: spotify:playlist:37i9dQZF1DXbcPC6Vvqudd
light_off_secs: 300
music_off_secs: 1200
shuffle: 1
entity_id: script.timed_sleep
- alias: IR bedroompi.fritz.box key_pictures
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_pictures
repeat_counter: 0
host: bedroompi.fritz.box
action:
- service: script.turn_on
data:
variables:
media_content_id: Good Night
light_off_secs: 300
music_off_secs: 1200
shuffle: 0
entity_id: script.timed_sleep
- alias: IR bedroompi.fritz.box key_power
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_power
repeat_counter: 0
host: bedroompi.fritz.box
action:
- service: media_player.media_pause
data:
entity_id: media_player.bedroompi
- service: light.turn_off
data:
entity_id: group.bedroom
- alias: IR bedroompi.fritz.box key_ok
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_ok
repeat_counter: 0
host: bedroompi.fritz.box
action:
- service: cover.close_cover
data:
entity_id: cover.schlafzimmer_rollo_gross
- service: cover_half.set_half
data:
entity_id: cover.schlafzimmer_rollo_klein
- alias: IR bedroompi.fritz.box key_mute
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_mute
repeat_counter: 0
host: bedroompi.fritz.box
action:
- service: light.turn_off
data:
entity_id: group.all_downstairs_but_bedroom_and_outside
- alias: IR bedroompi.fritz.box key_channel
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_channel
repeat_counter: 0
host: bedroompi.fritz.box
action:
- service: light.turn_off
data:
entity_id: group.all_downstairs_but_bedroom
- alias: IR bedroompi.fritz.box Rollo auf
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_up
repeat_counter: 0
host: bedroompi.fritz.box
action:
service: cover.open_cover
data:
entity_id: group.bedroom
- alias: IR bedroompi.fritz.box Rollo zu
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_down
repeat_counter: 0
host: bedroompi.fritz.box
action:
service: cover.close_cover
data:
entity_id: group.bedroom
- alias: IR bedroompi.fritz.box Rollo halb
trigger:
- platform: event
event_type: ir_command_received
event_data:
button_name: key_left
repeat_counter: 0
host: bedroompi.fritz.box
- platform: event
event_type: ir_command_received
event_data:
button_name: key_right
repeat_counter: 0
host: bedroompi.fritz.box
action:
service: cover_half.set_half
data:
entity_id: group.bedroom
- alias: IR bedroompi.fritz.box Licht heller
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_channelup
repeat_counter: 0
host: bedroompi.fritz.box
action:
service: dimmer.dim
data:
offset: 30
entity_id: group.bedroom
- alias: IR bedroompi.fritz.box Licht dunkler
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_channeldown
repeat_counter: 0
host: bedroompi.fritz.box
action:
service: dimmer.dim
data:
offset: -30
entity_id: group.bedroom
- alias: IR bedroompi.fritz.box Licht viel heller
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_menu
repeat_counter: 0
host: bedroompi.fritz.box
action:
service: dimmer.dim
data:
offset: 130
entity_id: group.bedroom
- alias: IR bedroompi.fritz.box Licht viel dunkler
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_stop
repeat_counter: 0
host: bedroompi.fritz.box
action:
service: dimmer.dim
data:
offset: -130
entity_id: group.bedroom
- alias: IR bedroompi.fritz.box Licht aus
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_goto
repeat_counter: 0
host: bedroompi.fritz.box
action:
service: light.turn_off
data:
entity_id: group.bedroom
- alias: IR bedroompi.fritz.box Musik Play
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_play
repeat_counter: 0
host: bedroompi.fritz.box
action:
service: media_player.media_play_pause
data:
entity_id: media_player.bedroompi
- alias: IR bedroompi.fritz.box Musik Pause
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_pause
repeat_counter: 0
host: bedroompi.fritz.box
action:
service: media_player.turn_off
data:
entity_id: media_player.bedroompi
- alias: IR bedroompi.fritz.box Musik Next
trigger:
- platform: event
event_type: ir_command_received
event_data:
button_name: key_forward
repeat_counter: 0
host: bedroompi.fritz.box
- platform: event
event_type: ir_command_received
event_data:
button_name: key_fastforward
repeat_counter: 0
host: bedroompi.fritz.box
action:
service: media_player.media_next_track
data:
entity_id: media_player.bedroompi
- alias: IR bedroompi.fritz.box Musik Prev
trigger:
- platform: event
event_type: ir_command_received
event_data:
button_name: key_previous
repeat_counter: 0
host: bedroompi.fritz.box
- platform: event
event_type: ir_command_received
event_data:
button_name: key_rewind
repeat_counter: 0
host: bedroompi.fritz.box
action:
service: media_player.media_next_track
data:
entity_id: media_player.bedroompi
- alias: IR bedroompi.fritz.box Vol Up
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_volumeup
repeat_counter: 0
host: bedroompi.fritz.box
action:
service: media_player.volume_up
data:
entity_id: media_player.bedroompi
- alias: IR bedroompi.fritz.box Vol Down
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_volumedown
repeat_counter: 0
host: bedroompi.fritz.box
action:
service: media_player.volume_down
data:
entity_id: media_player.bedroompi
- alias: IR bedroompi.fritz.box Shuffle On
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_menu
repeat_counter: 0
host: bedroompi.fritz.box
action:
service: media_player.shuffle_set
data:
shuffle: true
entity_id: media_player.bedroompi
- alias: IR bedroompi.fritz.box Shuffle Off
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_exit
repeat_counter: 0
host: bedroompi.fritz.box
action:
service: media_player.shuffle_set
data:
shuffle: false
entity_id: media_player.bedroompi

View File

@ -1,352 +0,0 @@
# Dont' edit manually! this is generated!
- alias: IR esszimmerradio.fritz.box btn_1
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: btn_1
repeat_counter: 0
host: esszimmerradio.fritz.box
action:
service: media_player.play_media
data:
media_content_id: Bayern 1
media_content_type: channel
entity_id: media_player.esszimmer
- alias: IR esszimmerradio.fritz.box btn_2
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: btn_2
repeat_counter: 0
host: esszimmerradio.fritz.box
action:
service: media_player.play_media
data:
media_content_id: Bayern 2
media_content_type: channel
entity_id: media_player.esszimmer
- alias: IR esszimmerradio.fritz.box btn_3
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: btn_3
repeat_counter: 0
host: esszimmerradio.fritz.box
action:
service: media_player.play_media
data:
media_content_id: BR Heimat
media_content_type: channel
entity_id: media_player.esszimmer
- alias: IR esszimmerradio.fritz.box btn_4
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: btn_4
repeat_counter: 0
host: esszimmerradio.fritz.box
action:
service: media_player.play_media
data:
media_content_id: Bayern+
media_content_type: channel
entity_id: media_player.esszimmer
- alias: IR esszimmerradio.fritz.box btn_5
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: btn_5
repeat_counter: 0
host: esszimmerradio.fritz.box
action:
service: media_player.play_media
data:
media_content_id: B 5 Aktuell
media_content_type: channel
entity_id: media_player.esszimmer
- alias: IR esszimmerradio.fritz.box btn_6
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: btn_6
repeat_counter: 0
host: esszimmerradio.fritz.box
action:
service: media_player.play_media
data:
media_content_id: BR-Klassik
media_content_type: channel
entity_id: media_player.esszimmer
- alias: IR esszimmerradio.fritz.box btn_7
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: btn_7
repeat_counter: 0
host: esszimmerradio.fritz.box
action:
- service: media_player.shuffle_set
data:
shuffle: false
entity_id: media_player.esszimmer
- service: media_player.squeezebox_call_method
data:
command: playlist repeat 0
entity_id: media_player.esszimmer
- service: media_player.squeezebox_call_method
data:
command: playerpref transitionType 0
entity_id: media_player.esszimmer
- service: media_player.play_media
data:
media_content_id: Gesammelte Weihnachtslieder
media_content_type: music
entity_id: media_player.esszimmer
- alias: IR esszimmerradio.fritz.box btn_8
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: btn_8
repeat_counter: 0
host: esszimmerradio.fritz.box
action:
- service: media_player.shuffle_set
data:
shuffle: false
entity_id: media_player.esszimmer
- service: media_player.squeezebox_call_method
data:
command: playlist repeat 0
entity_id: media_player.esszimmer
- service: media_player.squeezebox_call_method
data:
command: playerpref transitionType 0
entity_id: media_player.esszimmer
- service: media_player.play_media
data:
media_content_id: Harmonic Brass Christmas
media_content_type: music
entity_id: media_player.esszimmer
- alias: IR esszimmerradio.fritz.box btn_9
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: btn_9
repeat_counter: 0
host: esszimmerradio.fritz.box
action:
- service: media_player.shuffle_set
data:
shuffle: false
entity_id: media_player.esszimmer
- service: media_player.squeezebox_call_method
data:
command: playlist repeat 0
entity_id: media_player.esszimmer
- service: media_player.squeezebox_call_method
data:
command: playerpref transitionType 0
entity_id: media_player.esszimmer
- service: media_player.play_media
data:
media_content_id: German Brass Christmas
media_content_type: music
entity_id: media_player.esszimmer
- alias: IR esszimmerradio.fritz.box key_numeric_star
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_numeric_star
repeat_counter: 0
host: esszimmerradio.fritz.box
action:
- service: media_player.shuffle_set
data:
shuffle: false
entity_id: media_player.esszimmer
- service: media_player.squeezebox_call_method
data:
command: playlist repeat 0
entity_id: media_player.esszimmer
- service: media_player.squeezebox_call_method
data:
command: playerpref transitionType 0
entity_id: media_player.esszimmer
- service: media_player.play_media
data:
media_content_id: Weihnachten mit den Wiener Sängerknaben
media_content_type: music
entity_id: media_player.esszimmer
- alias: IR esszimmerradio.fritz.box btn_0
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: btn_0
repeat_counter: 0
host: esszimmerradio.fritz.box
action:
- service: media_player.shuffle_set
data:
shuffle: false
entity_id: media_player.esszimmer
- service: media_player.squeezebox_call_method
data:
command: playlist repeat 0
entity_id: media_player.esszimmer
- service: media_player.squeezebox_call_method
data:
command: playerpref transitionType 0
entity_id: media_player.esszimmer
- service: media_player.play_media
data:
media_content_id: Weihnachten mit den Wiener Sängerknaben
media_content_type: music
entity_id: media_player.esszimmer
- alias: IR esszimmerradio.fritz.box key_numeric_pound
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_numeric_pound
repeat_counter: 0
host: esszimmerradio.fritz.box
action:
- service: media_player.shuffle_set
data:
shuffle: false
entity_id: media_player.esszimmer
- service: media_player.squeezebox_call_method
data:
command: playlist repeat 0
entity_id: media_player.esszimmer
- service: media_player.squeezebox_call_method
data:
command: playerpref transitionType 0
entity_id: media_player.esszimmer
- service: media_player.play_media
data:
media_content_id: SammlungGeorg
media_content_type: music
entity_id: media_player.esszimmer
- alias: IR esszimmerradio.fritz.box Musik Play
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_play
repeat_counter: 0
host: esszimmerradio.fritz.box
action:
service: media_player.media_play_pause
data:
entity_id: media_player.esszimmer
- alias: IR esszimmerradio.fritz.box Musik Pause
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_pause
repeat_counter: 0
host: esszimmerradio.fritz.box
action:
service: media_player.turn_off
data:
entity_id: media_player.esszimmer
- alias: IR esszimmerradio.fritz.box Musik Next
trigger:
- platform: event
event_type: ir_command_received
event_data:
button_name: key_forward
repeat_counter: 0
host: esszimmerradio.fritz.box
- platform: event
event_type: ir_command_received
event_data:
button_name: key_fastforward
repeat_counter: 0
host: esszimmerradio.fritz.box
action:
service: media_player.media_next_track
data:
entity_id: media_player.esszimmer
- alias: IR esszimmerradio.fritz.box Musik Prev
trigger:
- platform: event
event_type: ir_command_received
event_data:
button_name: key_previous
repeat_counter: 0
host: esszimmerradio.fritz.box
- platform: event
event_type: ir_command_received
event_data:
button_name: key_rewind
repeat_counter: 0
host: esszimmerradio.fritz.box
action:
service: media_player.media_next_track
data:
entity_id: media_player.esszimmer
- alias: IR esszimmerradio.fritz.box Vol Up
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_volumeup
repeat_counter: 0
host: esszimmerradio.fritz.box
action:
service: media_player.volume_up
data:
entity_id: media_player.esszimmer
- alias: IR esszimmerradio.fritz.box Vol Down
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_volumedown
repeat_counter: 0
host: esszimmerradio.fritz.box
action:
service: media_player.volume_down
data:
entity_id: media_player.esszimmer
- alias: IR esszimmerradio.fritz.box Shuffle On
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_menu
repeat_counter: 0
host: esszimmerradio.fritz.box
action:
service: media_player.shuffle_set
data:
shuffle: true
entity_id: media_player.esszimmer
- alias: IR esszimmerradio.fritz.box Shuffle Off
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_exit
repeat_counter: 0
host: esszimmerradio.fritz.box
action:
service: media_player.shuffle_set
data:
shuffle: false
entity_id: media_player.esszimmer

View File

@ -1,352 +0,0 @@
# Dont' edit manually! this is generated!
- alias: IR musikserverWohnzimmerOben.fritz.box btn_1
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: btn_1
repeat_counter: 0
host: musikserverWohnzimmerOben.fritz.box
action:
service: media_player.play_media
data:
media_content_id: Bayern 1
media_content_type: channel
entity_id: media_player.wohnzimmer
- alias: IR musikserverWohnzimmerOben.fritz.box btn_2
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: btn_2
repeat_counter: 0
host: musikserverWohnzimmerOben.fritz.box
action:
service: media_player.play_media
data:
media_content_id: Bayern 2
media_content_type: channel
entity_id: media_player.wohnzimmer
- alias: IR musikserverWohnzimmerOben.fritz.box btn_3
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: btn_3
repeat_counter: 0
host: musikserverWohnzimmerOben.fritz.box
action:
service: media_player.play_media
data:
media_content_id: BR Heimat
media_content_type: channel
entity_id: media_player.wohnzimmer
- alias: IR musikserverWohnzimmerOben.fritz.box btn_4
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: btn_4
repeat_counter: 0
host: musikserverWohnzimmerOben.fritz.box
action:
service: media_player.play_media
data:
media_content_id: Bayern+
media_content_type: channel
entity_id: media_player.wohnzimmer
- alias: IR musikserverWohnzimmerOben.fritz.box btn_5
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: btn_5
repeat_counter: 0
host: musikserverWohnzimmerOben.fritz.box
action:
service: media_player.play_media
data:
media_content_id: B 5 Aktuell
media_content_type: channel
entity_id: media_player.wohnzimmer
- alias: IR musikserverWohnzimmerOben.fritz.box btn_6
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: btn_6
repeat_counter: 0
host: musikserverWohnzimmerOben.fritz.box
action:
service: media_player.play_media
data:
media_content_id: BR-Klassik
media_content_type: channel
entity_id: media_player.wohnzimmer
- alias: IR musikserverWohnzimmerOben.fritz.box btn_7
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: btn_7
repeat_counter: 0
host: musikserverWohnzimmerOben.fritz.box
action:
- service: media_player.shuffle_set
data:
shuffle: false
entity_id: media_player.wohnzimmer
- service: media_player.squeezebox_call_method
data:
command: playlist repeat 0
entity_id: media_player.wohnzimmer
- service: media_player.squeezebox_call_method
data:
command: playerpref transitionType 0
entity_id: media_player.wohnzimmer
- service: media_player.play_media
data:
media_content_id: Gesammelte Weihnachtslieder
media_content_type: music
entity_id: media_player.wohnzimmer
- alias: IR musikserverWohnzimmerOben.fritz.box btn_8
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: btn_8
repeat_counter: 0
host: musikserverWohnzimmerOben.fritz.box
action:
- service: media_player.shuffle_set
data:
shuffle: false
entity_id: media_player.wohnzimmer
- service: media_player.squeezebox_call_method
data:
command: playlist repeat 0
entity_id: media_player.wohnzimmer
- service: media_player.squeezebox_call_method
data:
command: playerpref transitionType 0
entity_id: media_player.wohnzimmer
- service: media_player.play_media
data:
media_content_id: Harmonic Brass Christmas
media_content_type: music
entity_id: media_player.wohnzimmer
- alias: IR musikserverWohnzimmerOben.fritz.box btn_9
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: btn_9
repeat_counter: 0
host: musikserverWohnzimmerOben.fritz.box
action:
- service: media_player.shuffle_set
data:
shuffle: false
entity_id: media_player.wohnzimmer
- service: media_player.squeezebox_call_method
data:
command: playlist repeat 0
entity_id: media_player.wohnzimmer
- service: media_player.squeezebox_call_method
data:
command: playerpref transitionType 0
entity_id: media_player.wohnzimmer
- service: media_player.play_media
data:
media_content_id: German Brass Christmas
media_content_type: music
entity_id: media_player.wohnzimmer
- alias: IR musikserverWohnzimmerOben.fritz.box key_numeric_star
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_numeric_star
repeat_counter: 0
host: musikserverWohnzimmerOben.fritz.box
action:
- service: media_player.shuffle_set
data:
shuffle: false
entity_id: media_player.wohnzimmer
- service: media_player.squeezebox_call_method
data:
command: playlist repeat 0
entity_id: media_player.wohnzimmer
- service: media_player.squeezebox_call_method
data:
command: playerpref transitionType 0
entity_id: media_player.wohnzimmer
- service: media_player.play_media
data:
media_content_id: Weihnachten mit den Wiener Sängerknaben
media_content_type: music
entity_id: media_player.wohnzimmer
- alias: IR musikserverWohnzimmerOben.fritz.box btn_0
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: btn_0
repeat_counter: 0
host: musikserverWohnzimmerOben.fritz.box
action:
- service: media_player.shuffle_set
data:
shuffle: false
entity_id: media_player.wohnzimmer
- service: media_player.squeezebox_call_method
data:
command: playlist repeat 0
entity_id: media_player.wohnzimmer
- service: media_player.squeezebox_call_method
data:
command: playerpref transitionType 0
entity_id: media_player.wohnzimmer
- service: media_player.play_media
data:
media_content_id: Weihnachten mit den Wiener Sängerknaben
media_content_type: music
entity_id: media_player.wohnzimmer
- alias: IR musikserverWohnzimmerOben.fritz.box key_numeric_pound
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_numeric_pound
repeat_counter: 0
host: musikserverWohnzimmerOben.fritz.box
action:
- service: media_player.shuffle_set
data:
shuffle: false
entity_id: media_player.wohnzimmer
- service: media_player.squeezebox_call_method
data:
command: playlist repeat 0
entity_id: media_player.wohnzimmer
- service: media_player.squeezebox_call_method
data:
command: playerpref transitionType 0
entity_id: media_player.wohnzimmer
- service: media_player.play_media
data:
media_content_id: SammlungGeorg
media_content_type: music
entity_id: media_player.wohnzimmer
- alias: IR musikserverWohnzimmerOben.fritz.box Musik Play
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_play
repeat_counter: 0
host: musikserverWohnzimmerOben.fritz.box
action:
service: media_player.media_play_pause
data:
entity_id: media_player.wohnzimmer
- alias: IR musikserverWohnzimmerOben.fritz.box Musik Pause
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_pause
repeat_counter: 0
host: musikserverWohnzimmerOben.fritz.box
action:
service: media_player.turn_off
data:
entity_id: media_player.wohnzimmer
- alias: IR musikserverWohnzimmerOben.fritz.box Musik Next
trigger:
- platform: event
event_type: ir_command_received
event_data:
button_name: key_forward
repeat_counter: 0
host: musikserverWohnzimmerOben.fritz.box
- platform: event
event_type: ir_command_received
event_data:
button_name: key_fastforward
repeat_counter: 0
host: musikserverWohnzimmerOben.fritz.box
action:
service: media_player.media_next_track
data:
entity_id: media_player.wohnzimmer
- alias: IR musikserverWohnzimmerOben.fritz.box Musik Prev
trigger:
- platform: event
event_type: ir_command_received
event_data:
button_name: key_previous
repeat_counter: 0
host: musikserverWohnzimmerOben.fritz.box
- platform: event
event_type: ir_command_received
event_data:
button_name: key_rewind
repeat_counter: 0
host: musikserverWohnzimmerOben.fritz.box
action:
service: media_player.media_next_track
data:
entity_id: media_player.wohnzimmer
- alias: IR musikserverWohnzimmerOben.fritz.box Vol Up
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_volumeup
repeat_counter: 0
host: musikserverWohnzimmerOben.fritz.box
action:
service: media_player.volume_up
data:
entity_id: media_player.wohnzimmer
- alias: IR musikserverWohnzimmerOben.fritz.box Vol Down
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_volumedown
repeat_counter: 0
host: musikserverWohnzimmerOben.fritz.box
action:
service: media_player.volume_down
data:
entity_id: media_player.wohnzimmer
- alias: IR musikserverWohnzimmerOben.fritz.box Shuffle On
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_menu
repeat_counter: 0
host: musikserverWohnzimmerOben.fritz.box
action:
service: media_player.shuffle_set
data:
shuffle: true
entity_id: media_player.wohnzimmer
- alias: IR musikserverWohnzimmerOben.fritz.box Shuffle Off
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_exit
repeat_counter: 0
host: musikserverWohnzimmerOben.fritz.box
action:
service: media_player.shuffle_set
data:
shuffle: false
entity_id: media_player.wohnzimmer

View File

@ -1,440 +0,0 @@
# Dont' edit manually! this is generated!
- alias: IR kitchenpi.fritz.box btn_4
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: btn_4
repeat_counter: 0
host: kitchenpi.fritz.box
action:
- service: media_player.shuffle_set
data:
shuffle: false
entity_id: media_player.kitchenpi
- service: media_player.squeezebox_call_method
data:
command: playlist repeat 0
entity_id: media_player.kitchenpi
- service: media_player.squeezebox_call_method
data:
command: playerpref transitionType 0
entity_id: media_player.kitchenpi
- service: media_player.play_media
data:
media_content_id: Bar Classics
media_content_type: music
entity_id: media_player.kitchenpi
- alias: IR kitchenpi.fritz.box btn_5
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: btn_5
repeat_counter: 0
host: kitchenpi.fritz.box
action:
- service: media_player.shuffle_set
data:
shuffle: false
entity_id: media_player.kitchenpi
- service: media_player.squeezebox_call_method
data:
command: playlist repeat 0
entity_id: media_player.kitchenpi
- service: media_player.squeezebox_call_method
data:
command: playerpref transitionType 0
entity_id: media_player.kitchenpi
- service: media_player.play_media
data:
media_content_id: Sentimental Moods
media_content_type: music
entity_id: media_player.kitchenpi
- alias: IR kitchenpi.fritz.box btn_6
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: btn_6
repeat_counter: 0
host: kitchenpi.fritz.box
action:
- service: media_player.shuffle_set
data:
shuffle: false
entity_id: media_player.kitchenpi
- service: media_player.squeezebox_call_method
data:
command: playlist repeat 0
entity_id: media_player.kitchenpi
- service: media_player.squeezebox_call_method
data:
command: playerpref transitionType 0
entity_id: media_player.kitchenpi
- service: media_player.play_media
data:
media_content_id: Pop
media_content_type: music
entity_id: media_player.kitchenpi
- alias: IR kitchenpi.fritz.box btn_7
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: btn_7
repeat_counter: 0
host: kitchenpi.fritz.box
action:
service: media_player.play_media
data:
media_content_id: B 5 aktuell
media_content_type: channel
entity_id: media_player.kitchenpi
- alias: IR kitchenpi.fritz.box btn_8
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: btn_8
repeat_counter: 0
host: kitchenpi.fritz.box
action:
service: media_player.play_media
data:
media_content_id: BR-Klassik
media_content_type: channel
entity_id: media_player.kitchenpi
- alias: IR kitchenpi.fritz.box btn_9
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: btn_9
repeat_counter: 0
host: kitchenpi.fritz.box
action:
- service: media_player.shuffle_set
data:
shuffle: false
entity_id: media_player.kitchenpi
- service: media_player.squeezebox_call_method
data:
command: playlist repeat 0
entity_id: media_player.kitchenpi
- service: media_player.squeezebox_call_method
data:
command: playerpref transitionType 0
entity_id: media_player.kitchenpi
- service: media_player.play_media
data:
media_content_id: http://opml.radiotime.com/Tune.ashx?id=s25028&formats=aac,ogg,mp3
media_content_type: music
entity_id: media_player.kitchenpi
- alias: IR kitchenpi.fritz.box key_numeric_star
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_numeric_star
repeat_counter: 0
host: kitchenpi.fritz.box
action:
service: media_player.play_media
data:
media_content_id: Antenne Bayern
media_content_type: channel
entity_id: media_player.kitchenpi
- alias: IR kitchenpi.fritz.box btn_0
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: btn_0
repeat_counter: 0
host: kitchenpi.fritz.box
action:
service: media_player.play_media
data:
media_content_id: Bayern 3
media_content_type: channel
entity_id: media_player.kitchenpi
- alias: IR kitchenpi.fritz.box key_numeric_pound
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_numeric_pound
repeat_counter: 0
host: kitchenpi.fritz.box
action:
service: media_player.play_media
data:
media_content_id: Bayern 2
media_content_type: channel
entity_id: media_player.kitchenpi
- alias: IR kitchenpi.fritz.box key_red
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_red
repeat_counter: 0
host: kitchenpi.fritz.box
action:
service: scene.turn_on
data:
entity_id: scene.wohnbereich_orange
- alias: IR kitchenpi.fritz.box key_green
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_green
repeat_counter: 0
host: kitchenpi.fritz.box
action:
service: scene.turn_on
data:
entity_id: scene.wohnbereich_grun
- alias: IR kitchenpi.fritz.box key_yellow
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_yellow
repeat_counter: 0
host: kitchenpi.fritz.box
action:
service: scene.turn_on
data:
entity_id: scene.wohnbereich_hell
- alias: IR kitchenpi.fritz.box key_blue
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_blue
repeat_counter: 0
host: kitchenpi.fritz.box
action:
service: scene.turn_on
data:
entity_id: scene.wohnbereich_blau_grun
- alias: IR kitchenpi.fritz.box Rollo auf
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_up
repeat_counter: 0
host: kitchenpi.fritz.box
action:
service: cover.open_cover
data:
entity_id: group.living_area
- alias: IR kitchenpi.fritz.box Rollo zu
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_down
repeat_counter: 0
host: kitchenpi.fritz.box
action:
service: cover.close_cover
data:
entity_id: group.living_area
- alias: IR kitchenpi.fritz.box Rollo halb
trigger:
- platform: event
event_type: ir_command_received
event_data:
button_name: key_left
repeat_counter: 0
host: kitchenpi.fritz.box
- platform: event
event_type: ir_command_received
event_data:
button_name: key_right
repeat_counter: 0
host: kitchenpi.fritz.box
action:
service: cover_half.set_half
data:
entity_id: group.living_area
- alias: IR kitchenpi.fritz.box Licht heller
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_channelup
repeat_counter: 0
host: kitchenpi.fritz.box
action:
service: dimmer.dim
data:
offset: 30
entity_id: group.living_area
- alias: IR kitchenpi.fritz.box Licht dunkler
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_channeldown
repeat_counter: 0
host: kitchenpi.fritz.box
action:
service: dimmer.dim
data:
offset: -30
entity_id: group.living_area
- alias: IR kitchenpi.fritz.box Licht viel heller
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_menu
repeat_counter: 0
host: kitchenpi.fritz.box
action:
service: dimmer.dim
data:
offset: 130
entity_id: group.living_area
- alias: IR kitchenpi.fritz.box Licht viel dunkler
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_stop
repeat_counter: 0
host: kitchenpi.fritz.box
action:
service: dimmer.dim
data:
offset: -130
entity_id: group.living_area
- alias: IR kitchenpi.fritz.box Licht aus
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_goto
repeat_counter: 0
host: kitchenpi.fritz.box
action:
service: light.turn_off
data:
entity_id: group.living_area
- alias: IR kitchenpi.fritz.box Musik Play
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_play
repeat_counter: 0
host: kitchenpi.fritz.box
action:
service: media_player.media_play_pause
data:
entity_id: media_player.kitchenpi
- alias: IR kitchenpi.fritz.box Musik Pause
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_pause
repeat_counter: 0
host: kitchenpi.fritz.box
action:
service: media_player.turn_off
data:
entity_id: media_player.kitchenpi
- alias: IR kitchenpi.fritz.box Musik Next
trigger:
- platform: event
event_type: ir_command_received
event_data:
button_name: key_forward
repeat_counter: 0
host: kitchenpi.fritz.box
- platform: event
event_type: ir_command_received
event_data:
button_name: key_fastforward
repeat_counter: 0
host: kitchenpi.fritz.box
action:
service: media_player.media_next_track
data:
entity_id: media_player.kitchenpi
- alias: IR kitchenpi.fritz.box Musik Prev
trigger:
- platform: event
event_type: ir_command_received
event_data:
button_name: key_previous
repeat_counter: 0
host: kitchenpi.fritz.box
- platform: event
event_type: ir_command_received
event_data:
button_name: key_rewind
repeat_counter: 0
host: kitchenpi.fritz.box
action:
service: media_player.media_next_track
data:
entity_id: media_player.kitchenpi
- alias: IR kitchenpi.fritz.box Vol Up
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_volumeup
repeat_counter: 0
host: kitchenpi.fritz.box
action:
service: media_player.volume_up
data:
entity_id: media_player.kitchenpi
- alias: IR kitchenpi.fritz.box Vol Down
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_volumedown
repeat_counter: 0
host: kitchenpi.fritz.box
action:
service: media_player.volume_down
data:
entity_id: media_player.kitchenpi
- alias: IR kitchenpi.fritz.box Shuffle On
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_menu
repeat_counter: 0
host: kitchenpi.fritz.box
action:
service: media_player.shuffle_set
data:
shuffle: true
entity_id: media_player.kitchenpi
- alias: IR kitchenpi.fritz.box Shuffle Off
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_exit
repeat_counter: 0
host: kitchenpi.fritz.box
action:
service: media_player.shuffle_set
data:
shuffle: false
entity_id: media_player.kitchenpi

View File

@ -1,35 +0,0 @@
- alias: KNX Button WohnzimmerTerrassentür Teddy mitte links kurz
trigger:
- entity_id: switch.wohnzimmer_terrassentur_szene_2
from: 'off'
to: 'on'
platform: state
action:
service: scene.turn_on
data:
entity_id: scene.wohnbereich_kuscheln
# ===
- alias: KNX Button WohnzimmerTerrassentür Garten mitte rechts kurz
trigger:
platform: event
event_type: short_click
event_data:
entity_id: switch.wohnzimmer_terrassentur_szene_3
action:
service: scene.turn_on
data:
entity_id: scene.garten_savanna
- alias: KNX Button WohnzimmerTerrassentür Garten mitte rechts lang
trigger:
platform: event
event_type: long_click
event_data:
entity_id: switch.wohnzimmer_terrassentur_szene_3
action:
service: lights.turn_off
data:
entity_id: light.garten_lichter

View File

@ -1,66 +0,0 @@
- alias: KNX Button Eingangstür mitte links kurz - alles an
trigger:
platform: event
event_type: short_click
event_data:
entity_id: switch.eingang_szene_2
action:
- service: light.turn_on
data:
entity_id:
- light.gang_licht
- light.gang_einganglicht
- alias: KNX Button Eingangstür mitte links lang - alles an hell
trigger:
platform: event
event_type: long_click
event_data:
entity_id: switch.eingang_szene_2
action:
- service: light.turn_on
data:
entity_id:
- light.gang_licht
- light.gang_einganglicht
- service: scene.turn_on
data:
entity_id:
- scene.wohnbereich_hell
# -----------
- alias: KNX Button Eingangstür mitte rechts kurz - alles aus innen
trigger:
platform: event
event_type: short_click
event_data:
entity_id: switch.eingang_szene_3
action:
service: light.turn_off
data:
entity_id:
- all_downstairs_but_outside
- alias: KNX Button Eingangstür mitte rechts lang - alles aus innen und aussen
trigger:
platform: event
event_type: long_click
event_data:
entity_id: switch.eingang_szene_3
action:
service: light.turn_off
data:
entity_id:
- all_downstairs
# --------------------------------- Alarm Buttons -----------------------------------
# Alarm
#switch.eingang_szene_4 # key
#switch.eingang_szene_5 # dog

View File

@ -1,156 +0,0 @@
# ---------------------------------------------------
- alias: KNX Button Esszimmertür oben links kurz
trigger:
platform: event
event_type: short_click
event_data:
entity_id: switch.esszimmer_szene_0
action:
service: cover_half.set_half
data:
entity_id: group.living_area
- alias: KNX Button Esszimmertür oben links lang
trigger:
platform: event
event_type: long_click
event_data:
entity_id: switch.esszimmer_szene_0
action:
service: cover_half.set_half
data:
entity_id:
- cover.kuche_fenster_rollo
- cover.esszimmer_fenster_rollo
# ===
- alias: KNX Button Esszimmertür oben rechts kurz
trigger:
platform: event
event_type: short_click
event_data:
entity_id: switch.esszimmer_szene_1
action:
service: cover.open_cover
data:
entity_id: group.living_area
- alias: KNX Button Esszimmertür oben rechts lang
trigger:
platform: event
event_type: long_click
event_data:
entity_id: switch.esszimmer_szene_1
action:
service: cover.open_cover
data:
entity_id:
- cover.kuche_fenster_rollo
- cover.esszimmer_fenster_rollo
# ---------------------------------------------------
- alias: KNX Button Esszimmertür mitte links kurz
trigger:
platform: event
event_type: short_click
event_data:
entity_id: switch.esszimmer_szene_2
action:
service: scene.turn_on
data:
entity_id: scene.wohnbereich_orange
- alias: KNX Button Esszimmertür mitte links lang
trigger:
platform: event
event_type: long_click
event_data:
entity_id: switch.esszimmer_szene_2
action:
service: scene.turn_on
data:
entity_id: scene.kuche_essbereich_orange
# ===
- alias: KNX Button Esszimmertür mitte rechts kurz
trigger:
platform: event
event_type: short_click
event_data:
entity_id: switch.esszimmer_szene_3
action:
service: scene.turn_on
data:
entity_id: scene.wohnbereich_hell
- alias: KNX Button Esszimmertür mitte rechts lang
trigger:
platform: event
event_type: long_click
event_data:
entity_id: switch.esszimmer_szene_3
action:
service: scene.turn_on
data:
entity_id: scene.kuche_essbereich_hell
# ---------------------------------------------------
- alias: KNX Button Esszimmertür unten links ein
trigger:
- entity_id: switch.esszimmer_szene_4
from: 'off'
to: 'on'
platform: state
action:
service: switch.turn_on
data:
entity_id:
- switch.herd_phase_1
- switch.herd_phase_2
- switch.herd_phase_3
- alias: KNX Button Esszimmertür unten links aus
trigger:
- entity_id: switch.esszimmer_szene_4
from: 'on'
to: 'off'
platform: state
action:
service: switch.turn_off
data:
entity_id:
- switch.herd_phase_1
- switch.herd_phase_2
- switch.herd_phase_3
# ===
- alias: KNX Button Esszimmertür unten rechts kurz
trigger:
platform: event
event_type: short_click
event_data:
entity_id: switch.esszimmer_szene_5
action:
service: light.turn_off
data:
entity_id: group.living_area
- alias: KNX Button Esszimmertür unten rechts lang
trigger:
platform: event
event_type: long_click
event_data:
entity_id: switch.esszimmer_szene_5
action:
service: light.turn_off
data:
entity_id: light.kuche_esszimmer_lichter

View File

@ -1,150 +0,0 @@
# ---------------------------------------------------
- alias: KNX Button WohnzimmerGangTür oben links kurz
trigger:
platform: event
event_type: short_click
event_data:
entity_id: switch.wohnzimmer_szene_0
action:
service: cover_half.set_half
data:
entity_id: group.living_area
- alias: KNX Button WohnzimmerGangTür oben links lang
trigger:
platform: event
event_type: long_click
event_data:
entity_id: switch.wohnzimmer_szene_0
action:
service: cover_half.set_half
data:
entity_id:
- cover.wohnzimmer_fenster_rollo
- cover.wohnzimmer_terrassentur_rollo
# ===
- alias: KNX Button WohnzimmerGangTür oben rechts kurz
trigger:
platform: event
event_type: short_click
event_data:
entity_id: switch.wohnzimmer_szene_1
action:
service: cover.open_cover
data:
entity_id: group.living_area
- alias: KNX Button WohnzimmerGangTür oben rechts lang
trigger:
platform: event
event_type: long_click
event_data:
entity_id: switch.wohnzimmer_szene_1
action:
service: cover.open_cover
data:
entity_id:
- cover.wohnzimmer_fenster_rollo
- cover.wohnzimmer_terrassentur_rollo
# ---------------------------------------------------
- alias: KNX Button WohnzimmerGangTür mitte links kurz
trigger:
platform: event
event_type: short_click
event_data:
entity_id: switch.wohnzimmer_szene_2
action:
service: scene.turn_on
data:
entity_id: scene.wohnbereich_orange
- alias: KNX Button WohnzimmerGangTür mitte links lang
trigger:
platform: event
event_type: long_click
event_data:
entity_id: switch.wohnzimmer_szene_2
action:
service: scene.turn_on
data:
entity_id: scene.wohnzimmer_orange
# ===
- alias: KNX Button WohnzimmerGangTür mitte rechts kurz
trigger:
platform: event
event_type: short_click
event_data:
entity_id: switch.wohnzimmer_szene_3
action:
service: scene.turn_on
data:
entity_id: scene.wohnbereich_hell
- alias: KNX Button WohnzimmerGangTür mitte rechts lang
trigger:
platform: event
event_type: long_click
event_data:
entity_id: switch.wohnzimmer_szene_3
action:
service: scene.turn_on
data:
entity_id: scene.wohnzimmer_hell
# ---------------------------------------------------
- alias: KNX Button WohnzimmerGangTür unten links kurz
trigger:
platform: event
event_type: short_click
event_data:
entity_id: switch.wohnzimmer_szene_4
action:
service: scene.turn_on
data:
entity_id: scene.wohnzimmer_dunkel
- alias: KNX Button WohnzimmerGangTür unten links lang
trigger:
platform: event
event_type: long_click
event_data:
entity_id: switch.wohnzimmer_szene_4
action:
service: scene.turn_on
data:
entity_id: scene.wohnzimmer_dunkel
# ===
- alias: KNX Button WohnzimmerGangTür unten rechts kurz
trigger:
platform: event
event_type: short_click
event_data:
entity_id: switch.wohnzimmer_szene_5
action:
service: light.turn_off
data:
entity_id: group.living_area
- alias: KNX Button WohnzimmerGangTür unten rechts lang
trigger:
platform: event
event_type: long_click
event_data:
entity_id: switch.wohnzimmer_szene_5
action:
service: light.turn_off
data:
entity_id: light.kuche_wohnzimmer_lichter

View File

@ -1,217 +0,0 @@
- alias: Oben Wohnzimmer IR key_red next scene
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_red
repeat_counter: 0
host: musikserverWohnzimmerOben.fritz.box
action:
service: counter.increment
entity_id: counter.licht_szene_oben_counter
- alias: Oben Wohnzimmer IR key_green prev scene
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_green
repeat_counter: 0
host: musikserverWohnzimmerOben.fritz.box
action:
service: counter.decrement
entity_id: counter.licht_szene_oben_counter
- alias: Oben Wohnzimmer IR Licht heller
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_channelup
repeat_counter: 0
host: musikserverWohnzimmerOben.fritz.box
action:
service: dimmer.dim
data:
offset: 30
entity_id: light.lampe_ersterstock
- alias: Oben Wohnzimmer IR Licht dunkler
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: key_channeldown
repeat_counter: 0
host: musikserverWohnzimmerOben.fritz.box
action:
service: dimmer.dim
data:
offset: -30
entity_id: light.lampe_ersterstock
- alias: Oben Wohnzimmer IR Licht aus
trigger:
- platform: event
event_type: ir_command_received
event_data:
button_name: key_green
repeat_counter: 0
host: musikserverWohnzimmerOben.fritz.box
- platform: event
event_type: ir_command_received
event_data:
button_name: key_blue
repeat_counter: 0
host: musikserverWohnzimmerOben.fritz.box
- platform: event
event_type: ir_command_received
event_data:
button_name: key_yellow
repeat_counter: 0
host: musikserverWohnzimmerOben.fritz.box
action:
service: light.turn_off
data:
entity_id: light.lampe_ersterstock
# --------------------------------- Szenen -------------------
- alias: Oben Szene 0
trigger:
platform: state
entity_id: counter.licht_szene_oben_counter
condition:
condition: template
value_template: "{{ states('counter.licht_szene_oben_counter')|int % 9 == 0 }}"
action:
service: light.turn_on
data:
entity_id: light.lampe_ersterstock
color_temp: 492
- alias: Oben Szene 1
trigger:
platform: state
entity_id: counter.licht_szene_oben_counter
condition:
condition: template
value_template: "{{ states('counter.licht_szene_oben_counter')|int % 9 == 1 }}"
action:
service: light.turn_on
data:
entity_id: light.lampe_ersterstock
xy_color:
- 0.5794
- 0.3752
- alias: Oben Szene 2
trigger:
platform: state
entity_id: counter.licht_szene_oben_counter
condition:
condition: template
value_template: "{{ states('counter.licht_szene_oben_counter')|int % 9 == 2 }}"
action:
service: light.turn_on
data:
entity_id: light.lampe_ersterstock
xy_color:
- 0.5535
- 0.4104
- alias: Oben Szene 3
trigger:
platform: state
entity_id: counter.licht_szene_oben_counter
condition:
condition: template
value_template: "{{ states('counter.licht_szene_oben_counter')|int % 9 == 3 }}"
action:
service: light.turn_on
data:
entity_id: light.lampe_ersterstock
xy_color:
- 0.4662
- 0.3252
- alias: Oben Szene 4
trigger:
platform: state
entity_id: counter.licht_szene_oben_counter
condition:
condition: template
value_template: "{{ states('counter.licht_szene_oben_counter')|int % 9 == 4 }}"
action:
service: light.turn_on
data:
entity_id: light.lampe_ersterstock
xy_color:
- 0.3423
- 0.2252
- alias: Oben Szene 5
trigger:
platform: state
entity_id: counter.licht_szene_oben_counter
condition:
condition: template
value_template: "{{ states('counter.licht_szene_oben_counter')|int % 9 == 5 }}"
action:
service: light.turn_on
data:
entity_id: light.lampe_ersterstock
xy_color:
- 0.346
- 0.394
- alias: Oben Szene 6
trigger:
platform: state
entity_id: counter.licht_szene_oben_counter
condition:
condition: template
value_template: "{{ states('counter.licht_szene_oben_counter')|int % 9 == 6 }}"
action:
service: light.turn_on
data:
entity_id: light.lampe_ersterstock
xy_color:
- 0.4119
- 0.3671
- alias: Oben Szene 7
trigger:
platform: state
entity_id: counter.licht_szene_oben_counter
condition:
condition: template
value_template: "{{ states('counter.licht_szene_oben_counter')|int % 9 == 7 }}"
action:
service: light.turn_on
data:
entity_id: light.lampe_ersterstock
xy_color:
- 0.408
- 0.517
- alias: Oben Szene 8
trigger:
platform: state
entity_id: counter.licht_szene_oben_counter
condition:
condition: template
value_template: "{{ states('counter.licht_szene_oben_counter')|int % 9 == 8 }}"
action:
service: light.turn_on
data:
entity_id: light.lampe_ersterstock
color_temp: 202

View File

@ -1,15 +0,0 @@
# ------ Squeezelite neustart ---------------
- alias: Wohnzimmer oben squeezelite neustart
trigger:
- platform: event
event_type: ir_command_received
event_data:
button_name: key_record
repeat_counter: 0
host: musikserverwohnzimmeroben.fritz.box
action:
service: sysdweb.restart
data:
hostname: musikserverwohnzimmeroben.fritz.box
service_name: squeezelite

View File

@ -19,10 +19,13 @@ living_area:
bedroom:
name: Schlafzimmer
entities:
- light.schlafzimmer_deckenlampe
- light.schlafzimmer_fluter
- light.bett_martin
- light.bett_rebecca
- light.schlafzimmer_schrank
- cover.schlafzimmer_rollo_gross
- cover.schlafzimmer_rollo_klein
hallway:
name: Gang
@ -45,21 +48,24 @@ outside:
office:
name: Arbeitszimmer
entities:
- light.arbeitszimmer_deckenlampe
- light.arbeitszimmer_stehlampe_oben
- light.arbeitszimmer_stehlampe_unten
- light.arbeitszimmer_fluter
- cover.arbeitszimmer_rollo
kids_room:
name: Kinderzimmer
entities:
- light.kinderzimmer_fluter
- cover.kinderzimmer_rollo
bathroom:
name: Bad
other:
name: Rest

View File

@ -51,7 +51,7 @@ def add_knx_devices(devices, groups):
DeviceInfo('AussenleuchteHaustüren', 'Haustür Licht', 'outside'),
DeviceInfo('AussenleuchteObenNW', 'Haustür Licht NW', 'first_floor'),
DeviceInfo('TreppenhausLicht', "Treppenhaus Licht", 'first_floor'),
DeviceInfo('WCLicht', "WC Licht", 'other'),
#DeviceInfo('WCLicht', "WC Licht", 'other'),
DeviceInfo('LampeVorratsraum', "Vorratsraum Licht", 'other'),
# Bewegungsmelder LEDs
DeviceInfo("BewegungsmelderMitte LED", "Bewegungsmelder Mitte LED", 'hallway'),
@ -82,7 +82,8 @@ def add_knx_devices(devices, groups):
switches += [DeviceInfo("AlarmLEDLinksNormal", "alarm_led_links_normal"),
DeviceInfo("AlarmLEDLinksUeberlagert", "alarm_led_links_ueberlagert"),
DeviceInfo("AlarmLEDRechtsNormal", "alarm_led_rechts_normal"),
DeviceInfo("AlarmLEDRechtsUeberlagert", "alarm_led_rechts_ueberlagert"),]
DeviceInfo("AlarmLEDRechtsUeberlagert", "alarm_led_rechts_ueberlagert"),
DeviceInfo("WCLicht Schalten", "wc_licht_taster"), ]
power_plugs = [
# Vorratsraum
@ -297,7 +298,7 @@ def create_config(target_directory, development=False):
additional_file = 'secrets_development.yaml' if development else 'secrets_deploy.yaml'
output.write(open(os.path.join(script_path, additional_file), 'r').read())
create_automation_rules(os.path.join(target_directory, 'automations'))
#create_automation_rules(os.path.join(target_directory, 'automations'))
if __name__ == '__main__':

View File

@ -54,6 +54,8 @@ homeassistant:
half_position: 25
pyscript: !include pyscript/config.yaml
# enable configuration editor
config:
@ -257,15 +259,17 @@ long_click:
- switch.wohnzimmer_szene_3
- switch.wohnzimmer_szene_4
- switch.wohnzimmer_szene_5
- switch.wohnzimmer_terrassentur_szene_2
- switch.wohnzimmer_terrassentur_szene_3
- switch.eingang_szene_2
- switch.eingang_szene_3
- switch.eingang_szene_4
- switch.eingang_szene_5
#logger:
# default: info
# logs:
# #custom_components: debug
logger:
default: info
logs:
custom_components: info
# #custom_components.reconnecting_client: debug
#
# Sensors
@ -638,7 +642,7 @@ light:
- platform: group
name: Garten Lichter
entities:
- light.garten_spot_birke
- light.garten_vorne
- light.garten_spot_magnolie
- light.garten_spot_beet
- light.garten_stehleuchte

9
pyscript/config.yaml Normal file
View File

@ -0,0 +1,9 @@
apps:
ir_remote_kitchenpi
ir_remote_oben
ir_remote_schlafzimmer
herd
knx_buttons
licht_schlafzimmer
licht_gang_bogen
licht_wc

14
pyscript/herd.py Normal file
View File

@ -0,0 +1,14 @@
@state_trigger("switch.esszimmer_szene_4")
def esszimmer_gangtuer_herd(value=None):
entity_id = [f"switch.herd_phase_{i}" for i in range(1, 4)]
if value == "on":
switch.turn_on(entity_id=entity_id)
elif value == "off":
switch.turn_off(entity_id=entity_id)
@state_trigger("float(sensor.herd_phase_1_verbrauch) + float(sensor.herd_phase_2_verbrauch) + float(sensor.herd_phase_3_verbrauch) < 100", state_hold=30 * 60)
def herd_auto_aus():
switch.esszimmer_szene_4.turn_off()

View File

@ -0,0 +1,33 @@
from ir_helpers import *
@event_trigger("ir_command_received", "host == 'kitchenpi.fritz.box' and repeat_counter == 0")
def ir_remote_kitchenpi(button_name=None, **kwargs):
player = {'player': 'media_player.kitchenpi'}
mapping = {
**default_ir_light_control('group.living_area'),
**default_ir_cover_control('group.living_area'),
**default_ir_music_control(**player),
'btn_1': playlist_f('Fast Jazz', shuffle=True, **player),
'btn_2': playlist_f('Favorite Brass', shuffle=True, **player),
'btn_3': playlist_f("Pop", shuffle=True, **player),
'btn_4': playlist_f('Bar Classics', **player),
'btn_5': playlist_f('Sentimental Moods', **player),
'btn_6': playlist_f(URLS['spotify_merkliste'], **player),
'btn_7': radio_f('BR24', **player),
'btn_8': radio_f('BR-Klassik', **player),
'btn_9': playlist_f(URLS['klassik_radio'], **player),
'btn_0': radio_f('Bayern 3', **player),
'key_numeric_pound': radio_f('Bayern 2', **player),
'key_numeric_star': radio_f('Antenne Bayern', **player),
'key_red': scene_f('wohnbereich_orange'),
'key_green': scene_f('wohnbereich_grun'),
'key_yellow': scene_f('wohnbereich_hell'),
'key_blue': scene_f('wohnbereich_blau_grun'),
}
if button_name in mapping:
mapping[button_name]()

View File

@ -0,0 +1,77 @@
from ir_helpers import *
light_counter = CyclicCounter(
lambda v: light.lampe_ersterstock.turn_on(**v),
[
{'color_temp': 492},
{'xy_color': [0.5794, 0.3752]},
{'xy_color': [0.5535, 0.4104]},
{'xy_color': [0.4662, 0.3252]},
{'xy_color': [0.3423, 0.2252]},
{'xy_color': [0.346, 0.394]},
{'xy_color': [0.4119, 0.3671]},
{'xy_color': [0.408, 0.517]},
{'color_temp': 202},
],
)
def music_mapping(player):
player = {'player': player}
return {
'btn_1': radio_f('Bayern 1', **player),
'btn_2': radio_f('Bayern 2', **player),
'btn_3': radio_f('BR Heimat', **player),
'btn_4': radio_f('Bayern+', **player),
'btn_5': radio_f('BR24', **player),
'btn_6': radio_f('BR-Klassik', **player),
'btn_7': playlist_f('Gesammelte Weihnachtslieder', **player),
'btn_8': playlist_f('Harmonic Brass Christmas', **player),
'btn_9': playlist_f('German Brass Christmas', **player),
'key_numeric_star': playlist_f('Weihnachten mit den Wiener Sängerknaben', **player),
'btn_0': playlist_f('Weihnachten mit den Wiener Sängerknaben', **player),
'key_numeric_pound': playlist_f('SammlungGeorg', **player),
}
def light_mapping():
return {
'key_red': light_counter.next,
'key_green': light_counter.prev,
'key_blue': light.lampe_ersterstock.turn_off,
'key_yellow': light.lampe_ersterstock.turn_off,
'key_channelup': lambda: dimmer.dim(entity_id='light.lampe_ersterstock', offset=+30),
'key_channeldown': lambda: dimmer.dim(entity_id='light.lampe_ersterstock', offset=-30),
}
# -------------------------------------------------------------------------------------------------
@event_trigger("ir_command_received", "host == 'esszimmerradio.fritz.box' and repeat_counter == 0")
def ir_remote_esszimmer_oben(button_name=None, **kwargs):
mapping = {
**music_mapping('media_player.esszimmer'),
**light_mapping(),
}
buttons_to_switch_on = ['key_play', 'key_power'] + [f'btn_{i}' for i in range(10)]
buttons_to_switch_off = ['key_goto', 'key_pause']
if button_name in buttons_to_switch_on:
switch.esszimmer_oben_radio_steckdose1.turn_on()
elif button_name in buttons_to_switch_off:
switch.esszimmer_oben_radio_steckdose1.turn_off()
elif button_name == 'key_record':
sysdweb.restart(service_name="squeezelite", hostname="esszimmerradio.fritz.box")
if button_name in mapping:
mapping[button_name]()
@event_trigger("ir_command_received", "host == 'musikserverWohnzimmerOben.fritz.box' and repeat_counter==0")
def ir_remote_wohnzimmer_oben(button_name=None, **kwargs):
mapping = {
**music_mapping('media_player.wohnzimmer'),
**light_mapping(),
}
if button_name in mapping:
mapping[button_name]()

View File

@ -0,0 +1,66 @@
from ir_helpers import *
@pyscript_compile
def timed_sleep_f(content, light_off_mins, music_off_mins, shuffle):
variables = {
'media_content_id': content,
'light_off_secs': light_off_mins * 60,
'music_off_secs': music_off_mins * 60,
'shuffle': shuffle,
}
async def f():
await hass.services.async_call('script', 'timed_sleep', variables)
return f
@event_trigger("ir_command_received", "host == 'bedroompi.fritz.box' and repeat_counter == 0")
def ir_remote_schlafzimmer(button_name=None, **kwargs):
p = {'player': 'media_player.bedroompi'}
mapping = {
**default_ir_light_control('group.bedroom'),
**default_ir_cover_control('group.bedroom'),
**default_ir_music_control(**p),
'btn_1': playlist_f('Good Morning', **p),
'btn_2': playlist_f('Good Night Long', **p),
'btn_3': playlist_f('Good Night', **p),
'btn_4': playlist_f('Bar Classics', **p),
'btn_5': playlist_f('Sentimental Moods', **p),
'btn_6': playlist_f(URLS['spotify_merkliste'], **p),
'btn_7': radio_f('BR24', **p),
'btn_8': radio_f('BR-Klassik', **p),
'btn_9': playlist_f(URLS['klassik_radio'], **p),
'btn_0': radio_f('Bayern 3', **p),
'key_numeric_pound': radio_f('Bayern 2', **p),
'key_numeric_star': radio_f('Antenne Bayern', **player),
'key_red': scene_f('schlafzimmer_stillen'),
'key_green': scene_f('schlafzimmer_orange'),
'key_yellow': scene_f('schlafzimmer_ganz_hell'),
'key_blue': scene_f('nachtswennallelieberschlafen'),
'key_tv': timed_sleep_f(URLS['spotify_rain'], light_off_mins=15, music_off_mins=45, shuffle=True),
'key_video': timed_sleep_f('Good Night', light_off_mins=15, music_off_mins=45, shuffle=False),
'key_music': timed_sleep_f(URLS['spotify_rain'], light_off_mins=5, music_off_mins=20, shuffle=True),
'key_picture': timed_sleep_f('Good Night', light_off_mins=5, music_off_mins=20, shuffle=False)
}
if button_name in mapping:
mapping[button_name]()
elif button_name == "key_numeric_star": # Foen
repeat_one_crossfade(**p)
media_player.play_media(media_content_id='Foen', media_content_type='music', entity_id=p['player'])
media_player.volume_set(volume_level=60, entity_id=p['player'])
elif button_name == 'key_power': # Music & Lights off
media_player.media_pause(entity_id=p['player'])
light.turn_off(entity_id='group.bedroom')
elif button_name == 'key_ok': # Grosser Rollo zu, kleiner halb zu
cover.schlafzimmer_rollo_gross.close_cover()
cover_half.set_half(entity_id="cover.schlafzimmer_rollo_klein")
elif button_name == 'key_mute': # Alles aus ohne draussen & schlafzimmer
light.turn_off(entity_id='group.all_downstairs_but_bedroom_and_outside')
elif button_name == 'key_channel': # alles aus ausser schlafzimmer
light.turn_off(entity_id='group.all_downstairs_but_bedroom')

119
pyscript/knx_buttons.py Normal file
View File

@ -0,0 +1,119 @@
@pyscript_compile
def in_room(room):
return f"entity_id.startswith('switch.{room}_szene_')"
@event_trigger("short_click", in_room("eingang"))
@event_trigger("long_click", in_room("eingang"))
def eingang(entity_id=None, event_type=None):
long_click = (event_type == "long_click")
key = {'switch.eingang_szene_2': 'bulb_orange',
'switch.eingang_szene_3': 'bulb_black',
'switch.eingang_szene_4': 'key',
'switch.eingang_szene_5': 'dog'}[entity_id]
if key == "bulb_orange":
light.gang_licht.turn_on()
light.gang_einganglicht.turn_on()
if long_click:
scene.wohnbereich_hell.turn_on()
elif key == "bulb_black":
if long_click:
light.turn_off(entity_id="group.all_downstairs")
else:
light.turn_off(entity_id="group.all_downstairs_but_outside")
@event_trigger("short_click", in_room("esszimmer"))
@event_trigger("long_click", in_room("esszimmer"))
def esszimmer_gangtuer(entity_id=None, event_type=None):
key = {'switch.esszimmer_szene_0': 'arrow_down',
'switch.esszimmer_szene_1': 'arrow_up',
'switch.esszimmer_szene_2': 'bulb_orange',
'switch.esszimmer_szene_3': 'bulb_yellow',
'switch.esszimmer_szene_4': 'cooking_pot', # Herd an/aus in separater Datei
'switch.esszimmer_szene_5': 'bulb_black'}[entity_id]
long_click = (event_type == "long_click")
if long_click:
covers = ['cover.kuche_fenster_rollo', 'cover.esszimmer_fenster_rollo']
else:
covers = ['group.living_area']
if key == "arrow_down":
cover_half.set_half(entity_id=covers)
elif key == "arrow_up":
cover.open_cover(entity_id=covers)
elif key == "bulb_orange":
if long_click:
scene.kuche_essbereich_orange.turn_on()
else:
scene.wohnbereich_orange.turn_on()
elif key == "bulb_yellow":
if long_click:
scene.kuche_essbereich_hell.turn_on()
else:
scene.wohnbereich_hell.turn_on()
elif key == "bulb_black":
if long_click:
light.essbereich_lichter.turn_off()
else:
light.turn_off(entity_id="group.living_area")
@event_trigger("short_click", in_room("wohnzimmer"))
@event_trigger("long_click", in_room("wohnzimmer"))
def wohnzimmer_gangtur(entity_id=None, event_type=None):
long_click = (event_type == "long_click")
key = {'switch.wohnzimmer_szene_0': 'arrow_down',
'switch.wohnzimmer_szene_1': 'arrow_up',
'switch.wohnzimmer_szene_2': 'bulb_orange',
'switch.wohnzimmer_szene_3': 'bulb_yellow',
'switch.wohnzimmer_szene_4': 'bulb_blue',
'switch.wohnzimmer_szene_5': 'bulb_black'}[entity_id]
if long_click:
covers = ['cover.wohnzimmer_fenster_rollo', 'cover.wohnzimmer_terrassentur_rollo']
else:
covers = ['group.living_area']
if key == "arrow_down":
cover_half.set_half(entity_id=covers)
elif key == "arrow_up":
cover.open_cover(entity_id=covers)
elif key == "bulb_orange":
if long_click:
scene.wohnzimmer_orange.turn_on()
else:
scene.wohnbereich_orange.turn_on()
elif key == "bulb_yellow":
if long_click:
scene.wohnzimmer_hell.turn_on()
else:
scene.wohnbereich_hell.turn_on()
elif key == "bulb_blue":
if long_click:
scene.wohnzimmer_dunkel.turn_on()
else:
scene.wohnbereich_blau_grun.turn_on()
elif key == "bulb_black":
if long_click:
light.wohnzimmer_lichter.turn_off()
else:
light.turn_off(entity_id="group.living_area")
@event_trigger("short_click", in_room("wohnzimmer_terrassentur"))
@event_trigger("long_click", in_room("wohnzimmer_terrassentur"))
def wohnzimmer_terassentuer(entity_id=None, event_type=None):
long_click = (event_type == "long_click")
key = {'switch.wohnzimmer_terrassentur_szene_2': 'teddy',
'switch.wohnzimmer_terrassentur_szene_3': 'flowers'}[entity_id]
if key == "teddy":
if long_click:
scene.wohnbereich_kuscheln.turn_on()
elif key == "flowers":
if long_click:
light.turn_off(entity_id="light.garten_lichter")
else:
scene.garten_savanna.turn_on()

View File

@ -0,0 +1,11 @@
@event_trigger("homematic.keypress", "name == 'schlafzimmer_deckenlampe'")
def schlafzimmer_licht(channel=None, param=None):
up = (channel == 1)
long = (param == "PRESS_LONG")
# TODO
# oben: kurz: orange szene
# lang: helle szene
# unten: kurz: off, but 1 min bedlight
# lang: rollos zu

4
pyscript/licht_wc.py Normal file
View File

@ -0,0 +1,4 @@
@state_trigger("switch.wc_licht_taster == 'on'")
def wc_licht():
switch.wc_licht.toggle()

View File

@ -0,0 +1,126 @@
# ---------------------------------- Music ---------------------------------------------
URLS = {
'klassik_radio': "http://opml.radiotime.com/Tune.ashx?id=s25028&formats=aac,ogg,mp3",
'spotify_rain': "spotify:playlist:37i9dQZF1DXbcPC6Vvqudd",
'spotify_merkliste': "spotify:playlist:43wCckw3P4WKdy06Rd7eYO",
}
async def media_player_s(service_name, entity_id, **kwargs):
await hass.services.async_call('media_player', service_name, {'entity_id': entity_id, **kwargs})
async def media_player_f(service_name, entity_id, **kwargs):
async def f():
hass.services.async_call('media_player', service_name, {'entity_id': entity_id, **kwargs})
return f
async def default_music_settings(player, shuffle=False):
await media_player_s('shuffle_set', player, shuffle=shuffle)
await media_player_s('squeezebox_call_method', player, command="playlist repeat 0")
await media_player_s('squeezebox_call_method', player, command="playerpref transitionType 0")
async def repeat_one_crossfade(player):
await media_player_s('repeat_set', player, repeat='one')
await media_player_s('squeezebox_call_method', player, command='playerpref transitionType 1')
def playlist_f(name, player, shuffle=False):
async def f():
await default_music_settings(player, shuffle=shuffle)
await media_player_s('play_media', player, media_content_id=name, media_content_type='music')
return f
def radio_f(name, player):
async def f():
await media_player_s('play_media', player, media_content_id=name, media_content_type='channel')
return f
def scene_f(name):
async def f():
await hass.services.async_call('scene', 'turn_on', {'entity_id': 'scene.' + name})
return f
def cover_f(name, entity_id, **kwargs):
async def f():
await hass.services.async_call('cover', name, {'entity_id': entity_id, **kwargs})
return f
def cover_half_f(entity_id):
async def f():
await hass.services.async_call('cover_half', 'set_half', {'entity_id': entity_id})
return f
def light_f(name, entity_id, **kwargs):
async def f():
await hass.services.async_call('light', name, {'entity_id': entity_id, **kwargs})
return f
def default_ir_music_control(player):
return {
'key_play': media_player_f("media_play_pause", player),
'key_pause': media_player_f("turn_off", player),
'key_forward': media_player_f('media_next_track', player),
'key_fastforward': media_player_f('media_next_track', player),
'key_previous': media_player_f('media_previous_track', player),
'key_rewind': media_player_f('media_previous_track', player),
'key_volumeup': media_player_f('volume_up', player),
'key_volumedown': media_player_f('volume_down', player),
'key_menu': media_player_f('shuffle_set', player, shuffle=True),
'key_exit': media_player_f('shuffle_set', player, shuffle=False),
}
# ---------------------------------- Covers --------------------------------------------
def default_ir_cover_control(device_group):
return {
'key_up': cover_f('open_cover', device_group),
'key_down': cover_f('close_cover', device_group),
'key_left': cover_half_f(device_group),
'key_right': cover_half_f(device_group),
}
# ---------------------------------- Lights ---------------------------------------------
def default_ir_light_control(device_group):
def dim_offset_f(offset):
async def f():
await hass.services.async_call('dimmer', 'dim', {'entity_id': device_group, 'offset': offset})
return f
return {
'key_channelup': dim_offset_f(+30),
'key_channeldown': dim_offset_f(-30),
'key_menu': dim_offset_f(130),
'key_stop': dim_offset_f(-130),
'key_goto': light_f('turn_off', device_group)
}
class CyclicCounter:
def __init__(self, func, values):
self.idx = 0
self.values = values
self.func = func
def next(self):
self.idx = (self.idx + 1) % len(self.values)
self.func(self.values[self.idx])
def prev(self):
self.idx = (self.idx - 1) % len(self.values)
self.func(self.values[self.idx])

View File

@ -3,13 +3,12 @@
entities:
light.kuche_deckenlampe:
state: true
brightness: 38
brightness: 10
light.esszimmer_deckenlampe_west:
state: true
brightness: 38
brightness: 10
light.esszimmer_deckenlampe_mitte:
state: true
brightness: 38
state: false
light.esszimmer_schrankleuchte:
state: false
light.kuche_links:
@ -92,6 +91,9 @@
- name: Küche Essbereich Hell
id: kueche_essbereich_hell
entities:
light.esszimmer_deckenlampe_mitte:
state: true
brightness: 255
light.esszimmer_deckenlampe_west:
state: true
brightness: 255

View File

@ -3,16 +3,15 @@
entities:
light.kuche_deckenlampe:
state: true
brightness: 38
brightness: 10
light.wohnzimmer_deckenlampe:
state: true
brightness: 38
brightness: 10
light.esszimmer_deckenlampe_west:
state: true
brightness: 38
brightness: 10
light.esszimmer_deckenlampe_mitte:
state: true
brightness: 38
state: false
light.esszimmer_schrankleuchte:
state: false
light.kuche_links:
@ -68,8 +67,7 @@
state: true
brightness: 38
light.esszimmer_deckenlampe_mitte:
state: true
brightness: 38
state: false
light.esszimmer_schrankleuchte:
state: false
light.kuche_links:
@ -184,6 +182,9 @@
- name: Wohnbereich Hell
id: wohnbereich_hell
entities:
light.esszimmer_deckenlampe_mitte:
state: true
brightness: 255
light.esszimmer_deckenlampe_west:
state: true
brightness: 255