1
0
Fork 0

Home Assistant Git Exporter

main
31c0fe9c6dbd74bcdde92e1d2aaa03e1d272f75f 2022-07-19 18:53:10 +10:00
parent b7ce1271cd
commit 2b1a87bc71
17 changed files with 2123 additions and 302 deletions

View File

@ -1 +1 @@
2022.6.2
2022.7.5

View File

@ -53,6 +53,7 @@
data: {}
target:
area_id: ri_s_office
controller_device: a68268df00fb475e9dbffc45c6de8a6f
- id: '1650766227595'
alias: Update OpenUV every 30 minutes during the daytime
trigger:

View File

@ -17,6 +17,7 @@ homeassistant:
recorder:
db_url: !secret recorder_db
commit_interval: 30
purge_keep_days: 60
http:
use_x_forwarded_for: true
@ -42,12 +43,3 @@ tts:
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
spotify:
client_id: !secret spotify_client_id
client_secret: !secret spotify_client_secret
google:
client_id: !secret google_client_id
client_secret: !secret google_client_secret
track_new_calendar: false

View File

@ -1,27 +1,27 @@
sensor:
- platform: sql
db_url: !secret recorder_db
queries:
- name: Recorder age
column: "last_state_age"
unit_of_measurement: seconds
## For SQLite
# - platform: sql
# db_url: !secret recorder_db
# queries:
# - name: Recorder age
# column: "last_state_age"
# unit_of_measurement: seconds
# ## For SQLite
# #query: >
# # SELECT strftime("%s", "now") - strftime("%s", last_updated)
# # AS last_state_age
# # , last_updated
# # FROM "states"
# # ORDER BY last_updated DESC
# # LIMIT 1
# # For Postgres
# query: >
# SELECT strftime("%s", "now") - strftime("%s", last_updated)
# SELECT extract(epoch from now() - last_updated)
# AS last_state_age
# , last_updated
# FROM "states"
# ORDER BY last_updated DESC
# LIMIT 1
# For Postgres
query: >
SELECT extract(epoch from now() - last_updated)
AS last_state_age
, last_updated
FROM "states"
ORDER BY last_updated DESC
LIMIT 1
- platform: systemmonitor
resources:
- type: disk_use_percent

View File

@ -1,8 +0,0 @@
template:
- sensor:
- unique_id: current_electricity_cost
state: |
{{ (states('sensor.electricity_general_price') | float * states('sensor.eagle_200_meter_power_demand') | float) | round(2) }}
unit_of_measurement: $/hr
device_class: monetary
name: Current electricity cost

View File

