Feature: smarter Umschalten-Toggle fuer Maehroboter (docked <-> Mähen starten/Ladestation)

Bei lawn_mower-Entitaeten bedeutet "Umschalten" jetzt: steht der
Roboter auf der Ladestation (docked) -> start_mowing, ansonsten
(mowing/paused/returning/error) -> dock. Damit reicht eine Taste
zum Starten und Zurueckholen, analog zum bestehenden Schloss-Toggle.
This commit is contained in:
martin 2026-07-28 08:12:57 +00:00
parent 37d7477ba1
commit a1ada9ca56

View file

@ -65,8 +65,11 @@ blueprint:
(z. B. Garagentor) = öffnen/schließen, Ventil = öffnen/schließen,
Schloss = (ent)sperren. Praktisch für Wippen-Tastenpaare, z. B. eine
Taste "Einschalten" (öffnet das Tor) und eine zweite "Ausschalten"
(schließt es). Für Mähroboter (lawn_mower) stattdessen "Mähen
starten", "Pause" oder "Zur Ladestation" verwenden.
(schließt es). Bei einem Mähroboter (lawn_mower) bedeutet
"Umschalten": steht er auf der Ladestation → Mähen starten, sonst
(mäht/pausiert/fährt zurück) → Zur Ladestation. Alternativ auch
direkt "Mähen starten", "Pause" oder "Zur Ladestation" als feste
Aktion für diese Taste wählbar.
default: toggle
selector:
select:
@ -113,8 +116,11 @@ blueprint:
(z. B. Garagentor) = öffnen/schließen, Ventil = öffnen/schließen,
Schloss = (ent)sperren. Praktisch für Wippen-Tastenpaare, z. B. eine
Taste "Einschalten" (öffnet das Tor) und eine zweite "Ausschalten"
(schließt es). Für Mähroboter (lawn_mower) stattdessen "Mähen
starten", "Pause" oder "Zur Ladestation" verwenden.
(schließt es). Bei einem Mähroboter (lawn_mower) bedeutet
"Umschalten": steht er auf der Ladestation → Mähen starten, sonst
(mäht/pausiert/fährt zurück) → Zur Ladestation. Alternativ auch
direkt "Mähen starten", "Pause" oder "Zur Ladestation" als feste
Aktion für diese Taste wählbar.
default: toggle
selector:
select:
@ -161,8 +167,11 @@ blueprint:
(z. B. Garagentor) = öffnen/schließen, Ventil = öffnen/schließen,
Schloss = (ent)sperren. Praktisch für Wippen-Tastenpaare, z. B. eine
Taste "Einschalten" (öffnet das Tor) und eine zweite "Ausschalten"
(schließt es). Für Mähroboter (lawn_mower) stattdessen "Mähen
starten", "Pause" oder "Zur Ladestation" verwenden.
(schließt es). Bei einem Mähroboter (lawn_mower) bedeutet
"Umschalten": steht er auf der Ladestation → Mähen starten, sonst
(mäht/pausiert/fährt zurück) → Zur Ladestation. Alternativ auch
direkt "Mähen starten", "Pause" oder "Zur Ladestation" als feste
Aktion für diese Taste wählbar.
default: toggle
selector:
select:
@ -209,8 +218,11 @@ blueprint:
(z. B. Garagentor) = öffnen/schließen, Ventil = öffnen/schließen,
Schloss = (ent)sperren. Praktisch für Wippen-Tastenpaare, z. B. eine
Taste "Einschalten" (öffnet das Tor) und eine zweite "Ausschalten"
(schließt es). Für Mähroboter (lawn_mower) stattdessen "Mähen
starten", "Pause" oder "Zur Ladestation" verwenden.
(schließt es). Bei einem Mähroboter (lawn_mower) bedeutet
"Umschalten": steht er auf der Ladestation → Mähen starten, sonst
(mäht/pausiert/fährt zurück) → Zur Ladestation. Alternativ auch
direkt "Mähen starten", "Pause" oder "Zur Ladestation" als feste
Aktion für diese Taste wählbar.
default: toggle
selector:
select:
@ -257,8 +269,11 @@ blueprint:
(z. B. Garagentor) = öffnen/schließen, Ventil = öffnen/schließen,
Schloss = (ent)sperren. Praktisch für Wippen-Tastenpaare, z. B. eine
Taste "Einschalten" (öffnet das Tor) und eine zweite "Ausschalten"
(schließt es). Für Mähroboter (lawn_mower) stattdessen "Mähen
starten", "Pause" oder "Zur Ladestation" verwenden.
(schließt es). Bei einem Mähroboter (lawn_mower) bedeutet
"Umschalten": steht er auf der Ladestation → Mähen starten, sonst
(mäht/pausiert/fährt zurück) → Zur Ladestation. Alternativ auch
direkt "Mähen starten", "Pause" oder "Zur Ladestation" als feste
Aktion für diese Taste wählbar.
default: toggle
selector:
select:
@ -305,8 +320,11 @@ blueprint:
(z. B. Garagentor) = öffnen/schließen, Ventil = öffnen/schließen,
Schloss = (ent)sperren. Praktisch für Wippen-Tastenpaare, z. B. eine
Taste "Einschalten" (öffnet das Tor) und eine zweite "Ausschalten"
(schließt es). Für Mähroboter (lawn_mower) stattdessen "Mähen
starten", "Pause" oder "Zur Ladestation" verwenden.
(schließt es). Bei einem Mähroboter (lawn_mower) bedeutet
"Umschalten": steht er auf der Ladestation → Mähen starten, sonst
(mäht/pausiert/fährt zurück) → Zur Ladestation. Alternativ auch
direkt "Mähen starten", "Pause" oder "Zur Ladestation" als feste
Aktion für diese Taste wählbar.
default: toggle
selector:
select:
@ -371,6 +389,8 @@ action:
lock.unlock
{%- elif button_1_action == 'toggle' and domain == 'lock' -%}
lock.{{ 'unlock' if is_state(repeat.item, 'locked') else 'lock' }}
{%- elif button_1_action == 'toggle' and domain == 'lawn_mower' -%}
lawn_mower.{{ 'start_mowing' if is_state(repeat.item, 'docked') else 'dock' }}
{%- elif button_1_action in ['start_mowing', 'pause', 'dock'] -%}
lawn_mower.{{ button_1_action }}
{%- else -%}
@ -402,6 +422,8 @@ action:
lock.unlock
{%- elif button_2_action == 'toggle' and domain == 'lock' -%}
lock.{{ 'unlock' if is_state(repeat.item, 'locked') else 'lock' }}
{%- elif button_2_action == 'toggle' and domain == 'lawn_mower' -%}
lawn_mower.{{ 'start_mowing' if is_state(repeat.item, 'docked') else 'dock' }}
{%- elif button_2_action in ['start_mowing', 'pause', 'dock'] -%}
lawn_mower.{{ button_2_action }}
{%- else -%}
@ -433,6 +455,8 @@ action:
lock.unlock
{%- elif button_3_action == 'toggle' and domain == 'lock' -%}
lock.{{ 'unlock' if is_state(repeat.item, 'locked') else 'lock' }}
{%- elif button_3_action == 'toggle' and domain == 'lawn_mower' -%}
lawn_mower.{{ 'start_mowing' if is_state(repeat.item, 'docked') else 'dock' }}
{%- elif button_3_action in ['start_mowing', 'pause', 'dock'] -%}
lawn_mower.{{ button_3_action }}
{%- else -%}
@ -464,6 +488,8 @@ action:
lock.unlock
{%- elif button_4_action == 'toggle' and domain == 'lock' -%}
lock.{{ 'unlock' if is_state(repeat.item, 'locked') else 'lock' }}
{%- elif button_4_action == 'toggle' and domain == 'lawn_mower' -%}
lawn_mower.{{ 'start_mowing' if is_state(repeat.item, 'docked') else 'dock' }}
{%- elif button_4_action in ['start_mowing', 'pause', 'dock'] -%}
lawn_mower.{{ button_4_action }}
{%- else -%}
@ -495,6 +521,8 @@ action:
lock.unlock
{%- elif button_5_action == 'toggle' and domain == 'lock' -%}
lock.{{ 'unlock' if is_state(repeat.item, 'locked') else 'lock' }}
{%- elif button_5_action == 'toggle' and domain == 'lawn_mower' -%}
lawn_mower.{{ 'start_mowing' if is_state(repeat.item, 'docked') else 'dock' }}
{%- elif button_5_action in ['start_mowing', 'pause', 'dock'] -%}
lawn_mower.{{ button_5_action }}
{%- else -%}
@ -526,6 +554,8 @@ action:
lock.unlock
{%- elif button_6_action == 'toggle' and domain == 'lock' -%}
lock.{{ 'unlock' if is_state(repeat.item, 'locked') else 'lock' }}
{%- elif button_6_action == 'toggle' and domain == 'lawn_mower' -%}
lawn_mower.{{ 'start_mowing' if is_state(repeat.item, 'docked') else 'dock' }}
{%- elif button_6_action in ['start_mowing', 'pause', 'dock'] -%}
lawn_mower.{{ button_6_action }}
{%- else -%}