commut_rain sensor simplification
This commit is contained in:
1 parent
5061e4395b
commit
842cfe6c6a
2 files changed
+53
-30
No files matched your search
@@ -9,45 +9,68 @@ virtual_sensors:
|
||||
sensors:
|
||||
binary_sensor.someone_home: person.maeva == 'home' or person.pierre == 'home' or (input_boolean.use_red_shelly_presence and binary_sensor.red_shelly_home)
|
||||
binary_sensor.is_dark_outside: sun.sun == 'below_horizon'
|
||||
# Rain commute: time windows are provided by Home Assistant binary sensors.
|
||||
sensor.commut_rain_minutes_le_cres: sensor.next_rain_le_cres.minutes_until_rain
|
||||
sensor.commut_rain_minutes_castelnau: sensor.next_rain_castelnau_le_lez.minutes_until_rain
|
||||
sensor.commut_rain_intensity_le_cres: sensor.next_rain_le_cres.intensity
|
||||
sensor.commut_rain_intensity_castelnau: sensor.next_rain_castelnau_le_lez.intensity
|
||||
value_selector.commut_rain_minutes_until_rain:
|
||||
values:
|
||||
le_cres_first:
|
||||
conditions: >-
|
||||
sensor.commut_rain_minutes_le_cres != 'unknown' and
|
||||
sensor.commut_rain_minutes_le_cres != 'unavailable' and
|
||||
sensor.commut_rain_minutes_castelnau != 'unknown' and
|
||||
sensor.commut_rain_minutes_castelnau != 'unavailable' and
|
||||
sensor.commut_rain_minutes_le_cres <= sensor.commut_rain_minutes_castelnau
|
||||
value: sensor.commut_rain_minutes_le_cres
|
||||
le_cres_only:
|
||||
conditions: sensor.commut_rain_minutes_le_cres != 'unknown' and sensor.commut_rain_minutes_le_cres != 'unavailable'
|
||||
value: sensor.commut_rain_minutes_le_cres
|
||||
conditions:
|
||||
local_expressions:
|
||||
cres_minutes: sensor.next_rain_le_cres.minutes_until_rain
|
||||
castelnau_minutes: sensor.next_rain_castelnau_le_lez.minutes_until_rain
|
||||
cres_minutes_available: cres_minutes != None and cres_minutes != 'unknown' and cres_minutes != 'unavailable'
|
||||
castelnau_minutes_available: castelnau_minutes != None and castelnau_minutes != 'unknown' and castelnau_minutes != 'unavailable'
|
||||
trigger_conditions: cres_minutes_available and (not castelnau_minutes_available or cres_minutes <= castelnau_minutes)
|
||||
value: sensor.next_rain_le_cres.minutes_until_rain
|
||||
castelnau_only:
|
||||
conditions: sensor.commut_rain_minutes_castelnau != 'unknown' and sensor.commut_rain_minutes_castelnau != 'unavailable'
|
||||
value: sensor.commut_rain_minutes_castelnau
|
||||
conditions:
|
||||
local_expressions:
|
||||
cres_minutes: sensor.next_rain_le_cres.minutes_until_rain
|
||||
castelnau_minutes: sensor.next_rain_castelnau_le_lez.minutes_until_rain
|
||||
cres_minutes_available: cres_minutes != None and cres_minutes != 'unknown' and cres_minutes != 'unavailable'
|
||||
castelnau_minutes_available: castelnau_minutes != None and castelnau_minutes != 'unknown' and castelnau_minutes != 'unavailable'
|
||||
trigger_conditions: castelnau_minutes_available and (not cres_minutes_available or castelnau_minutes < cres_minutes)
|
||||
value: sensor.next_rain_castelnau_le_lez.minutes_until_rain
|
||||
unknown: true
|
||||
value_selector.commut_rain_intensity:
|
||||
values:
|
||||
Pluie forte: sensor.commut_rain_intensity_le_cres == 'Pluie forte' or sensor.commut_rain_intensity_castelnau == 'Pluie forte'
|
||||
Pluie modérée: sensor.commut_rain_intensity_le_cres == 'Pluie modérée' or sensor.commut_rain_intensity_castelnau == 'Pluie modérée'
|
||||
Pluie faible: sensor.commut_rain_intensity_le_cres == 'Pluie faible' or sensor.commut_rain_intensity_castelnau == 'Pluie faible'
|
||||
Temps sec: sensor.commut_rain_intensity_le_cres == 'Temps sec' and sensor.commut_rain_intensity_castelnau == 'Temps sec'
|
||||
Pluie forte:
|
||||
conditions:
|
||||
local_expressions:
|
||||
cres_intensity: sensor.next_rain_le_cres.intensity
|
||||
castelnau_intensity: sensor.next_rain_castelnau_le_lez.intensity
|
||||
trigger_conditions: cres_intensity == 'Pluie forte' or castelnau_intensity == 'Pluie forte'
|
||||
Pluie modérée:
|
||||
conditions:
|
||||
local_expressions:
|
||||
cres_intensity: sensor.next_rain_le_cres.intensity
|
||||
castelnau_intensity: sensor.next_rain_castelnau_le_lez.intensity
|
||||
trigger_conditions: cres_intensity == 'Pluie modérée' or castelnau_intensity == 'Pluie modérée'
|
||||
Pluie faible:
|
||||
conditions:
|
||||
local_expressions:
|
||||
cres_intensity: sensor.next_rain_le_cres.intensity
|
||||
castelnau_intensity: sensor.next_rain_castelnau_le_lez.intensity
|
||||
trigger_conditions: cres_intensity == 'Pluie faible' or castelnau_intensity == 'Pluie faible'
|
||||
Temps sec:
|
||||
conditions:
|
||||
local_expressions:
|
||||
cres_intensity: sensor.next_rain_le_cres.intensity
|
||||
castelnau_intensity: sensor.next_rain_castelnau_le_lez.intensity
|
||||
trigger_conditions: cres_intensity == 'Temps sec' and castelnau_intensity == 'Temps sec'
|
||||
unknown: true
|
||||
binary_sensor.commut_rain:
|
||||
conditions: >-
|
||||
binary_sensor.pierre_workday and
|
||||
((person.pierre == 'home' and binary_sensor.morning_commut_time) or
|
||||
(person.pierre != 'home' and person.pierre != 'unknown' and person.pierre != 'unavailable' and binary_sensor.evening_commut_time)) and
|
||||
((sensor.next_rain_le_cres != 'unknown' and sensor.next_rain_le_cres != 'unavailable') or
|
||||
(sensor.next_rain_castelnau_le_lez != 'unknown' and sensor.next_rain_castelnau_le_lez != 'unavailable'))
|
||||
conditions:
|
||||
trigger_conditions:
|
||||
- sensor.next_rain_le_cres != 'unknown' and sensor.next_rain_le_cres != 'unavailable'
|
||||
- sensor.next_rain_castelnau_le_lez != 'unknown' and sensor.next_rain_castelnau_le_lez != 'unavailable'
|
||||
blocking_conditions:
|
||||
- not person.pierre
|
||||
- person.pierre == 'home' and not binary_sensor.morning_commut_time
|
||||
- person.pierre != 'home' and not binary_sensor.evening_commut_time
|
||||
- not binary_sensor.pierre_workday
|
||||
|
||||
sensor_attributes:
|
||||
minutes_until_rain_le_cres: sensor.commut_rain_minutes_le_cres
|
||||
minutes_until_rain_castelnau: sensor.commut_rain_minutes_castelnau
|
||||
minutes_until_rain_le_cres: sensor.next_rain_le_cres.minutes_until_rain
|
||||
minutes_until_rain_castelnau: sensor.next_rain_castelnau_le_lez.minutes_until_rain
|
||||
minutes_until_rain: sensor.commut_rain_minutes_until_rain
|
||||
intensity: sensor.commut_rain_intensity
|
||||
|
||||
|
||||
Reference in new issue
Block a user