@ -0,0 +1,342 @@
# See also sungrow.yaml
sensor:
- platform: template
sensors:
eagle_200_meter_power_demand_w:
unique_id: 528a94ffdd069f6f5dcd
friendly_name: Eagle-200 Meter Power Demand (W)
value_template: >-
{{ states('sensor.eagle_200_meter_power_demand') | float * 1000 }}
unit_of_measurement: W
device_class: power
inverter_grid_power_demand:
unique_id: 733c721fd52bf672d0ed
friendly_name: Inverter grid power demand
value_template: >-
{{ iif(states('sensor.inverter_export_power') | float == 0, 0, -1 * states('sensor.inverter_export_power') | float) }}
unit_of_measurement: W
device_class: power
household_power_demand:
unique_id: c596e6b17b53069d1e9f
friendly_name: Household power demand
unit_of_measurement: W
device_class: power
value_template: >-
{{ states('sensor.inverter_active_power') | float +
states('sensor.eagle_200_meter_power_demand_w') | float }}
inverter_load_gap:
unique_id: c6a037b515944aeb1b67
friendly_name: Inverter load gap
value_template: >-
{{ states('sensor.inverter_load_power') | float - (
states('sensor.inverter_active_power') | float +
states('sensor.eagle_200_meter_power_demand_w') | float
) }}
unit_of_measurement: W
device_class: power
inverter_demand_gap:
unique_id: 534503cd38944c345a6a
friendly_name: Inverter demand gap
value_template: >-
{{ (states('sensor.eagle_200_meter_power_demand_w') | float) -
(-1 * states('sensor.inverter_export_power') | float) }}
unit_of_measurement: W
device_class: power
current_electricity_cost:
unique_id: current_electricity_cost
value_template: |
{{ (states('sensor.electricity_general_price') | float * states('sensor.eagle_200_meter_power_demand') | float) | round(2) }}
unit_of_measurement: $/hr
device_class: monetary
friendly_name: Current electricity cost
#
#
#
# SunGather (used internally by ModbusTCP2MQTT add-on) produces this payload, but doesn't create sensors for everything I want to monitor:
# {
# "device_type_code": "SH5.0RS",
# "run_state": "OFF",
# "protocol_number": 1094856704,
# "protocol_version": 16781568,
# "arm_software_version": 16722,
# "dsp_software_version": 19780,
# "serial_number": 16690,
# "nominal_active_power": 5.0,
# "output_type": "2P",
# "daily_power_yields": 6.1,
# "total_power_yields": 0.0,
# "total_running_time": 0,
# "internal_temperature": 22.6,
# "total_apparent_power": 1234,
# "mppt_1_voltage": 433.4,
# "mppt_1_current": 1.2,
# "mppt_2_voltage": 213.8,
# "mppt_2_current": 0.7,
# "mppt_3_voltage": 0.0,
# "mppt_3_current": 0.0,
# "total_dc_power": 711,
# "phase_a_voltage": 243.7,
# "phase_b_voltage": 0.0,
# "phase_c_voltage": 0.0,
# "phase_a_current": 5.3,
# "phase_b_current": 0.0,
# "phase_c_current": 0.0,
# "total_active_power": 1084,
# "total_reactive_power": 509,
# "power_factor": 0.91,
# "grid_frequency": 49.97,
# "work_state_1": 0,
# "nominal_reactive_power": 3.0,
# "array_insulation_resistance": 1124,
# "active_power_regulation_setpoint": 0,
# "reactive_power_regulation_setpoint": 0,
# "work_state_2": 0,
# "meter_power": 0,
# "meter_a_phase_power": 0,
# "meter_b_phase_power": 80936959,
# "meter_c_phase_power": -65536,
# "load_power": 1084,
# "daily_export_energy": 0.1,
# "total_export_energy": 2.6,
# "daily_import_energy": 0.0,
# "total_import_energy": 192.3,
# "daily_direct_energy_consumption": 0.3,
# "total_direct_energy_consumption": 12.3,
# "daily_running_time": 0,
# "mppt_4_voltage": 0.0,
# "mppt_4_current": 0.0,
# "mppt_5_voltage": 0.0,
# "mppt_5_current": 0.0,
# "mppt_6_voltage": 0.0,
# "mppt_6_current": 0.0,
# "mppt_7_voltage": 0.0,
# "mppt_7_current": 0.0,
# "mppt_8_voltage": 0.0,
# "mppt_8_current": 0.0,
# "monthly_power_yields": 0.0,
# "mppt_9_voltage": 0.0,
# "mppt_9_current": 0.0,
# "mppt_10_voltage": 0.0,
# "mppt_10_current": 0.0,
# "mppt_11_voltage": 0.0,
# "mppt_11_current": 0.0,
# "mppt_12_voltage": 0.0,
# "mppt_12_current": 0.0,
# "negative_voltage_to_the_ground": 0.0,
# "bus_voltage": 458.0,
# "pid_work_state": 0,
# "pid_alarm_code": 0,
# "export_power": -7,
# "power_meter": 1090,
# "pv_power_of_today": 0,
# "daily_pv_energy_yields": 0.0,
# "monthly_pv_energy_yields": 0,
# "yearly_pv_energy_yields": 0.0,
# "direct_power_consumption_today_pv": 0,
# "direct_power_consumption_pv": 0.0,
# "direct_power_consumption_monthly_pv": 0.0,
# "direct_power_consumption_yearly_pv": 0.0,
# "export_power_from_pv_today": 0,
# "export_power_from_pv": 0.0,
# "export_power_from_pv_monthly": 0.0,
# "export_power_from_pv_yearly": 0.0,
# "battery_charge_power_from_pv_today": 0.0,
# "battery_charge_power_from_pv": 0.0,
# "battery_charge_power_from_pv_monthly": 0.0,
# "battery_charge_power_from_pv_yearly": 0.0,
# "string_1_current": 0.0,
# "string_2_current": 0.0,
# "string_3_current": 0.0,
# "string_4_current": 0.0,
# "string_5_current": 0.0,
# "string_6_current": 0.0,
# "string_7_current": 0.0,
# "string_8_current": 0.0,
# "string_9_current": 0.0,
# "string_10_current": 0.0,
# "string_11_current": 0.0,
# "string_12_current": 0.0,
# "string_13_current": 0.0,
# "string_14_current": 0.0,
# "string_15_current": 0.0,
# "string_16_current": 0.0,
# "string_17_current": 0.0,
# "string_18_current": 0.0,
# "string_19_current": 0.0,
# "string_20_current": 0.0,
# "string_21_current": 0.0,
# "string_22_current": 0.0,
# "string_23_current": 0.0,
# "string_24_current": 0.0,
# "system_state": 0,
# "running_state": 45,
# "daily_pv_generation": 0.3,
# "total_pv_generation": 38.5,
# "daily_pv_export": 0.0,
# "total_pv_export": 2.5,
# "load_power_hybrid": 1094,
# "export_power_hybrid": -10,
# "daily_battery_charge_from_pv": 0.0,
# "total_battery_charge_from_pv": 23.7,
# "co2_reduction": 26.9,
# "battery_voltage": 0.0,
# "battery_current": 0,
# "battery_power": 465,
# "battery_level": 5.8,
# "battery_state_of_healthy": 10.0,
# "battery_temperature": 10.8,
# "daily_battery_discharge_energy": 5.7,
# "total_battery_discharge_energy": 11.2,
# "self_consumption_of_day": 100.0,
# "grid_state": 0,
# "battery_capacity": 12.8,
# "daily_charge_energy": 0.0,
# "total_charge_energy": 10.3,
# "drm_state": 255,
# "inverter_alarm": 0.0,
# "grid-side_fault": 0.0,
# "system_fault1": 0.0,
# "system_fault2": 0.0,
# "dc-side_fault": 0.0,
# "permanent_fault": 0.0,
# "bdc-side_fault": 0.0,
# "bdc-side_permanent_fault": 0.0,
# "battery_fault": 0.0,
# "battery_alarm": 0.0,
# "bms_alarm": 0,
# "bms_protection": 0,
# "bms_fault1": 0,
# "bms_fault2": 0,
# "bms_alarm2": 0,
# "bms_status": 0,
# "max_charging_current": 0,
# "max_discharging_current": 0,
# "warning": 0,
# "protection": 0,
# "fault1": 0,
# "fault2": 0,
# "soc": 0,
# "soh": 0,
# "cycle_count": 0.0,
# "average_cell_voltage": 0,
# "max_cell_voltage": 0,
# "min_cell_voltage": 0,
# "battery_pack_voltage": 0,
# "average_cell_temp": 0,
# "max_cell_temp": 0,
# "min_cell_temp": 0,
# "start_stop": "Start",
# "power_limitation_switch": "Enable",
# "power_limitation_setting": 100.0,
# "export_power_limitation": 0,
# "export_power_limitation_value": 0,
# "current_transformer_output_current": 0,
# "current_transformer_range": 0,
# "current_transformer": 0,
# "export_power_limitation_percentage": 0.0,
# "installed_pv_power": 0.0,
# "power_factor_setting": 0.0,
# "night_svg_switch": 0,
# "reactive_power_adjustment_mode": "Enable Q(U)",
# "reactive_power_percentage_setting": 0.0,
# "power_limitation_adjustment": 0.0,
# "reactive_power_adjustment": 0.0,
# "pid_recovery": 0,
# "anti_pid": 0,
# "fullday_pid_suppression": 0,
# "export_to_grid": 0,
# "import_from_grid": 0,
# "timestamp": "2022-7-8 8:59:15"
# }
# mqtt:
# # https://github.com/bohdan-s/SunGather/blob/main/SunGather/registers-sungrow.yaml
# sensor:
# - &inverter_sensor
# state_topic: "inverter/SH50RS/registers"
# json_attributes_topic: "inverter/SH50RS/registers"
# unique_id: inverter_battery_level
# object_id: inverter_battery_level
# name: "Inverter battery level"
# value_template: "{{ value_json.battery_level }}"
# device_class: battery
# unit_of_measurement: "%"
# device: &inverter_device
# name: Solar Inverter
# manufacturer: Sungrow
# model: SH5.0RS
# via_device: 07bec9a1e7f11660c94ac9b707f6ea66
# connections:
# - - address
# - !secret solar_inverter_ip
# - <<: *inverter_sensor
# unique_id: inverter_battery_power
# object_id: inverter_battery_power
# name: Inverter battery power
# value_template: "{{ value_json.battery_power }}"
# device_class: power
# unit_of_measurement: W
# - <<: *inverter_sensor
# unique_id: inverter_grid_current
# object_id: inverter_grid_current
# name: Inverter grid current
# value_template: "{{ value_json.phase_a_current }}"
# device_class: current
# unit_of_measurement: A
# - <<: *inverter_sensor
# unique_id: inverter_grid_voltage
# object_id: inverter_grid_voltage
# name: Inverter grid voltage
# value_template: "{{ value_json.phase_a_voltage }}"
# device_class: voltage
# unit_of_measurement: V
# - <<: *inverter_sensor
# unique_id: inverter_grid_frequency
# object_id: inverter_grid_frequency
# name: Inverter grid frequency
# value_template: "{{ value_json.grid_frequency }}"
# unit_of_measurement: Hz
# - <<: *inverter_sensor
# unique_id: inverter_total_battery_discharge
# object_id: inverter_total_battery_discharge
# name: Inverter total battery discharge
# value_template: "{{ value_json.total_battery_discharge_energy }}"
# device_class: energy
# unit_of_measurement: kWh
# state_class: total_increasing
# - <<: *inverter_sensor
# unique_id: inverter_total_battery_charge
# object_id: inverter_total_battery_charge
# name: Inverter total battery charge
# value_template: "{{ value_json.total_battery_charge_from_pv }}"
# device_class: energy
# unit_of_measurement: kWh
# state_class: total_increasing
# - <<: *inverter_sensor
# unique_id: inverter_total_pv_generation
# object_id: inverter_total_pv_generation
# name: Inverter total PV generation
# value_template: "{{ value_json.total_pv_generation }}"
# device_class: energy
# unit_of_measurement: kWh
# state_class: total_increasing
# - <<: *inverter_sensor
# unique_id: inverter_total_pv_export
# object_id: inverter_total_pv_export
# name: Inverter total PV export
# value_template: "{{ value_json.total_pv_export }}"
# device_class: energy
# unit_of_measurement: kWh
# state_class: total_increasing
# - <<: *inverter_sensor
# unique_id: inverter_pv_power
# object_id: inverter_pv_power
# name: Inverter PV power
# value_template: "{{ value_json.total_dc_power }}"
# device_class: power
# unit_of_measurement: W

