more small fixes and consolidating the driveway

This commit is contained in:
CeeWeasel
2025-07-20 16:39:50 -04:00
parent 0baf98f917
commit ca1082899b
25 changed files with 254 additions and 540 deletions
+23 -31
View File
@@ -1,74 +1,74 @@
alias: HVAC Fan On
id: automation_hvac_fan_on
trigger:
triggers:
# Has the fan been off for ten minutes?
- platform: state
- trigger: state
entity_id: switch.thermostat_fan_mode
to: 'off'
for: '00:10:00'
to: "off"
for: "00:10:00"
# Did the temp just switch to just right?
- platform: state
- trigger: state
entity_id: binary_sensor.temp_just_right
to: 'on'
to: "on"
# Did it just become cooler inside or outside?
- platform: state
- trigger: state
entity_id: binary_sensor.cooler_outside
from: 'off'
to: 'on'
from: "off"
to: "on"
# Did it just become warmer inside or outside?
- platform: state
- trigger: state
entity_id: binary_sensor.warmer_outside
from: 'off'
to: 'on'
from: "off"
to: "on"
# Is it starting to get too warm inside?
- platform: numeric_state
- trigger: numeric_state
entity_id: sensor.thermostat_temperature
above: 80
# Is it starting to get too cool inside?
- platform: numeric_state
- trigger: numeric_state
entity_id: sensor.thermostat_temperature
below: 60
condition:
- condition: state
entity_id: input_boolean.allow_fan
state: 'on'
state: "on"
# Are the internal sensors above 67?
# This is mainly to ensure those sensors are working
- condition: numeric_state
entity_id: sensor.return_temperature
entity_id: sensor.hvac_multisensor_return
above: 50
- condition: numeric_state
entity_id: sensor.hvac_temperature
entity_id: sensor.hvac_multisensor_supply
above: 50
# Is the fan currently off?
- condition: state
entity_id: switch.thermostat_fan_mode
state: 'off'
state: "off"
# Is the system currently idle?
- condition: state
entity_id: sensor.hvac_action
state: 'idle'
state: "idle"
# Is the home occupied?
- condition: state
entity_id: input_boolean.home_occupied
state: 'on'
state: "on"
# Is the outside temp just right?
- condition: state
entity_id: binary_sensor.temp_just_right
state: 'on'
state: "on"
# Is it getting too warm or too cold in the house?
- condition: or
@@ -80,7 +80,7 @@ condition:
above: 75
- condition: state
entity_id: binary_sensor.cooler_outside
state: 'on'
state: "on"
- condition: and
conditions:
- condition: numeric_state
@@ -88,15 +88,7 @@ condition:
below: 65
- condition: state
entity_id: binary_sensor.warmer_outside
state: 'on'
state: "on"
action:
- service: logbook.log
data_template:
name: HVAC Fan On
entity_id: automation.hvac_fan_on
message: >
Turned on HVAC fan
- service: homeassistant.turn_on
entity_id: switch.thermostat_fan_mode
@@ -24,8 +24,7 @@ variables:
before_zones:
- from_street
after_zones:
- driveway_center
- driveway_east_side
- driveway
- parking_spot
input_zones:
- from_street
@@ -25,8 +25,7 @@ variables:
before_zones:
- from_street
after_zones:
- driveway_center
- driveway_east_side
- driveway
- parking_spot
input_zones:
- from_street
+37 -29
View File
@@ -1,48 +1,56 @@
alias: Furnace Room Lights
id: automation_furnace_room_lights
description: "Handles the lights in the furnace room"
mode: queued
trigger:
- platform: state
id: door_open
entity_id: binary_sensor.furnace_room_door, binary_sensor.furnace_room_door_contact
triggers:
- id: door_open
entity_id: >-
binary_sensor.hvac_multisensor_door,
binary_sensor.furnace_room_door_contact
from: "off"
to: "on"
- platform: state
id: door_closed
entity_id: binary_sensor.furnace_room_door, binary_sensor.furnace_room_door_contact
trigger: state
alias: >-
When one of the door sensors detect that the furnace room door has been
opened
- id: door_closed
entity_id: >-
binary_sensor.hvac_multisensor_door,
binary_sensor.furnace_room_door_contact
to: "off"
for: "00:10:00"
- platform: state
id: motion_off
trigger: state
alias: When the furnace room door has been closed for 10 minutes
- id: motion_off
entity_id: binary_sensor.furnace_room_motion_switch_home_security_motion_detection
to: "off"
for: "00:15:00"
action:
trigger: state
actions:
- choose:
# - conditions:
# - condition: trigger
# id: "door_open"
# - condition: state
# entity_id: light.furnace_room
# state: 'off'
# sequence:
# - service: light.turn_on
# target:
# entity_id: light.furnace_room
- conditions:
- condition: trigger
id: "door_closed"
id: door_open
- condition: state
entity_id: binary_sensor.furnace_room_motion_switch_home_security_motion_detection
entity_id: light.furnace_room
state: "off"
sequence:
- target:
entity_id: light.furnace_room
action: light.turn_on
data: {}
- conditions:
- condition: trigger
id: door_closed
- condition: state
entity_id: >-
binary_sensor.furnace_room_motion_switch_home_security_motion_detection
state: "off"
- condition: state
entity_id: light.furnace_room
state: 'on'
state: "on"
sequence:
- service: light.turn_off
target:
- target:
entity_id: light.furnace_room
action: light.turn_off
data: {}
+4 -4
View File
@@ -2,21 +2,21 @@ alias: Mancave Lights
id: automation_mancave_lights
mode: queued
trigger:
- platform: state
triggers:
- trigger: state
id: door_open
entity_id: binary_sensor.mancave_door_contact
from: "off"
to: "on"
- platform: state
- trigger: state
id: door_closed
entity_id: binary_sensor.mancave_door_contact
from: "on"
to: "off"
for: "00:10:00"
- platform: state
- trigger: state
id: motion_off
entity_id: binary_sensor.mancave_motion_switch_home_security_motion_detection
to: "off"
@@ -1,6 +1,6 @@
# name: "HVAC Delta Sensors Unavailable"
# done_message: "HVAC delta sensors available"
# entity_id: binary_sensor.hvac_delta_sensors_unavailable
# entity_id: binary_sensor.hvac_multisensor_delta_sensors_unavailable
# state: 'on'
# repeat:
# - 15
@@ -1,7 +1,7 @@
# name: "The AC is probably broken again!"
# message: "It is {{states('sensor.front_porch_temperature')}} outside and {{state_attr('climate.thermostat','current_temperature')}} inside. The thermostat is set to {{state_attr('climate.thermostat','target_temp_low')}} and the delta is {{states('sensor.hvac_delta')}}"
# done_message: "AC is now {{states('sensor.hvac_delta')}}"
# entity_id: binary_sensor.hvac_delta_too_small_for_too_long
# message: "It is {{states('sensor.front_porch_temperature')}} outside and {{state_attr('climate.thermostat','current_temperature')}} inside. The thermostat is set to {{state_attr('climate.thermostat','target_temp_low')}} and the delta is {{states('sensor.hvac_multisensor_delta')}}"
# done_message: "AC is now {{states('sensor.hvac_multisensor_delta')}}"
# entity_id: binary_sensor.hvac_multisensor_delta_too_small_for_too_long
# state: "on"
# repeat:
# - 1
+7 -7
View File
@@ -299,9 +299,9 @@ sensors:
{% if is_state('binary_sensor.hvac_delta_sensors_unavailable','on') %}
{{'false'}}
{% else %}
{% if is_state_attr('climate.thermostat', 'hvac_action', 'cooling') and states('sensor.hvac_delta') | int(default=0) >= -5 %}
{% if is_state_attr('climate.thermostat', 'hvac_action', 'cooling') and states('sensor.hvac_multisensor_delta') | int(default=0) >= -5 %}
{{'true'}}
{% elif is_state_attr('climate.thermostat', 'hvac_action', 'heating') and states('sensor.hvac_delta') | int(default=0) <= 5 %}
{% elif is_state_attr('climate.thermostat', 'hvac_action', 'heating') and states('sensor.hvac_multisensor_delta') | int(default=0) <= 5 %}
{{'true'}}
{% else %}
{{'false'}}
@@ -329,15 +329,15 @@ sensors:
unique_id: templatebinarysensor.hvac_delta_temperature_good
friendly_name: HVAC Delta Temperature Good
value_template: >-
{% if states("sensor.hvac_temperature") | string != "unknown" and states("sensor.return_temperature") | string != "unknown" %}
{% if states("sensor.hvac_multisensor_supply") | string != "unknown" and states("sensor.hvac_multisensor_return") | string != "unknown" %}
{% if states('sensor.hvac_action') | string == 'cooling' and as_timestamp(now())-(as_timestamp(states.sensor.hvac_action.last_changed))|round(1) > 300 %}
{% if states('sensor.hvac_delta') | float(default=0) < -10 %}
{% if states('sensor.hvac_multisensor_delta') | float(default=0) < -10 %}
{{ 'true' }}
{% else %}
{{ 'false' }}
{% endif %}
{% elif states('sensor.hvac_action') | string == 'heating' and as_timestamp(now())-(as_timestamp(states.sensor.hvac_action.last_changed))|round(1) > 300 %}
{% if states('sensor.hvac_delta') | float(default=0) > 10 %}
{% if states('sensor.hvac_multisensor_delta') | float(default=0) > 10 %}
{{ 'true' }}
{% else %}
{{ 'false' }}
@@ -352,7 +352,7 @@ sensors:
delay_on:
minutes: 5
value_template: >-
{% if states("sensor.hvac_temperature") | string == 'unknown' or states("sensor.return_temperature") | string == 'unknown' or states("sensor.hvac_temperature") | string == 'unavailable' or states("sensor.return_temperature") | string == 'unavailable' %}
{% if states("sensor.hvac_multisensor_supply") | string == 'unknown' or states("sensor.hvac_multisensor_return") | string == 'unknown' or states("sensor.hvac_multisensor_supply") | string == 'unavailable' or states("sensor.hvac_multisensor_return") | string == 'unavailable' %}
{{ 'true' }}
{% else %}
{{ 'false' }}
@@ -707,7 +707,7 @@ sensors:
need_salt:
unique_id: templatebinarysensor.need_salt
friendly_name: Need Salt
value_template: "{{ is_state('binary_sensor.furnace_room_multisensor_status', 'on') and is_state('sensor.salt_level_in_bags','0') }}"
value_template: "{{ is_state('binary_sensor.hvac_multisensor_status', 'on') and is_state('sensor.hvac_multisensor_salt_level_in_bags','0') }}"
icon_template: mdi:shaker-outline
delay_on:
seconds: 900
+1 -1
View File
@@ -191,7 +191,7 @@ logbook:
- sensor.time
- sensor.time_date
- sensor.time_utc
- sensor.hvac_delta
- sensor.hvac_multisensor_delta
- sensor.master_bed_person_count
- automation.cam14_ptz_move
- automation.cycle_back_yard_camera
+1 -1
View File
@@ -70,7 +70,7 @@ sensor:
- sensor.mancave_thermostat_temperature
- sensor.blue_room_thermostat_temperature
- sensor.great_room_multisensor_air_temperature
- sensor.furnace_room_temperature
- sensor.furnace_room_thermostat_temperature
- platform: min_max
name: Downstairs Min Temperature
@@ -1,212 +0,0 @@
# 3v3 en svp sun 34 35 32 33 25 26 27 14 12 gnd 13 sd2 sd3 gnd 5v
substitutions:
devicename: hvac-multisensor-425f4f
entity_name: hvac_multisensor
friendly_name: HVAC MultiSensor
comment: Clever MultiSensor
platform: ESP32
board: wemos_d1_mini32
static_ip: !secret hvac-multisensor-ip
sda_pin: GPIO21
scl_pin: GPIO22
door_pin: GPIO19
one_wire_pin: GPIO14
trigger_pin: GPIO04
echo_pin: GPIO12
#mdc_pin: GPIO23
#mdio_pin: GPIO18
#clk_mode: GPIO17_OUT
#power_pin: GPIO5
packages:
#wifi: !include common/wifi_no_power_save.yaml
ethernet: !include common/ethernet.yaml
device_base: !include common/device_base.yaml
ble_proxy: !include common/ble_proxy.yaml
esphome:
name: ${devicename}
friendly_name: ${friendly_name}
name_add_mac_suffix: false
esp32:
board: ${board}
framework:
type: esp-idf
web_server:
port: 80
version: 3
include_internal: true
# Enable logging
logger:
api: # Using settings from common/device_base.yaml
ota: # Using settings from common/device_base.yaml
esp32_ble_tracker:
# globals:
# - id: screen_power
# type: bool
# restore_value: yes
# initial_value: 'true'
# font:
# - file: 'CascadiaMonoPL.ttf'
# id: font1
# size: 17
# one_wire:
# - platform: gpio
# pin: ${one_wire_pin}
# i2c:
# sda: ${sda_pin}
# scl: ${scl_pin}
# frequency: 800kHz
# display:
# - platform: ssd1306_i2c
# id: oled
# model: "SSD1306 128x64"
# #reset_pin: GPIO14 #D0
# address: 0x3C
# lambda: |-
# it.print(0, 0, id(font1), "Delta:");
# it.printf(128, 0, id(font1), TextAlign::TOP_RIGHT, "%.1f°F", id(hvac_delta).state);
# it.print(0, 16, id(font1), "Supply:");
# it.printf(128, 16, id(font1), TextAlign::TOP_RIGHT, "%.1f°F", id(hvac_supply).state);
# it.print(0, 32, id(font1), "Return:");
# it.printf(128, 32, id(font1), TextAlign::TOP_RIGHT, "%.1f°F", id(hvac_return).state);
# it.print(0, 48, id(font1), "Ambient:");
# it.printf(128, 48, id(font1), TextAlign::TOP_RIGHT, "%.1f°F", id(ambient).state);
# sensor:
# - platform: dallas_temp
# address: 0xB33C01B607798528
# name: "Return Temperature"
# id: hvac_return
# update_interval: 10s
# filters:
# - lambda: return x * (9.0/5.0) + 32.0;
# unit_of_measurement: "°F"
# state_class: measurement
# - platform: dallas_temp
# address: 0x0F3C01B6070C1328
# name: "Supply Temperature"
# id: hvac_supply
# update_interval: 10s
# filters:
# - lambda: return x * (9.0/5.0) + 32.0;
# unit_of_measurement: "°F"
# state_class: measurement
# - platform: dallas_temp
# address: 0xFA3C01B607005B28
# name: "Ambient Temperature"
# id: ambient
# update_interval: 10s
# filters:
# - lambda: return x * (9.0/5.0) + 32.0;
# unit_of_measurement: "°F"
# state_class: measurement
# - platform: template
# name: "Delta Temperature"
# id: hvac_delta
# lambda: |-
# return (id(hvac_supply).state - id(hvac_return).state);
# update_interval: 10s
# unit_of_measurement: "°F"
# state_class: measurement
# filters:
# - or:
# - throttle: 60s
# - delta: 1.0
# - platform: ultrasonic
# trigger_pin: ${trigger_pin}
# echo_pin: ${echo_pin}
# id: ultrasonic_source
# #update_interval: 5s
# internal: True
# filters:
# - sliding_window_moving_average:
# window_size: 5
# send_every: 5
# send_first_at: 1
# on_value:
# then:
# - sensor.template.publish:
# id: distance_from_bottom
# state: !lambda 'return id(ultrasonic_source).state;'
# - sensor.template.publish:
# id: distance_from_top
# state: !lambda 'return id(ultrasonic_source).state;'
# - platform: template
# unit_of_measurement: "cm"
# state_class: measurement
# id: distance_from_bottom
# name: "Salt Level in CM"
# #update_interval: 5s
# filters:
# - lambda: 'return (0.94 - (id(ultrasonic_source).state)) * 100;'
# on_value:
# then:
# - sensor.template.publish:
# id: level_in_bags
# state: !lambda 'return id(distance_from_bottom).state;'
# - platform: template
# unit_of_measurement: "cm"
# state_class: measurement
# id: distance_from_top
# name: "Salt Level From Top in CM"
# #update_interval: 5s
# filters:
# - lambda: 'return (id(ultrasonic_source).state) * 100;'
# - platform: template
# unit_of_measurement: "bags"
# state_class: measurement
# id: level_in_bags
# name: "Salt Level in Bags"
# #update_interval: 5s
# filters:
# - lambda: 'return (id(distance_from_bottom).state) / 17.5;'
# binary_sensor:
# - platform: gpio
# name: "Door"
# device_class: door
# pin:
# number: ${door_pin}
# mode: INPUT_PULLUP
# switch:
# - platform: template
# id: display_switch
# name: "Display"
# lambda: |-
# if (id(screen_power)) {
# id(oled).turn_on();
# } else {
# id(oled).turn_off();
# }
# return id(screen_power);
# turn_on_action:
# - lambda: |-
# id(screen_power) = true;
# // id(oled).turn_on();
# turn_off_action:
# - lambda: |-
# id(screen_power) = false;
# // id(oled).turn_off();
+82 -60
View File
@@ -11,11 +11,10 @@ substitutions:
sda_pin: GPIO21
scl_pin: GPIO22
door_pin: GPIO19
one_wire_pin: GPIO14
trigger_pin: GPIO04
echo_pin: GPIO12
echo_pin: GPIO13
#mdc_pin: GPIO23
#mdio_pin: GPIO18
#clk_mode: GPIO17_OUT
@@ -30,14 +29,35 @@ packages:
esphome:
name: ${devicename}
friendly_name: ${friendly_name}
name_add_mac_suffix: false
on_boot:
- priority: -100
then:
- lambda: |-
if (id(oled)) {
id(oled_enabled) = true;
} else {
id(oled_enabled) = false;
}
esp32:
board: ${board}
framework:
type: esp-idf
# web_server:
# port: 80
# version: 3
# include_internal: true
# Enable logging
logger:
level: DEBUG
logs:
sensor: INFO
component: INFO
ultrasonic: INFO
ethernet: DEBUG
api: # Using settings from common/device_base.yaml
@@ -46,6 +66,11 @@ ota: # Using settings from common/device_base.yaml
esp32_ble_tracker:
globals:
- id: oled_enabled
type: bool
restore_value: yes
initial_value: 'false'
- id: screen_power
type: bool
restore_value: yes
@@ -65,27 +90,12 @@ i2c:
scl: ${scl_pin}
frequency: 800kHz
display:
- platform: ssd1306_i2c
id: oled
model: "SSD1306 128x64"
#reset_pin: GPIO14 #D0
address: 0x3C
lambda: |-
it.print(0, 0, id(font1), "Delta:");
it.printf(128, 0, id(font1), TextAlign::TOP_RIGHT, "%.1f°F", id(hvac_delta).state);
it.print(0, 16, id(font1), "Supply:");
it.printf(128, 16, id(font1), TextAlign::TOP_RIGHT, "%.1f°F", id(hvac_supply).state);
it.print(0, 32, id(font1), "Return:");
it.printf(128, 32, id(font1), TextAlign::TOP_RIGHT, "%.1f°F", id(hvac_return).state);
it.print(0, 48, id(font1), "Ambient:");
it.printf(128, 48, id(font1), TextAlign::TOP_RIGHT, "%.1f°F", id(ambient).state);
sensor:
- platform: dallas_temp
address: 0xB33C01B607798528
name: "Return Temperature"
name: "Return"
id: hvac_return
icon: mdi:home-thermometer-outline
update_interval: 10s
filters:
- lambda: return x * (9.0/5.0) + 32.0;
@@ -94,8 +104,9 @@ sensor:
- platform: dallas_temp
address: 0x0F3C01B6070C1328
name: "Supply Temperature"
name: "Supply"
id: hvac_supply
icon: mdi:thermostat
update_interval: 10s
filters:
- lambda: return x * (9.0/5.0) + 32.0;
@@ -104,8 +115,9 @@ sensor:
- platform: dallas_temp
address: 0xFA3C01B607005B28
name: "Ambient Temperature"
name: "Ambient"
id: ambient
icon: mdi:home-thermometer
update_interval: 10s
filters:
- lambda: return x * (9.0/5.0) + 32.0;
@@ -113,8 +125,9 @@ sensor:
state_class: measurement
- platform: template
name: "Delta Temperature"
name: "Delta"
id: hvac_delta
icon: mdi:thermometer-lines
lambda: |-
return (id(hvac_supply).state - id(hvac_return).state);
update_interval: 10s
@@ -151,6 +164,8 @@ sensor:
state_class: measurement
id: distance_from_bottom
name: "Salt Level in CM"
icon: mdi:arrow-collapse-up
disabled_by_default: true
#update_interval: 5s
filters:
- lambda: 'return (0.94 - (id(ultrasonic_source).state)) * 100;'
@@ -165,6 +180,8 @@ sensor:
state_class: measurement
id: distance_from_top
name: "Salt Level From Top in CM"
icon: mdi:arrow-collapse-down
disabled_by_default: true
#update_interval: 5s
filters:
- lambda: 'return (id(ultrasonic_source).state) * 100;'
@@ -174,49 +191,54 @@ sensor:
state_class: measurement
id: level_in_bags
name: "Salt Level in Bags"
icon: mdi:counter
disabled_by_default: true
#update_interval: 5s
filters:
- lambda: 'return (id(distance_from_bottom).state) / 17.5;'
display:
- platform: ssd1306_i2c
id: oled
model: "SSD1306 128x64"
#reset_pin: GPIO14 #D0
address: 0x3C
lambda: |-
it.print(0, 0, id(font1), "Delta:");
it.printf(128, 0, id(font1), TextAlign::TOP_RIGHT, "%.1f°F", id(hvac_delta).state);
it.print(0, 16, id(font1), "Supply:");
it.printf(128, 16, id(font1), TextAlign::TOP_RIGHT, "%.1f°F", id(hvac_supply).state);
it.print(0, 32, id(font1), "Return:");
it.printf(128, 32, id(font1), TextAlign::TOP_RIGHT, "%.1f°F", id(hvac_return).state);
it.print(0, 48, id(font1), "Ambient:");
it.printf(128, 48, id(font1), TextAlign::TOP_RIGHT, "%.1f°F", id(ambient).state);
binary_sensor:
- platform: gpio
name: "Door"
device_class: door
pin:
number: ${door_pin}
mode: INPUT_PULLUP
pin: ${door_pin}
filters:
- invert:
- platform: homeassistant
internal: true
id: light_state
entity_id: light.furnace_room
on_state:
then:
- if:
condition:
lambda: 'return id(light_state).state;'
then:
- logger.log: "The light is on"
else:
- logger.log: "The is off. Turning off display"
- switch.turn_off: display_switch
switch:
- platform: template
id: display_switch
name: "Display"
lambda: |-
if (id(screen_power)) {
id(oled).turn_on();
} else {
id(oled).turn_off();
}
return id(screen_power);
turn_on_action:
- lambda: |-
id(screen_power) = true;
// id(oled).turn_on();
turn_off_action:
- lambda: |-
id(screen_power) = false;
// id(oled).turn_off();
# switch:
# - platform: template
# id: display_switch
# name: "Display"
# lambda: |-
# if (id(oled_enabled)) {
# if (id(screen_power)) {
# id(oled).turn_on();
# } else {
# id(oled).turn_off();
# }
# }
# return id(screen_power);
# turn_on_action:
# - lambda: |-
# id(screen_power) = true;
# // id(oled).turn_on();
# turn_off_action:
# - lambda: |-
# id(screen_power) = false;
# // id(oled).turn_off();
+1 -2
View File
@@ -17,5 +17,4 @@ ethernet:
dns2: !secret iot_default_dns2
text_sensor:
- <<: !include text_sensor/ethernet_ip_address.config.yaml
- <<: !include text_sensor/ethernet_mac_address.config.yaml
- <<: !include text_sensor/ethernet_info.config.yaml
+4
View File
@@ -0,0 +1,4 @@
web_server:
port: 80
version: 3
include_internal: true
@@ -1,6 +1,6 @@
# 3v3 en svp sun 34 35 32 33 25 26 27 14 12 gnd 13 sd2 sd3 gnd 5v
substitutions:
devicename: hvac-multisensor-425f4f
devicename: hvac-multisensor
entity_name: hvac_multisensor
friendly_name: HVAC MultiSensor
comment: Clever MultiSensor
@@ -21,7 +21,6 @@ substitutions:
#power_pin: GPIO5
packages:
#wifi: !include common/wifi_no_power_save.yaml
ethernet: !include common/ethernet.yaml
device_base: !include common/device_base.yaml
ble_proxy: !include common/ble_proxy.yaml
@@ -30,26 +29,12 @@ esphome:
name: ${devicename}
friendly_name: ${friendly_name}
name_add_mac_suffix: false
on_boot:
- priority: -100
then:
- lambda: |-
if (id(oled)) {
id(oled_enabled) = true;
} else {
id(oled_enabled) = false;
}
esp32:
board: ${board}
framework:
type: esp-idf
# web_server:
# port: 80
# version: 3
# include_internal: true
# Enable logging
logger:
level: DEBUG
@@ -74,13 +59,22 @@ globals:
- id: screen_power
type: bool
restore_value: yes
initial_value: 'true'
initial_value: 'false'
font:
- file: 'CascadiaMonoPL.ttf'
- file: 'fonts/CascadiaMonoPL.ttf'
id: font1
size: 17
# - file: "gfonts://Roboto"
# id: roboto_20
# size: 20
# - file: "gfonts://Material+Symbols+Outlined"
# id: icons_50
# size: 50
# glyphs: ["\U0000e425"] # mdi-timer
one_wire:
- platform: gpio
pin: ${one_wire_pin}
@@ -221,24 +215,21 @@ binary_sensor:
filters:
- invert:
# switch:
# - platform: template
# id: display_switch
# name: "Display"
# lambda: |-
# if (id(oled_enabled)) {
# if (id(screen_power)) {
# id(oled).turn_on();
# } else {
# id(oled).turn_off();
# }
# }
# return id(screen_power);
# turn_on_action:
# - lambda: |-
# id(screen_power) = true;
# // id(oled).turn_on();
# turn_off_action:
# - lambda: |-
# id(screen_power) = false;
# // id(oled).turn_off();
switch:
- platform: template
id: display_switch
icon: mdi:console
name: "Display"
lambda: |-
// if (id(screen_power)) {
// id(oled).turn_on();
// } else {
// id(oled).turn_off();
// }
return id(screen_power);
turn_on_action:
- lambda: |-
id(screen_power) = true;
turn_off_action:
- lambda: |-
id(screen_power) = false;
+2 -28
View File
@@ -145,43 +145,17 @@ card:
- type: conditional
conditions:
- entity: binary_sensor.driveway_east_side_vehicle_occupancy
- entity: binary_sensor.driveway_vehicle_occupancy
state: "on"
- entity: binary_sensor.garage_door
state: "on"
elements:
- type: state-icon
entity: binary_sensor.driveway_east_side_vehicle_occupancy
style:
top: 50%
left: 63%
- type: conditional
conditions:
- entity: binary_sensor.driveway_center_vehicle_occupancy
state: "on"
- entity: binary_sensor.garage_door
state: "on"
elements:
- type: state-icon
entity: binary_sensor.driveway_center_vehicle_occupancy
entity: binary_sensor.driveway_vehicle_occupancy
style:
top: 50%
left: 55%
- type: conditional
conditions:
- entity: binary_sensor.driveway_west_side_vehicle_occupancy
state: "on"
- entity: binary_sensor.garage_door
state: "on"
elements:
- type: state-icon
entity: binary_sensor.driveway_west_side_vehicle_occupancy
style:
top: 50%
left: 47%
- type: conditional
conditions:
- entity: binary_sensor.walkway_person_occupancy
+2 -24
View File
@@ -94,37 +94,15 @@ card:
- type: conditional
conditions:
- entity: binary_sensor.driveway_east_side_vehicle_occupancy
- entity: binary_sensor.driveway_vehicle_occupancy
state: "on"
elements:
- type: state-icon
entity: binary_sensor.driveway_east_side_vehicle_occupancy
style:
top: 35%
left: 65%
- type: conditional
conditions:
- entity: binary_sensor.driveway_center_vehicle_occupancy
state: "on"
elements:
- type: state-icon
entity: binary_sensor.driveway_center_vehicle_occupancy
entity: binary_sensor.driveway_vehicle_occupancy
style:
top: 45%
left: 55%
- type: conditional
conditions:
- entity: binary_sensor.driveway_west_side_vehicle_occupancy
state: "on"
elements:
- type: state-icon
entity: binary_sensor.driveway_west_side_vehicle_occupancy
style:
top: 55%
left: 45%
- type: conditional
conditions:
- entity: binary_sensor.parking_spot_vehicle_occupancy
+2 -13
View File
@@ -94,26 +94,15 @@ card:
- type: conditional
conditions:
- entity: binary_sensor.driveway_center_vehicle_occupancy
- entity: binary_sensor.driveway_vehicle_occupancy
state: "on"
elements:
- type: state-icon
entity: binary_sensor.driveway_center_vehicle_occupancy
entity: binary_sensor.driveway_vehicle_occupancy
style:
top: 60%
left: 14%
- type: conditional
conditions:
- entity: binary_sensor.driveway_east_side_vehicle_occupancy
state: "on"
elements:
- type: state-icon
entity: binary_sensor.driveway_east_side_vehicle_occupancy
style:
top: 60%
left: 20%
- type: conditional
conditions:
- entity: binary_sensor.parking_spot_vehicle_occupancy
+3 -3
View File
@@ -44,7 +44,7 @@ cards:
- type: horizontal-stack
cards:
- type: custom:mushroom-entity-card
entity: switch.hvac_display_switch
entity: switch.hvac_multisensor_display
name: HVAC Display
icon: mdi:monitor
layout: vertical
@@ -77,13 +77,13 @@ cards:
- hours_to_show: 24
graph: line
type: sensor
entity: sensor.return_temperature
entity: sensor.hvac_multisensor_return
detail: 1
name: Return
- hours_to_show: 24
graph: line
type: sensor
entity: sensor.hvac_temperature
entity: sensor.hvac_multisensor_supply
detail: 1
name: Supply
# - type: vertical-stack
+7 -9
View File
@@ -17,7 +17,7 @@ elements:
text-align: right
#Card title
- type: custom:mushroom-title-card
title: 'Furnace Room'
title: "Furnace Room"
style:
font-size: 130%
left: -2%
@@ -52,7 +52,7 @@ elements:
hold_action:
action: more-info
- type: 'custom:button-card'
- type: "custom:button-card"
color: auto
entity: light.furnace_room
show_name: false
@@ -74,7 +74,7 @@ elements:
action: more-info
#button #3
- type: 'custom:button-card'
- type: "custom:button-card"
color: auto
entity: binary_sensor.heat_pump
show_name: false
@@ -94,17 +94,16 @@ elements:
action: more-info
- type: custom:mushroom-template-card
primary: "{{ states('sensor.hvac_delta') }}"
entity: sensor.hvac_delta
primary: "{{ states('sensor.hvac_multisensor_delta') }}"
entity: sensor.hvac_multisensor_delta
tap_action:
action: more-info
style:
left: 36%
top: 88%
#button #3
- type: 'custom:button-card'
- type: "custom:button-card"
color: auto
entity: binary_sensor.furnace
show_name: false
@@ -124,7 +123,7 @@ elements:
action: more-info
#button #3
- type: 'custom:button-card'
- type: "custom:button-card"
color: auto
entity: binary_sensor.furnace_room_water_sensor_water_alarm_water_leak_detected
show_name: false
@@ -142,7 +141,6 @@ elements:
- height: 30px
tap_action:
action: more-info
# 12,31,50,69,88
# 14,38,62,86
# 25,50,75
+6 -8
View File
@@ -187,9 +187,7 @@ cards:
- binary_sensor.utility_room_person_occupancy
- binary_sensor.blue_room_person_occupancy
- binary_sensor.furnace_room_person_occupancy
- binary_sensor.driveway_center_vehicle_occupancy
- binary_sensor.driveway_east_side_vehicle_occupancy
- binary_sensor.driveway_west_side_vehicle_occupancy
- binary_sensor.driveway_vehicle_occupancy
states:
- state: "on"
class: "visible-entity"
@@ -452,9 +450,9 @@ cards:
- sensor.front_porch_temperature
- sensor.deck_temperature
- sensor.garage_multisensor_air_temperature
#- sensor.hvac_temperature
#- sensor.return_temperature
- sensor.hvac_delta
#- sensor.hvac_multisensor_supply
#- sensor.hvac_multisensor_return
- sensor.hvac_multisensor_delta
- sensor.outdoors_mean_temperature
# text_template: '${entity.state ? entity.state : "unknown"} F'
# An example of rounding up a number, i.e. a temperature of 90.1 becomes 91
@@ -596,7 +594,7 @@ cards:
'
- entities:
- sensor.salt_level_in_bags
- sensor.hvac_multisensor_salt_level_in_bags
class_template: '
var bags = parseFloat(entity.state);
if (bags > 4)
@@ -801,7 +799,7 @@ cards:
- binary_sensor.storage_room_door_contact
- binary_sensor.mancave_door_contact
- binary_sensor.blue_room_door_contact
- binary_sensor.furnace_room_door
- binary_sensor.hvac_multisensor_door
- binary_sensor.furnace_room_door_contact
- binary_sensor.utility_room_door_contact
states:
+7 -18
View File
@@ -922,25 +922,11 @@ badges:
navigation_path: /ai-yml/ai-cam19
hold_action:
action: more-info
- entity: binary_sensor.driveway_east_side_vehicle_occupancy
- entity: binary_sensor.driveway_vehicle_occupancy
name: Driveway
tap_action:
action: navigate
navigation_path: /ai-yml/ai-cam19
hold_action:
action: more-info
- entity: binary_sensor.driveway_center_vehicle_occupancy
name: Driveway
tap_action:
action: navigate
navigation_path: /ai-yml/ai-cam19
hold_action:
action: more-info
- entity: binary_sensor.driveway_west_side_vehicle_occupancy
name: Driveway
tap_action:
action: navigate
navigation_path: /ai-yml/ai-cam19
navigation_path: /ai-yml/ai-cam18
hold_action:
action: more-info
# - entity: input_boolean.guest_mode
@@ -1197,7 +1183,7 @@ cards:
# - entity: binary_sensor.front_yard_plant_monitor_status
# state_filter:
# - "off"
# - entity: binary_sensor.furnace_room_multisensor_status
# - entity: binary_sensor.hvac_multisensor_status
# state_filter:
# - "off"
- entity: binary_sensor.pm_status
@@ -1206,12 +1192,15 @@ cards:
- entity: binary_sensor.nursery_tagreader_status
state_filter:
- "off"
- entity: binary_sensor.nursery_tagreader_status
- entity: binary_sensor.everything_presence_lite_8fa4fc_everything_presence_great_room_status
state_filter:
- "off"
- entity: binary_sensor.black_bed_status
state_filter:
- "off"
- entity: binary_sensor.hvac_multisensor_status
state_filter:
- "off"
# - entity: binary_sensor.white_bed_status
# state_filter:
# - "off"
+8 -22
View File
@@ -1619,14 +1619,14 @@
style="stroke-width:0.012145"
transform="scale(-1)" />
<rect
id="binary_sensor.furnace_room_door"
id="binary_sensor.hvac_multisensor_door"
width="28.25"
height="1.25"
x="-719.29169"
y="17456.875"
style="fill:#a05a2c;stroke:#a05a2c;stroke-width:0.00515836"
transform="scale(-1)"
inkscape:label="binary_sensor.furnace_room_door" />
inkscape:label="binary_sensor.hvac_multisensor_door" />
<rect
id="rect12-8-8-9-3-20-4-5-2"
width="68.25"
@@ -1868,8 +1868,8 @@
<text
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.36111px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;display:inline;fill:#d4d4d4;fill-opacity:1;stroke-width:2.63435"
transform="scale(0.93757302,1.0665836)"
inkscape:label="sensor.hvac_delta"
id="sensor.hvac_delta"
inkscape:label="sensor.hvac_multisensor_delta"
id="sensor.hvac_multisensor_delta"
y="-16404.076"
x="765.16064"
xml:space="preserve"><tspan
@@ -3174,8 +3174,8 @@
xml:space="preserve"
x="611.51886"
y="-17958.744"
id="sensor.salt_level_in_bags"
inkscape:label="sensor.salt_level_in_bags"
id="sensor.hvac_multisensor_salt_level_in_bags"
inkscape:label="sensor.hvac_multisensor_salt_level_in_bags"
transform="scale(1.0282777,0.97249994)"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:19.5306px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#d4d4d4;fill-opacity:1;stroke-width:1.20408"><tspan
style="stroke-width:1.20408"
@@ -5140,25 +5140,11 @@
inkscape:label="device_tracker.chevrolet_traverse_location"
transform="translate(0,-2.5912728e-4)" />
<path
id="binary_sensor.driveway_east_side_vehicle_occupancy"
d="m 231.34733,28.689841 c 0.55157,-0.329533 0.67185,-2.356253 0.67965,-3.270824 0.005,-0.411866 -0.0328,-0.955687 -0.0262,-1.565333 2e-4,-0.08233 3e-4,-0.247201 6.1e-4,-0.329533 0.0197,0 0.0656,0 0.1128,-0.08243 0.0728,0 0.16265,-0.08233 0.23348,-0.164767 0.1292,-0.08233 0.16593,-0.164766 0.18102,-0.329533 0,0 -1.1e-4,0 -3.1e-4,0 0.001,0 0.002,0 0.003,0 0.002,0 -0.003,0 -0.0131,0 -0.0197,0 -0.0394,0 -0.0682,0 -0.0131,0 -0.0656,0 -0.1233,0 -0.0997,0 -0.2361,0.08243 -0.26824,0.08243 -0.0197,0 -0.0393,0 -0.0525,0 0.002,-3.608662 -0.0262,-8.724932 -0.0702,-9.499346 -0.0662,-1.16167 -0.2925,-2.084444 -0.46696,-2.339847 -0.17708,-0.247099 -0.96875,-0.659066 -2.32995,-0.659066 -1.36113,0 -2.15293,0.411967 -2.32765,0.659066 -0.17708,0.247201 -0.40007,1.178177 -0.46631,2.339847 -0.0459,0.741501 -0.0728,5.890684 -0.0708,9.499346 -0.0131,0 -0.0328,0 -0.0525,0 -0.0328,0 -0.1751,0 -0.27742,-0.08243 -0.0525,0 -0.099,0 -0.11477,0 -0.0262,0 -0.0525,0 -0.0695,0 -0.007,0 -0.0131,0 -0.0131,0 0,0 3e-4,0 0.001,0 v 0 c 0,0 0,0 0,0 0.0131,0.164767 0.0525,0.247201 0.18364,0.329533 0.0676,0 0.15412,0.08243 0.22298,0.164767 0.0525,0 0.099,0 0.1233,0.08243 10e-5,0.08233 3e-4,0.2472 6.1e-4,0.329533 0,0.576734 -0.0328,1.128757 -0.0328,1.565333 0.007,0.914571 0.13117,2.908378 0.67965,3.270824 0.28464,0.164767 1.31326,0.576734 2.21603,0.576734 0.89982,0 1.92825,-0.411967 2.21308,-0.576734 z m 0.39744,-9.136798 c 0.0262,1.367654 0.0328,2.685888 0.0328,3.583851 l -0.14101,-0.164767 c -0.16199,-1.351147 -0.28726,-2.578744 -0.30562,-3.789834 0.14822,0.08243 0.30496,0.247201 0.41318,0.329533 z m -4.24219,-7.381887 c 0,-0.164868 0.0525,-0.2472 0.18233,-0.329635 0.4486,-0.08233 0.91562,-0.164766 1.44895,-0.164766 0.53058,0 0.99767,0 1.44647,0.164766 0.13051,0 0.18166,0.08244 0.18166,0.329635 0,0.411866 0,0.93918 0,1.532319 0,0.247201 -0.0715,0.247201 -0.20528,0.247201 -0.48729,0 -0.89273,0 -1.42357,0 -0.5332,0 -0.93884,0 -1.426,0 -0.13314,0 -0.20528,0 -0.20528,-0.247201 3e-4,-0.576632 3e-4,-1.136859 3e-4,-1.532319 z m -0.64666,3.064739 -0.082,-0.247099 c -0.0459,-0.164766 -0.0525,-0.164766 -0.0459,-0.329533 0.0131,-0.164868 0.0262,-0.247201 0.0459,-0.411967 0.007,0 0.0262,-0.164767 0.0525,-0.247201 0.0262,-0.164766 0.0459,-0.164766 0.0525,0 0.0131,0.329534 0.0262,0.741501 0.0328,1.202888 1e-4,0.08243 -0.0197,0.08243 -0.059,0 z m 4.49876,0 c 0.007,-0.411865 0.0197,-0.84034 0.0328,-1.202786 0.005,-0.164766 0.0262,-0.164766 0.0525,0 0.0262,0.164767 0.0459,0.2471 0.0459,0.2471 0.0197,0.164766 0.0328,0.2472 0.0459,0.411967 0.0131,0.164766 0.005,0.164766 -0.0394,0.329533 l -0.082,0.2472 c -0.0393,0.08233 -0.059,0.08233 -0.059,0 z m 0.37973,3.592155 c -0.12067,0 -0.2643,-0.164767 -0.40531,-0.164767 0.002,-1.16167 0.005,-2.084444 0.0131,-2.867161 l 0.15282,-0.164767 0.14231,-0.08233 c 0.0459,0.947483 0.0741,2.125559 0.0977,3.303737 z m -5.10403,-3.23781 0.14887,0.08233 0.14363,0.08243 c 0.0131,0.823833 0.0131,1.70539 0.0131,2.86706 -0.13838,0 -0.28463,0.08243 -0.40268,0.164767 0.0197,-1.178177 0.0525,-2.356253 0.0977,-3.303737 z m -0.11018,3.97931 c 0.10755,-0.08243 0.26365,-0.2472 0.41252,-0.329533 -0.0197,1.21109 -0.14101,2.438687 -0.30234,3.789834 l -0.14363,0.164767 c 0.003,-0.898064 0.0131,-2.216298 0.0328,-3.583851 z m 0.43351,5.70941 c -0.16855,-0.08233 -0.22233,-0.164766 -0.22233,-0.329533 0,0 0.006,-0.164766 0.0131,-0.247099 0.0328,-0.411967 0.0885,-0.848644 0.1515,-1.384161 0.0394,-0.329533 0.082,-0.659066 0.12329,-1.079236 0.0262,-0.247201 0.11478,-0.329634 0.30628,-0.329634 0.62502,0.08243 1.23266,0.164867 1.80718,0.164867 0.57583,0 1.18294,0 1.80416,-0.164867 0.19478,0 0.2807,0 0.30628,0.329634 0.0393,0.411866 0.082,0.7415 0.12199,1.062729 0.0656,0.576734 0.11936,1.013411 0.15281,1.400668 0.007,0.08233 0.0131,0.164767 0.0131,0.247099 0,0.164767 -0.0525,0.247201 -0.22233,0.329533 -0.62109,0.329635 -1.17639,0.576734 -2.17766,0.576734 -1.00417,0 -1.55934,-0.247099 -2.18042,-0.576734 z m 0.71303,3.336752 c -0.32661,-0.164767 -0.55025,-0.247201 -0.70339,-0.411968 -0.15937,-0.164766 -0.20594,-0.247099 -0.23545,-0.494299 -0.0393,-0.247201 -0.0459,-0.741501 -0.0459,-1.029817 0,0 0.0131,0 0.0262,0 0.0262,0 0.0662,0 0.084,0 0.059,0.08233 0.2302,0.329533 0.33251,0.4943 0.0394,0 0.0656,0.08243 0.0741,0.08243 0.007,0 0.0197,0 0.0262,0 0.0328,0 0.0662,0 0.0918,0.164767 0.12002,0.494299 0.25644,0.897962 0.38498,1.095743 0.0262,0 0.0262,0 0.0131,0 -0.007,0 -0.0262,0 -0.0525,0 z m 2.88269,0 c -0.005,0 -0.007,0 -0.007,0 0,0 0.007,0 0.0197,0 0.12789,-0.164767 0.2643,-0.576734 0.38366,-1.087541 0.0262,-0.08233 0.059,-0.164766 0.0925,-0.164766 0.0131,0 0.0197,0 0.0262,0 0.007,0 0.0328,0 0.0689,-0.08233 0.0971,-0.164868 0.27874,-0.411967 0.33514,-0.494401 0.0197,0 0.059,0 0.0859,0 0.0131,0 0.0262,0 0.0262,0 0,0.411967 -0.0131,0.823934 -0.0459,1.029917 -0.0328,0.164767 -0.0761,0.329534 -0.23283,0.4943 -0.15871,0.164767 -0.38301,0.247201 -0.7068,0.411967 -0.0262,0 -0.0394,0 -0.0459,0 z"
inkscape:connector-curvature="0"
style="display:inline;fill:#4b4b4b;fill-opacity:1;stroke:none;stroke-width:0.182117"
inkscape:label="binary_sensor.driveway_east_side_vehicle_occupancy"
transform="translate(0,-17815)" />
<path
id="binary_sensor.driveway_center_vehicle_occupancy"
id="binary_sensor.driveway_vehicle_occupancy"
d="m 177.34733,28.689841 c 0.55157,-0.329533 0.67185,-2.356253 0.67965,-3.270824 0.005,-0.411866 -0.0328,-0.955687 -0.0262,-1.565333 2e-4,-0.08233 3e-4,-0.247201 6.1e-4,-0.329533 0.0197,0 0.0656,0 0.1128,-0.08243 0.0728,0 0.16265,-0.08233 0.23348,-0.164767 0.1292,-0.08233 0.16593,-0.164766 0.18102,-0.329533 0,0 -1.1e-4,0 -3.1e-4,0 0.001,0 0.002,0 0.003,0 0.002,0 -0.003,0 -0.0131,0 -0.0197,0 -0.0394,0 -0.0682,0 -0.0131,0 -0.0656,0 -0.1233,0 -0.0997,0 -0.2361,0.08243 -0.26824,0.08243 -0.0197,0 -0.0393,0 -0.0525,0 0.002,-3.608662 -0.0262,-8.724932 -0.0702,-9.499346 -0.0662,-1.16167 -0.2925,-2.084444 -0.46696,-2.339847 -0.17708,-0.247099 -0.96875,-0.659066 -2.32995,-0.659066 -1.36113,0 -2.15293,0.411967 -2.32765,0.659066 -0.17708,0.247201 -0.40007,1.178177 -0.46631,2.339847 -0.0459,0.741501 -0.0728,5.890684 -0.0708,9.499346 -0.0131,0 -0.0328,0 -0.0525,0 -0.0328,0 -0.1751,0 -0.27742,-0.08243 -0.0525,0 -0.099,0 -0.11477,0 -0.0262,0 -0.0525,0 -0.0695,0 -0.007,0 -0.0131,0 -0.0131,0 0,0 3e-4,0 0.001,0 v 0 c 0,0 0,0 0,0 0.0131,0.164767 0.0525,0.247201 0.18364,0.329533 0.0676,0 0.15412,0.08243 0.22298,0.164767 0.0525,0 0.099,0 0.1233,0.08243 10e-5,0.08233 3e-4,0.2472 6.1e-4,0.329533 0,0.576734 -0.0328,1.128757 -0.0328,1.565333 0.007,0.914571 0.13117,2.908378 0.67965,3.270824 0.28464,0.164767 1.31326,0.576734 2.21603,0.576734 0.89982,0 1.92825,-0.411967 2.21308,-0.576734 z m 0.39744,-9.136798 c 0.0262,1.367654 0.0328,2.685888 0.0328,3.583851 l -0.14101,-0.164767 c -0.16199,-1.351147 -0.28726,-2.578744 -0.30562,-3.789834 0.14822,0.08243 0.30496,0.247201 0.41318,0.329533 z m -4.24219,-7.381887 c 0,-0.164868 0.0525,-0.2472 0.18233,-0.329635 0.4486,-0.08233 0.91562,-0.164766 1.44895,-0.164766 0.53058,0 0.99767,0 1.44647,0.164766 0.13051,0 0.18166,0.08244 0.18166,0.329635 0,0.411866 0,0.93918 0,1.532319 0,0.247201 -0.0715,0.247201 -0.20528,0.247201 -0.48729,0 -0.89273,0 -1.42357,0 -0.5332,0 -0.93884,0 -1.426,0 -0.13314,0 -0.20528,0 -0.20528,-0.247201 3e-4,-0.576632 3e-4,-1.136859 3e-4,-1.532319 z m -0.64666,3.064739 -0.082,-0.247099 c -0.0459,-0.164766 -0.0525,-0.164766 -0.0459,-0.329533 0.0131,-0.164868 0.0262,-0.247201 0.0459,-0.411967 0.007,0 0.0262,-0.164767 0.0525,-0.247201 0.0262,-0.164766 0.0459,-0.164766 0.0525,0 0.0131,0.329534 0.0262,0.741501 0.0328,1.202888 1e-4,0.08243 -0.0197,0.08243 -0.059,0 z m 4.49876,0 c 0.007,-0.411865 0.0197,-0.84034 0.0328,-1.202786 0.005,-0.164766 0.0262,-0.164766 0.0525,0 0.0262,0.164767 0.0459,0.2471 0.0459,0.2471 0.0197,0.164766 0.0328,0.2472 0.0459,0.411967 0.0131,0.164766 0.005,0.164766 -0.0394,0.329533 l -0.082,0.2472 c -0.0393,0.08233 -0.059,0.08233 -0.059,0 z m 0.37973,3.592155 c -0.12067,0 -0.2643,-0.164767 -0.40531,-0.164767 0.002,-1.16167 0.005,-2.084444 0.0131,-2.867161 l 0.15282,-0.164767 0.14231,-0.08233 c 0.0459,0.947483 0.0741,2.125559 0.0977,3.303737 z m -5.10403,-3.23781 0.14887,0.08233 0.14363,0.08243 c 0.0131,0.823833 0.0131,1.70539 0.0131,2.86706 -0.13838,0 -0.28463,0.08243 -0.40268,0.164767 0.0197,-1.178177 0.0525,-2.356253 0.0977,-3.303737 z m -0.11018,3.97931 c 0.10755,-0.08243 0.26365,-0.2472 0.41252,-0.329533 -0.0197,1.21109 -0.14101,2.438687 -0.30234,3.789834 l -0.14363,0.164767 c 0.003,-0.898064 0.0131,-2.216298 0.0328,-3.583851 z m 0.43351,5.70941 c -0.16855,-0.08233 -0.22233,-0.164766 -0.22233,-0.329533 0,0 0.006,-0.164766 0.0131,-0.247099 0.0328,-0.411967 0.0885,-0.848644 0.1515,-1.384161 0.0394,-0.329533 0.082,-0.659066 0.12329,-1.079236 0.0262,-0.247201 0.11478,-0.329634 0.30628,-0.329634 0.62502,0.08243 1.23266,0.164867 1.80718,0.164867 0.57583,0 1.18294,0 1.80416,-0.164867 0.19478,0 0.2807,0 0.30628,0.329634 0.0393,0.411866 0.082,0.7415 0.12199,1.062729 0.0656,0.576734 0.11936,1.013411 0.15281,1.400668 0.007,0.08233 0.0131,0.164767 0.0131,0.247099 0,0.164767 -0.0525,0.247201 -0.22233,0.329533 -0.62109,0.329635 -1.17639,0.576734 -2.17766,0.576734 -1.00417,0 -1.55934,-0.247099 -2.18042,-0.576734 z m 0.71303,3.336752 c -0.32661,-0.164767 -0.55025,-0.247201 -0.70339,-0.411968 -0.15937,-0.164766 -0.20594,-0.247099 -0.23545,-0.494299 -0.0393,-0.247201 -0.0459,-0.741501 -0.0459,-1.029817 0,0 0.0131,0 0.0262,0 0.0262,0 0.0662,0 0.084,0 0.059,0.08233 0.2302,0.329533 0.33251,0.4943 0.0394,0 0.0656,0.08243 0.0741,0.08243 0.007,0 0.0197,0 0.0262,0 0.0328,0 0.0662,0 0.0918,0.164767 0.12002,0.494299 0.25644,0.897962 0.38498,1.095743 0.0262,0 0.0262,0 0.0131,0 -0.007,0 -0.0262,0 -0.0525,0 z m 2.88269,0 c -0.005,0 -0.007,0 -0.007,0 0,0 0.007,0 0.0197,0 0.12789,-0.164767 0.2643,-0.576734 0.38366,-1.087541 0.0262,-0.08233 0.059,-0.164766 0.0925,-0.164766 0.0131,0 0.0197,0 0.0262,0 0.007,0 0.0328,0 0.0689,-0.08233 0.0971,-0.164868 0.27874,-0.411967 0.33514,-0.494401 0.0197,0 0.059,0 0.0859,0 0.0131,0 0.0262,0 0.0262,0 0,0.411967 -0.0131,0.823934 -0.0459,1.029917 -0.0328,0.164767 -0.0761,0.329534 -0.23283,0.4943 -0.15871,0.164767 -0.38301,0.247201 -0.7068,0.411967 -0.0262,0 -0.0394,0 -0.0459,0 z"
inkscape:connector-curvature="0"
style="display:inline;fill:#4b4b4b;fill-opacity:1;stroke:none;stroke-width:0.182117"
inkscape:label="binary_sensor.driveway_center_vehicle_occupancy"
transform="translate(0,-17815)" />
<path
id="binary_sensor.driveway_west_side_vehicle_occupancy"
d="m 113.34733,26.689841 c 0.55157,-0.329533 0.67185,-2.356253 0.67965,-3.270824 0.005,-0.411866 -0.0328,-0.955687 -0.0262,-1.565333 2e-4,-0.08233 3e-4,-0.247201 6.1e-4,-0.329533 0.0197,0 0.0656,0 0.1128,-0.08243 0.0728,0 0.16265,-0.08233 0.23348,-0.164767 0.1292,-0.08233 0.16593,-0.164766 0.18102,-0.329533 0,0 -1.1e-4,0 -3.1e-4,0 0.001,0 0.002,0 0.003,0 0.002,0 -0.003,0 -0.0131,0 -0.0197,0 -0.0394,0 -0.0682,0 -0.0131,0 -0.0656,0 -0.1233,0 -0.0997,0 -0.2361,0.08243 -0.26824,0.08243 -0.0197,0 -0.0393,0 -0.0525,0 0.002,-3.608662 -0.0262,-8.724932 -0.0702,-9.499346 -0.0662,-1.16167 -0.2925,-2.0844444 -0.46696,-2.3398474 -0.17708,-0.247099 -0.96875,-0.659066 -2.32995,-0.659066 -1.36113,0 -2.15293,0.411967 -2.32765,0.659066 -0.17708,0.247201 -0.40007,1.1781774 -0.46631,2.3398474 -0.0459,0.741501 -0.0728,5.890684 -0.0708,9.499346 -0.0131,0 -0.0328,0 -0.0525,0 -0.0328,0 -0.1751,0 -0.27742,-0.08243 -0.0525,0 -0.099,0 -0.11477,0 -0.0262,0 -0.0525,0 -0.0695,0 -0.007,0 -0.0131,0 -0.0131,0 0,0 3e-4,0 10e-4,0 v 0 c 0,0 0,0 0,0 0.0131,0.164767 0.0525,0.247201 0.18364,0.329533 0.0676,0 0.15412,0.08243 0.22298,0.164767 0.0525,0 0.099,0 0.1233,0.08243 1e-4,0.08233 3e-4,0.2472 6.1e-4,0.329533 0,0.576734 -0.0328,1.128757 -0.0328,1.565333 0.007,0.914571 0.13117,2.908378 0.67965,3.270824 0.28464,0.164767 1.31326,0.576734 2.21603,0.576734 0.89982,0 1.92825,-0.411967 2.21308,-0.576734 z m 0.39744,-9.136798 c 0.0262,1.367654 0.0328,2.685888 0.0328,3.583851 l -0.14101,-0.164767 c -0.16199,-1.351147 -0.28726,-2.578744 -0.30562,-3.789834 0.14822,0.08243 0.30496,0.247201 0.41318,0.329533 z m -4.24219,-7.381887 c 0,-0.164868 0.0525,-0.2472004 0.18233,-0.3296354 0.4486,-0.08233 0.91562,-0.164766 1.44895,-0.164766 0.53058,0 0.99767,0 1.44647,0.164766 0.13051,0 0.18166,0.08244 0.18166,0.3296354 0,0.411866 0,0.93918 0,1.532319 0,0.247201 -0.0715,0.247201 -0.20528,0.247201 -0.48729,0 -0.89273,0 -1.42357,0 -0.5332,0 -0.93884,0 -1.426,0 -0.13314,0 -0.20528,0 -0.20528,-0.247201 3e-4,-0.576632 3e-4,-1.136859 3e-4,-1.532319 z m -0.64666,3.064739 -0.082,-0.247099 c -0.0459,-0.164766 -0.0525,-0.164766 -0.0459,-0.329533 0.0131,-0.164868 0.0262,-0.247201 0.0459,-0.411967 0.007,0 0.0262,-0.164767 0.0525,-0.247201 0.0262,-0.164766 0.0459,-0.164766 0.0525,0 0.0131,0.329534 0.0262,0.741501 0.0328,1.202888 1e-4,0.08243 -0.0197,0.08243 -0.059,0 z m 4.49876,0 c 0.007,-0.411865 0.0197,-0.84034 0.0328,-1.202786 0.005,-0.164766 0.0262,-0.164766 0.0525,0 0.0262,0.164767 0.0459,0.2471 0.0459,0.2471 0.0197,0.164766 0.0328,0.2472 0.0459,0.411967 0.0131,0.164766 0.005,0.164766 -0.0394,0.329533 l -0.082,0.2472 c -0.0393,0.08233 -0.059,0.08233 -0.059,0 z m 0.37973,3.592155 c -0.12067,0 -0.2643,-0.164767 -0.40531,-0.164767 0.002,-1.16167 0.005,-2.084444 0.0131,-2.867161 l 0.15282,-0.164767 0.14231,-0.08233 c 0.0459,0.947483 0.0741,2.125559 0.0977,3.303737 z m -5.10403,-3.23781 0.14887,0.08233 0.14363,0.08243 c 0.0131,0.823833 0.0131,1.70539 0.0131,2.86706 -0.13838,0 -0.28463,0.08243 -0.40268,0.164767 0.0197,-1.178177 0.0525,-2.356253 0.0977,-3.303737 z m -0.11018,3.97931 c 0.10755,-0.08243 0.26365,-0.2472 0.41252,-0.329533 -0.0197,1.21109 -0.14101,2.438687 -0.30234,3.789834 l -0.14363,0.164767 c 0.003,-0.898064 0.0131,-2.216298 0.0328,-3.583851 z m 0.43351,5.70941 c -0.16855,-0.08233 -0.22233,-0.164766 -0.22233,-0.329533 0,0 0.006,-0.164766 0.0131,-0.247099 0.0328,-0.411967 0.0885,-0.848644 0.1515,-1.384161 0.0394,-0.329533 0.082,-0.659066 0.12329,-1.079236 0.0262,-0.247201 0.11478,-0.329634 0.30628,-0.329634 0.62502,0.08243 1.23266,0.164867 1.80718,0.164867 0.57583,0 1.18294,0 1.80416,-0.164867 0.19478,0 0.2807,0 0.30628,0.329634 0.0393,0.411866 0.082,0.7415 0.12199,1.062729 0.0656,0.576734 0.11936,1.013411 0.15281,1.400668 0.007,0.08233 0.0131,0.164767 0.0131,0.247099 0,0.164767 -0.0525,0.247201 -0.22233,0.329533 -0.62109,0.329635 -1.17639,0.576734 -2.17766,0.576734 -1.00417,0 -1.55934,-0.247099 -2.18042,-0.576734 z m 0.71303,3.336752 c -0.32661,-0.164767 -0.55025,-0.247201 -0.70339,-0.411968 -0.15937,-0.164766 -0.20594,-0.247099 -0.23545,-0.494299 -0.0393,-0.247201 -0.0459,-0.741501 -0.0459,-1.029817 0,0 0.0131,0 0.0262,0 0.0262,0 0.0662,0 0.084,0 0.059,0.08233 0.2302,0.329533 0.33251,0.4943 0.0394,0 0.0656,0.08243 0.0741,0.08243 0.007,0 0.0197,0 0.0262,0 0.0328,0 0.0662,0 0.0918,0.164767 0.12002,0.494299 0.25644,0.897962 0.38498,1.095743 0.0262,0 0.0262,0 0.0131,0 -0.007,0 -0.0262,0 -0.0525,0 z m 2.88269,0 c -0.005,0 -0.007,0 -0.007,0 0,0 0.007,0 0.0197,0 0.12789,-0.164767 0.2643,-0.576734 0.38366,-1.087541 0.0262,-0.08233 0.059,-0.164766 0.0925,-0.164766 0.0131,0 0.0197,0 0.0262,0 0.007,0 0.0328,0 0.0689,-0.08233 0.0971,-0.164868 0.27874,-0.411967 0.33514,-0.494401 0.0197,0 0.059,0 0.0859,0 0.0131,0 0.0262,0 0.0262,0 0,0.411967 -0.0131,0.823934 -0.0459,1.029917 -0.0328,0.164767 -0.0761,0.329534 -0.23283,0.4943 -0.15871,0.164767 -0.38301,0.247201 -0.7068,0.411967 -0.0262,0 -0.0394,0 -0.0459,0 z"
inkscape:connector-curvature="0"
style="display:inline;fill:#4b4b4b;fill-opacity:1;stroke:none;stroke-width:0.182117"
inkscape:label="binary_sensor.driveway_west_side_vehicle_occupancy"
inkscape:label="binary_sensor.driveway_vehicle_occupancy"
transform="translate(0,-17815)" />
<path
id="binary_sensor.gray_suv_west_side"

Before

Width:  |  Height:  |  Size: 529 KiB

After

Width:  |  Height:  |  Size: 519 KiB