This commit is contained in:
Martin Bauer
2022-08-28 22:33:35 +02:00
parent 91fc9c38ff
commit f261b582b0
44 changed files with 71746 additions and 59774 deletions

View File

@@ -1,4 +1,5 @@
apps:
bad_luefter
ir_remote_kitchenpi
ir_remote_oben
ir_remote_schlafzimmer

View File

@@ -15,6 +15,11 @@ def timed_sleep_f(content, light_off_mins, music_off_mins, shuffle):
return f
@state_trigger("switch.tasmota07 == 'on'")
def foen_auto_off():
timer.fon_timer.start(duration="00:45:00")
@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'}
@@ -36,7 +41,7 @@ def ir_remote_schlafzimmer(button_name=None, **kwargs):
'btn_0': radio_f('Bayern 3', **p),
'key_numeric_pound': radio_f('Bayern 2', **p),
'key_numeric_star': radio_f('Antenne Bayern', **player),
#'key_numeric_star': lambda: timer.fon_timer.start(duration="00:10:00"),
'key_red': scene_f('schlafzimmer_stillen'),
'key_green': scene_f('schlafzimmer_orange'),
@@ -51,9 +56,10 @@ def ir_remote_schlafzimmer(button_name=None, **kwargs):
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'])
#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'])
timer.fon_timer.start(duration="00:10:00")
elif button_name == 'key_power': # Music & Lights off
media_player.media_pause(entity_id=p['player'])
light.turn_off(entity_id='group.bedroom')

View File

@@ -1,11 +1,30 @@
@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
# lang: rollos zu: nur tagsueber wenn komplett offen
@event_trigger("homematic.keypress", "name == 'schlafzimmer_deckenlampe'")
def schlafzimmer_licht(channel=None, param=None, **kwargs):
up = (channel == 2)
down = (channel == 1)
long = (param == "PRESS_LONG")
short = not long
log.info(f"Schlafzimmer knopf up {up}, long {long}")
if up and short:
scene.schlafzimmer_orange.turn_on()
elif up and long:
scene.schlafzimmer_ganz_hell.turn_on()
elif down and short:
light.turn_off(entity_id='group.bedroom')
scene.schlafzimmer_bettlicht_dunkel.turn_on()
task.wait_until(timeout=60)
light.bett_martin.turn_off()
light.bett_rebecca.turn_off()
elif down and long:
during_day = float(sun.sun.elevation) > 5
covers_fully_open = (int(cover.schlafzimmer_rollo_gross.current_position) > 95 or
int(cover.schlafzimmer_rollo_klein.current_position) > 95)
if during_day and covers_fully_open:
cover.schlafzimmer_rollo_gross.close_cover()
cover_half.set_half(entity_id="cover.schlafzimmer_rollo_klein")