View File

@ -359,23 +359,49 @@ sensor:
condition: time
weekday: [sun]
- state: KLFM
start: "12:00:00"
end: "15:00:00"
condition:
condition: time
weekday: [sat]
- state: Triple R
condition:
condition: state
entity_id: sensor.rrr_now_playing
state: "On The Blower"
- state: Triple R
condition:
condition: state
entity_id: sensor.rrr_now_playing
state: "Stylin'"
- state: PBS
condition:
condition: state
entity_id: sensor.pbs_now_playing
state: "Jazz on Saturday"
- state: triple j 107.5 (Alternative Rock)
condition:
condition: state
entity_id: sensor.jjj_now_playing
state: "Science with Dr Karl"
- state: triple j 107.5 (Alternative Rock)
- state: ABC Jazz (Jazz Music) # https://www.abc.net.au/jazz/upbeat/
start: "9:00:00"
end: "13:00:00"
condition:
condition: state
entity_id: sensor.jjj_now_playing
state: "Hack"
condition: time
weekday: [sun]
# - state: triple j 107.5 (Alternative Rock)
# condition:
# condition: state
# entity_id: sensor.jjj_now_playing
# state: "Hack"
# ...

View File

@ -12,7 +12,7 @@ template:
sensor:
- platform: rtorrent
url: "https://rutorrent.home.bjeanes.com/RPC2"
url: !secret rtorrent_url
monitored_variables:
- "current_status"
- "download_speed"

