Latest version
This commit is contained in:
@@ -1,10 +1,12 @@
|
||||
apps:
|
||||
bad_luefter
|
||||
herd
|
||||
ios_actions
|
||||
ir_remote_kinderzimmer
|
||||
ir_remote_kitchenpi
|
||||
ir_remote_oben
|
||||
ir_remote_schlafzimmer
|
||||
herd
|
||||
knx_buttons
|
||||
licht_schlafzimmer
|
||||
licht_gang_bogen
|
||||
licht_schlafzimmer
|
||||
licht_wc
|
||||
@@ -1,7 +1,30 @@
|
||||
import json
|
||||
|
||||
@pyscript_compile
|
||||
def in_room(room):
|
||||
return f"entity_id.startswith('switch.{room}_szene_')"
|
||||
|
||||
def vacuum(*rooms):
|
||||
room_map = {
|
||||
"Eingang" : "16",
|
||||
"Wohnzimmer" : "17",
|
||||
"Küche" : "18",
|
||||
"Gang hinten" : "19",
|
||||
"Esszimmer" : "20",
|
||||
"Gang vorne" : "21",
|
||||
"WC" : "22",
|
||||
"Arbeitszimmer" : "24",
|
||||
"Waschraum" : "25",
|
||||
"Vorratsraum" : "26",
|
||||
"Bad" : "27",
|
||||
"Schlafzimmer" : "28",
|
||||
"Kinderzimmer" : "29",
|
||||
}
|
||||
rooms = [room_map[name] for name in rooms]
|
||||
topic = "valetudo/NewJuniorKingfisher/MapSegmentationCapability/clean/set"
|
||||
payload = json.dumps({"segment_ids": rooms, "customOrder": True, "iterations" : 1})
|
||||
mqtt.publish(topic=topic, payload=payload)
|
||||
|
||||
|
||||
@event_trigger("short_click", in_room("eingang"))
|
||||
@event_trigger("long_click", in_room("eingang"))
|
||||
@@ -12,6 +35,8 @@ def eingang(entity_id=None, event_type=None):
|
||||
'switch.eingang_szene_4': 'key',
|
||||
'switch.eingang_szene_5': 'dog'}[entity_id]
|
||||
|
||||
long_click = (event_type == "long_click")
|
||||
|
||||
if key == "bulb_orange":
|
||||
light.gang_licht.turn_on()
|
||||
light.gang_einganglicht.turn_on()
|
||||
@@ -22,6 +47,11 @@ def eingang(entity_id=None, event_type=None):
|
||||
light.turn_off(entity_id="group.all_downstairs")
|
||||
else:
|
||||
light.turn_off(entity_id="group.all_downstairs_but_outside")
|
||||
elif key == "dog":
|
||||
if long_click:
|
||||
vacuum("Gang hinten", "Gang vorne", "Eingang", "Küche", "Esszimmer", "Wohnzimmer")
|
||||
else:
|
||||
vacuum("Eingang")
|
||||
|
||||
|
||||
@event_trigger("short_click", in_room("esszimmer"))
|
||||
@@ -41,9 +71,15 @@ def esszimmer_gangtuer(entity_id=None, event_type=None):
|
||||
covers = ['group.living_area']
|
||||
|
||||
if key == "arrow_down":
|
||||
cover_half.set_half(entity_id=covers)
|
||||
if long_click:
|
||||
vacuum("Esszimmer")
|
||||
else:
|
||||
cover_half.set_half(entity_id=covers)
|
||||
elif key == "arrow_up":
|
||||
cover.open_cover(entity_id=covers)
|
||||
if long_click:
|
||||
vacuum("Küche")
|
||||
else:
|
||||
cover.open_cover(entity_id=covers)
|
||||
elif key == "bulb_orange":
|
||||
if long_click:
|
||||
scene.kuche_essbereich_orange.turn_on()
|
||||
@@ -78,9 +114,15 @@ def wohnzimmer_gangtur(entity_id=None, event_type=None):
|
||||
covers = ['group.living_area']
|
||||
|
||||
if key == "arrow_down":
|
||||
cover_half.set_half(entity_id=covers)
|
||||
if long_click:
|
||||
vacuum("Wohnzimmer")
|
||||
else:
|
||||
cover_half.set_half(entity_id=covers)
|
||||
elif key == "arrow_up":
|
||||
cover.open_cover(entity_id=covers)
|
||||
if long_click:
|
||||
vacuum("Wohnzimmer")
|
||||
else:
|
||||
cover.open_cover(entity_id=covers)
|
||||
elif key == "bulb_orange":
|
||||
if long_click:
|
||||
scene.wohnzimmer_orange.turn_on()
|
||||
|
||||
@@ -64,6 +64,11 @@ def light_f(name, entity_id, **kwargs):
|
||||
await hass.services.async_call('light', name, {'entity_id': entity_id, **kwargs})
|
||||
return f
|
||||
|
||||
def multiple_f(*args):
|
||||
async def f():
|
||||
for func in args:
|
||||
await func()
|
||||
return f
|
||||
|
||||
def default_ir_music_control(player):
|
||||
return {
|
||||
|
||||
Reference in New Issue
Block a user