View File

@ -0,0 +1,23 @@
sensor:
- platform: unifigateway
host: !secret unifi_controller
port: 443
username: !secret unifi_username
password: !secret unifi_password
monitored_conditions:
- www
- vpn
- lan
- wan
- wlan
- alerts
- firmware
wake_on_lan:
switch:
- platform: wake_on_lan
name: TumTum
mac: !secret tumtum_mac
host: !secret tumtum_ip
broadcast_address: !secret lan_broadcast

File diff suppressed because it is too large Load Diff

View File

@ -5,8 +5,29 @@ camera:
username: !secret xiaomi_cloud_username
password: !secret xiaomi_cloud_password
country: "sg"
name: "Vacuum map"
name: Roborock S5 Map
force_api: xiaomi
draw: ["all"]
attributes:
- calibration_points
- rooms
- room_numbers
- vacuum_position
- platform: xiaomi_cloud_map_extractor
host: !secret xiaomi_vacuum2_host
token: !secret xiaomi_vacuum2_token
username: !secret xiaomi_cloud_username
password: !secret xiaomi_cloud_password
country: "sg"
name: Dreame Z10 Pro Map
force_api: dreame
draw: ["all"]
attributes:
- calibration_points
- rooms
- room_numbers
- vacuum_position
template:
- sensor:

File diff suppressed because one or more lines are too long

View File

@ -38,11 +38,11 @@ config:
type: entity
- entity: sensor.ble_humidity_bos_office_a4c1380f0b98
type: entity
- entity: sensor.bo_s_desk_plug_power
name: Desk
type: entity
- entity: sensor.bo_s_office_plug_power
type: entity
- content: "{{ \n \"{:,}\".format(\n (states('sensor.bo_s_desk_plug_power')\
\ | float(default=0)\n +\n states('sensor.bo_s_office_plug_power')\
\ | float(default=0)\n ) | round\n )\n}} W"
icon: mdi:flash
type: template
- entity: sensor.bo_s_office_perception
type: entity
- entity: sensor.bo_s_office_simmerzone
@ -55,28 +55,17 @@ config:
icon: tc:heat-index
type: entity
type: custom:mushroom-chips-card
- cards:
- entities:
- entity: binary_sensor.bo_s_office_pir_2_occupancy
- entity: binary_sensor.bo_s_office_motion
- entity: binary_sensor.bo_s_office_is_occupied
hours_to_show: 2
title: Occupancy
type: history-graph
- card:
- entity: automation.warm_up_bo_s_office
type: entities
filter:
exclude:
- state: unknown
- state: unavailable
include:
- area: Bo's Office
options:
secondary_info: last-changed
show_empty: false
sort:
method: domain
reverse: true
type: custom:auto-entities
- entities:
- entity: sensor.ble_temperature_bos_office_a4c1380f0b98
- entity: sensor.ble_humidity_bos_office_a4c1380f0b98
type: history-graph
layout: {}
layout_type: masonry
type: custom:layout-card
icon: mdi:chair-rolling
theme: Backend-selected
title: Bo's Office

View File

@ -0,0 +1,376 @@
config:
views:
- badges: []
cards:
- cards:
- content: "{%- set household_usage =\n states('sensor.inverter_active_power')\
\ | float +\n states('sensor.eagle_200_meter_power_demand_w') | float\n\
-%}\n**Household usage:** {{ household_usage }} W\n**PV+Bat:** {{ states('sensor.inverter_battery_power')\
\ | float + states('sensor.inverter_pv_power') | float }} W\n**Active (AC?):**\
\ {{ states('sensor.inverter_active_power') | float }} W\n**AC from PV:**\
\ {{ states('sensor.inverter_active_power') | float - states('sensor.inverter_battery_power')\
\ | float }} W\n**Inverter Load (claimed):** {{ states('sensor.inverter_load_power')\
\ | float }} W\n**Inverter Load (gap):** {{ states('sensor.inverter_load_power')\
\ | float - household_usage }} W\n**{Im,Ex}port:** {{ states('sensor.eagle_200_meter_power_demand_w')\
\ | float }} W\n"
type: markdown
title: Scratch
type: custom:stack-in-card
- cards:
- entities:
battery: sensor.inverter_battery_power
battery_charge: sensor.inverter_battery_level
grid: sensor.eagle_200_meter_power_demand
solar: sensor.inverter_pv_power
kw_decimals: 2
type: custom:power-flow-card
w_decimals: 0
watt_threshold: 900
- entities:
- entity: sensor.inverter_active_power
name: Active (AC) power
secondary_info: last-updated
- entity: sensor.inverter_reactive_power
name: Reactive power
secondary_info: last-updated
- entity: sensor.inverter_power_factor
name: Power factor
secondary_info: last-updated
- entity: sensor.inverter_pv_power
name: PV Power
secondary_info: last-updated
- entity: sensor.inverter_load_power
name: Load power (inverter claimed)
secondary_info: last-updated
- entity: sensor.household_power_demand
name: Actual load
secondary_info: last-updated
- entity: sensor.inverter_battery_power
name: Battery power
secondary_info: last-updated
- entity: sensor.inverter_grid_power_demand
name: Grid demand (inverter)
secondary_info: last-updated
- entity: sensor.eagle_200_meter_power_demand_w
name: Grid demand (meter)
secondary_info: last-updated
type: entities
- entities:
- entity: sensor.inverter_grid_power_demand
name: Grid demand (inverter)
secondary_info: last-updated
- entity: sensor.eagle_200_meter_power_demand_w
name: Grid demand (meter)
secondary_info: last-updated
hours_to_show: 6
type: history-graph
- entities:
- entity: sensor.inverter_load_power
name: Inverter's claimed load power
- entity: sensor.household_power_demand
name: Actual household power demand
hours_to_show: 6
type: history-graph
- entities:
- entity: sensor.inverter_load_gap
name: Load gap
- entity: sensor.inverter_demand_gap
name: Demand gap
hours_to_show: 6
type: history-graph
title: Power
type: custom:stack-in-card
- cards:
- link_dashboard: false
type: energy-distribution
title: Energy (today)
type: custom:stack-in-card
- entities:
- entity: sensor.inverter_pv_power
name: PV Power
- entity: sensor.inverter_active_power
name: Active Power
- entity: sensor.inverter_load_power
name: Load power
type: history-graph
- entities:
- entity: sensor.inverter_battery_level
name: Charge
- entity: sensor.inverter_battery_power
name: Power
title: Battery
type: history-graph
- card:
type: entities
filter:
exclude:
- state: unavailable
include:
- entity_id: sensor.eagle_200_meter_power_demand
- entity_id: /sensor.inverter_/
type: custom:auto-entities
- card:
title: Actions
type: entities
filter:
exclude: []
include:
- domain: /script|automation/
entity_id: /\.inverter_/
type: custom:auto-entities
- cards:
- entities:
- entity: sensor.inverter_grid_frequency
name: Frequency
secondary_info: last-updated
- entity: sensor.inverter_phase_a_voltage
name: Voltage
secondary_info: last-updated
- entity: sensor.inverter_phase_a_current
name: Current
secondary_info: last-updated
type: entities
- entities:
- entity: sensor.inverter_grid_frequency
name: Frequency
- entity: sensor.inverter_phase_a_voltage
name: Voltage
- entity: sensor.inverter_phase_a_current
name: Current
type: history-graph
title: Grid
type: custom:stack-in-card
icon: mdi:solar-power-variant
theme: Backend-selected
title: Solar
- badges:
- entity: sensor.electricity_general_price
- entity: sensor.eagle_200_meter_power_demand
cards:
- link_dashboard: true
type: energy-distribution
- apex_config:
chart:
height: 250
type: area
dataLabels:
enabled: false
fill:
gradient:
inverseColors: false
opacityFrom: 0.45
opacityTo: 0.05
shadeIntensity: 1
stops:
- 20
- 100
- 100
- 100
type: gradient
legend:
show: false
stroke:
curve: smooth
show: true
width: 2
xaxis:
labels:
datetimeFormatter:
day: ddd
month: ddd
type: datetime
graph_span: 35h
header:
colorize_states: true
show: true
show_states: true
title: Amber Price 24hrs
now:
color: red
label: Now
show: true
series:
- color: black
curve: smooth
entity: sensor.electricity_general_price
extend_to: now
name: Price
type: area
yaxis_id: price
- color: lightgrey
data_generator: "return entity.attributes.forecasts.map((entry) => {\n return\
\ [new Date(entry.start_time), entry.per_kwh];\n});\n"
entity: sensor.electricity_general_forecast
name: Predicted Price
show:
in_chart: true
in_header: false
type: area
yaxis_id: price
- color: green
curve: smooth
entity: sensor.electricity_renewables
extend_to: now
name: Renewables in Grid
show:
in_chart: true
in_header: true
type: area
unit: '%'
yaxis_id: renewables_perc
- color: lightgreen
curve: smooth
data_generator: "return entity.attributes.forecasts.map((entry) => {\n return\
\ [new Date(entry.start_time), entry.renewables];\n});\n"
entity: sensor.electricity_general_forecast
name: Renewables in Grid
show:
in_chart: true
in_header: false
type: area
unit: '%'
yaxis_id: renewables_perc
- color: grey
entity: sensor.electricity_general_forecast
name: Predicted Price
show:
in_chart: false
in_header: true
type: area
yaxis_id: price
span:
offset: -24h
start: minute
type: custom:apexcharts-card
yaxis:
- id: price
max: ~1
min: ~-1
- id: renewables_perc
max: ~100
min: ~0
opposite: true
- entities:
- entity: sensor.eagle_200_meter_power_demand
name: Meter Power Demand
secondary_info: last-changed
- entity: sensor.electricity_renewables
secondary_info: last-changed
- entity: binary_sensor.electricity_price_spike
secondary_info: last-changed
- entity: sensor.electricity_general_price
secondary_info: last-changed
- entity: sensor.electricity_general_forecast
type: entities
- content: "{% set wattage = states.sensor\n | rejectattr('state', 'in', ['unknown',\
\ 'unavailable'])\n | selectattr('attributes.device_class', 'defined')\n\
\ | selectattr('attributes.device_class', 'eq', 'power')\n | selectattr('attributes.unit_of_measurement',\
\ 'defined')\n | selectattr('attributes.unit_of_measurement', 'eq', \"W\"\
)\n | rejectattr('name', 'search', 'Estimate')\n | rejectattr('name',\
\ 'search', 'Inverter')\n | list\n %}\n\n{% set total = wattage|map(attribute='state')|map('float')|list|sum\
\ / 1000.0|round(3) %}\n{% set meter = (states('sensor.inverter_load_power')|float/1000.0\
\ + states('sensor.eagle_200_meter_power_demand')|float) |round(3) %}\n**TOTAL:**\
\ {{ total }} kW\n**METER:** {{ meter }} kW\n**Unaccounted:** {{ (meter -\
\ total) | round(2) }} kW\n\n{% for s in wattage|sort(attribute='state') %}\n\
- {{ s.name}}: {{s.state}} W\n{% endfor %}"
type: markdown
- cards:
- entity: sensor.eagle_200_meter_power_demand
max: 5
min: 0
name: Current Usage
needle: true
severity:
green: 0
red: 3
yellow: 1.5
type: gauge
- entity: sensor.electricity_general_price
max: 2
min: 0
name: Current Price
needle: true
severity:
green: -1
red: 0.65
yellow: 0.25
type: gauge
unit: $
type: horizontal-stack
- entity: sensor.current_electricity_cost
max: 5
min: 0
name: Current Cost
needle: true
severity:
green: -1000
red: 1.5
yellow: 0.75
type: gauge
- entities:
- entity: sensor.eagle_200_meter_power_demand
- entity: sensor.electricity_general_price
- entity: sensor.current_electricity_cost
- entity: sensor.eagle_200_net_meter_energy_delivered_minus_received
hours_to_show: 24
refresh_interval: 5
type: history-graph
- card:
type: history-graph
filter:
exclude:
- name: /UPS/
- name: /Eagle-200/
- name: /Estimated Power Production/
- state: unavailable
include:
- attributes:
device_class: power
- attributes:
unit_of_measurement: kW
- attributes:
unit_of_measurement: W
- attributes:
unit_of_measurement: A
- attributes:
device_class: current
type: custom:auto-entities
unique: true
- card:
show_header_toggle: false
type: entities
filter:
exclude:
- name: /Restart/
- state: unavailable
include:
- device: /power|plug/
domain: switch
options:
secondary_info: last-changed
show_empty: false
sort:
method: friendly_name
type: custom:auto-entities
unique: true
- type: energy-devices-graph
- type: energy-usage-graph
- card:
hours_to_show: 3
title: Voltage
type: history-graph
filter:
exclude:
- entity_id: /nas_ups/
- entity_id: /battery/
- entity_id: /dht/
- entity_id: /ble_voltage/
include:
- entity_id: /voltage/
type: custom:auto-entities
- entities:
- sensor.co2_intensity
type: history-graph
icon: hass:lightning-bolt
path: power
title: Electricity

View File

@ -143,13 +143,13 @@ config:
action: call-service
service: media_player.select_source
service_data:
source: Triple R 102.7 (Variety)
source: Triple R
target:
entity_id: media_player.denon_avr_x1600h_heos
type: template
conditions:
- entity: sensor.current_living_room_media_player_source
state_not: Triple R 102.7 (Variety)
state_not: Triple R
type: conditional
- chip:
content: PBS - {{ states('sensor.pbs_now_playing') }}
@ -158,13 +158,28 @@ config:
action: call-service
service: media_player.select_source
service_data:
source: PBS 106.7FM Melbourne | (Variety)
source: PBS 106.7FM Melbourne
target:
entity_id: media_player.denon_avr_x1600h_heos
type: template
conditions:
- entity: sensor.current_living_room_media_player_source
state_not: PBS 106.7FM Melbourne | (Variety)
state_not: PBS 106.7FM Melbourne
type: conditional
- chip:
content: KLFM
icon: mdi:music
tap_action:
action: call-service
service: media_player.select_source
service_data:
source: KLFM
target:
entity_id: media_player.denon_avr_x1600h_heos
type: template
conditions:
- entity: sensor.current_living_room_media_player_source
state_not: KLFM
type: conditional
- chip:
content: JJ - {{ states('sensor.jj_now_playing') }}
@ -335,6 +350,15 @@ config:
method: none
type: custom:auto-entities
unique: true
- entities:
battery: sensor.inverter_battery_power
battery_charge: sensor.inverter_battery_level
grid: sensor.eagle_200_meter_power_demand
solar: sensor.inverter_pv_power
kw_decimals: 2
type: custom:power-flow-card
w_decimals: 0
watt_threshold: 900
- elements:
- attribute: mean
entity: sensor.ble_temperature_living_room_a4c1382a9b6e
@ -407,6 +431,150 @@ config:
type: custom:state-attribute-element
image: /local/floorplan-top.jpg
type: picture-elements
- calibration_source:
camera: true
entity: vacuum.dreame_p2028_4394_robot_cleaner
map_locked: true
map_modes:
- max_repeats: 3
max_selections: 10
predefined_selections:
- icon:
name: mdi:broom
x: -450
y: -9175
id: 8
label:
offset_y: 35
text: Analog Room
x: -450
y: -9175
- icon:
name: mdi:broom
x: -5625
y: -9175
id: 3
label:
offset_y: 35
text: Ri's Office
x: -5625
y: -9175
- icon:
name: mdi:broom
x: 2000
y: -9700
id: 4
label:
offset_y: 35
text: Laundry
x: 2000
y: -9700
- icon:
name: mdi:broom
x: 1925
y: -6625
id: 2
label:
offset_y: 35
text: Bathroom
x: 1925
y: -6625
- icon:
name: mdi:broom
x: -5750
y: -6350
id: 1
label:
offset_y: 35
text: Bo's Office
x: -5750
y: -6350
- icon:
name: mdi:broom
x: -2525
y: -750
id: 9
label:
offset_y: 35
text: Hallway
x: -2525
y: -750
- icon:
name: mdi:broom
x: 675
y: -3100
id: 5
label:
offset_y: 35
text: Kitchen
x: 675
y: -3100
- icon:
name: mdi:broom
x: -5575
y: -2525
id: 10
label:
offset_y: 35
text: Spare Room
x: -5575
y: -2525
- icon:
name: mdi:broom
x: 675
y: 1825
id: 6
label:
offset_y: 35
text: Living Room
x: 675
y: 1825
- icon:
name: mdi:broom
x: -5650
y: 1025
id: 7
label:
offset_y: 35
text: Bedroom
x: -5650
y: 1025
repeats_type: EXTERNAL
service_call_schema:
service: xiaomi_miot.call_action
service_data:
aiid: 1
entity_id: '[[entity_id]]'
force_params: true
params:
- piid: 1
value: 18
- piid: 10
value: '{"selects":[[[[selection_unwrapped]],[[repeats]],3,3,1]]}'
siid: 4
template: vacuum_clean_segment
- template: vacuum_goto
- max_repeats: 5
max_selections: 10
repeats_type: EXTERNAL
service_call_schema:
service: xiaomi_miot.call_action
service_data:
aiid: 1
entity_id: '[[entity_id]]'
force_params: true
params:
- piid: 1
value: 19
- piid: 10
value: '{"areas":[[[[selection_unwrapped]],[[repeats]],1,1]]}'
siid: 4
template: vacuum_clean_zone
map_source:
camera: camera.dreame_z10_pro_map
two_finger_pan: true
type: custom:xiaomi-vacuum-map-card
vacuum_platform: default
icon: hass:home
panel: false
path: default_view
@ -495,225 +663,6 @@ config:
icon: hass:thermometer
path: climate
title: Climate
- badges:
- entity: sensor.electricity_general_price
- entity: sensor.eagle_200_meter_power_demand
cards:
- link_dashboard: true
type: energy-distribution
- apex_config:
chart:
height: 250
type: area
dataLabels:
enabled: false
fill:
gradient:
inverseColors: false
opacityFrom: 0.45
opacityTo: 0.05
shadeIntensity: 1
stops:
- 20
- 100
- 100
- 100
type: gradient
legend:
show: false
stroke:
curve: smooth
show: true
width: 2
xaxis:
labels:
datetimeFormatter:
day: ddd
month: ddd
type: datetime
graph_span: 35h
header:
colorize_states: true
show: true
show_states: true
title: Amber Price 24hrs
now:
color: red
label: Now
show: true
series:
- color: black
curve: smooth
entity: sensor.electricity_general_price
extend_to: now
name: Price
type: area
yaxis_id: price
- color: lightgrey
data_generator: "return entity.attributes.forecasts.map((entry) => {\n return\
\ [new Date(entry.start_time), entry.per_kwh];\n});\n"
entity: sensor.electricity_general_forecast
name: Predicted Price
show:
in_chart: true
in_header: false
type: area
yaxis_id: price
- color: green
curve: smooth
entity: sensor.electricity_renewables
extend_to: now
name: Renewables in Grid
show:
in_chart: true
in_header: true
type: area
unit: '%'
yaxis_id: renewables_perc
- color: lightgreen
curve: smooth
data_generator: "return entity.attributes.forecasts.map((entry) => {\n return\
\ [new Date(entry.start_time), entry.renewables];\n});\n"
entity: sensor.electricity_general_forecast
name: Renewables in Grid
show:
in_chart: true
in_header: false
type: area
unit: '%'
yaxis_id: renewables_perc
- color: grey
entity: sensor.electricity_general_forecast
name: Predicted Price
show:
in_chart: false
in_header: true
type: area
yaxis_id: price
span:
offset: -24h
start: minute
type: custom:apexcharts-card
yaxis:
- id: price
max: ~1
min: ~-1
- id: renewables_perc
max: ~100
min: ~0
opposite: true
- entities:
- entity: sensor.eagle_200_meter_power_demand
name: Meter Power Demand
secondary_info: last-changed
- entity: sensor.electricity_renewables
secondary_info: last-changed
- entity: binary_sensor.electricity_price_spike
secondary_info: last-changed
- entity: sensor.electricity_general_price
secondary_info: last-changed
- entity: sensor.electricity_general_forecast
type: entities
- cards:
- entity: sensor.eagle_200_meter_power_demand
max: 5
min: 0
name: Current Usage
needle: true
severity:
green: 0
red: 3
yellow: 1.5
type: gauge
- entity: sensor.electricity_general_price
max: 2
min: 0
name: Current Price
needle: true
severity:
green: -1
red: 0.65
yellow: 0.25
type: gauge
unit: $
type: horizontal-stack
- entity: sensor.current_electricity_cost
max: 5
min: 0
name: Current Cost
needle: true
severity:
green: -1000
red: 1.5
yellow: 0.75
type: gauge
- entities:
- entity: sensor.eagle_200_meter_power_demand
- entity: sensor.electricity_general_price
- entity: sensor.current_electricity_cost
- entity: sensor.eagle_200_net_meter_energy_delivered_minus_received
hours_to_show: 24
refresh_interval: 5
type: history-graph
- card:
type: history-graph
filter:
exclude:
- name: /UPS/
- name: /Eagle-200/
- name: /Estimated Power Production/
- state: unavailable
include:
- attributes:
device_class: power
- attributes:
unit_of_measurement: kW
- attributes:
unit_of_measurement: W
- attributes:
unit_of_measurement: A
- attributes:
device_class: current
type: custom:auto-entities
unique: true
- card:
show_header_toggle: false
type: entities
filter:
exclude:
- name: /Restart/
- state: unavailable
include:
- device: /power|plug/
domain: switch
options:
secondary_info: last-changed
show_empty: false
sort:
method: friendly_name
type: custom:auto-entities
unique: true
- type: energy-devices-graph
- type: energy-usage-graph
- card:
hours_to_show: 3
title: Voltage
type: history-graph
filter:
exclude:
- entity_id: /nas_ups/
- entity_id: /battery/
- entity_id: /dht/
- entity_id: /ble_voltage/
include:
- entity_id: /voltage/
type: custom:auto-entities
- entities:
- sensor.co2_intensity
type: history-graph
icon: hass:lightning-bolt
path: power
title: Power
- badges: []
cards:
- calibration_source:

View File

@ -34,3 +34,10 @@ items:
show_in_sidebar: true
title: Gardening
url_path: lovelace-gardens
- icon: mdi:solar-power-variant
id: lovelace_solar
mode: storage
require_admin: false
show_in_sidebar: true
title: Solar
url_path: lovelace-solar

View File

@ -11,9 +11,6 @@ items:
- id: dc13a5629c8a409dad2800cca63fb016
type: module
url: /hacsfiles/weather-card/weather-card.js
- id: 45a0fbe9612d4dbba973037d3d0edc99
type: module
url: /hacsfiles/upcoming-media-card/upcoming-media-card.js
- id: 69e31fab8ea64da890a5c68fc590320f
type: module
url: /hacsfiles/lovelace-xiaomi-vacuum-map-card/xiaomi-vacuum-map-card.js?hacstag=1933720442011
@ -94,7 +91,7 @@ items:
url: /hacsfiles/lovelace-paper-buttons-row/paper-buttons-row.js?hacstag=244872232101
- id: 78939a4781bd40f6accb3cba860a100f
type: module
url: /hacsfiles/lovelace-mushroom/mushroom.js?hacstag=444350375190
url: /hacsfiles/lovelace-mushroom/mushroom.js?hacstag=444350375200
- id: 4795f91c6d3a4fd3a5b1900f9990217e
type: module
url: /hacsfiles/stack-in-card/stack-in-card.js?hacstag=248954055020
@ -112,16 +109,16 @@ items:
url: /hacsfiles/lovelace-battery-entity-row/battery-entity-row.js?hacstag=303857065131
- id: 867c82efa08d47a3a9ccbe9f5afb238a
type: module
url: /hacsfiles/numberbox-card/numberbox-card.js?hacstag=304967918310
url: /hacsfiles/numberbox-card/numberbox-card.js?hacstag=304967918312
- id: 6a72c3dfa03446ffae4b9d8093bb5b7a
type: module
url: /hacsfiles/custom-ui/custom-ui.js?hacstag=267558148202204191
- id: 60cfcab39c6d46ea82623fc28bcecb9c
type: module
url: /hacsfiles/power-flow-card/power-flow-card.js?hacstag=484538222250
url: /hacsfiles/power-flow-card/power-flow-card.js?hacstag=484538222251
- id: 8217392f44e24fe98b652c7f36ab302e
type: module
url: /hacsfiles/ha-sankey-chart/ha-sankey-chart.js?hacstag=455846088064
url: /hacsfiles/ha-sankey-chart/ha-sankey-chart.js?hacstag=455846088070
- id: 84ed6341c9b245aba7e66cbdc51e2ccb
type: module
url: /hacsfiles/state-attribute-element/state-attribute-element.js?hacstag=142038085040