Home Assistant Git Exporter
parent
b7ce1271cd
commit
2b1a87bc71
|
@ -1 +1 @@
|
||||||
2022.6.2
|
2022.7.5
|
|
@ -53,6 +53,7 @@
|
||||||
data: {}
|
data: {}
|
||||||
target:
|
target:
|
||||||
area_id: ri_s_office
|
area_id: ri_s_office
|
||||||
|
controller_device: a68268df00fb475e9dbffc45c6de8a6f
|
||||||
- id: '1650766227595'
|
- id: '1650766227595'
|
||||||
alias: Update OpenUV every 30 minutes during the daytime
|
alias: Update OpenUV every 30 minutes during the daytime
|
||||||
trigger:
|
trigger:
|
||||||
|
|
|
@ -17,6 +17,7 @@ homeassistant:
|
||||||
recorder:
|
recorder:
|
||||||
db_url: !secret recorder_db
|
db_url: !secret recorder_db
|
||||||
commit_interval: 30
|
commit_interval: 30
|
||||||
|
purge_keep_days: 60
|
||||||
|
|
||||||
http:
|
http:
|
||||||
use_x_forwarded_for: true
|
use_x_forwarded_for: true
|
||||||
|
@ -42,12 +43,3 @@ tts:
|
||||||
automation: !include automations.yaml
|
automation: !include automations.yaml
|
||||||
script: !include scripts.yaml
|
script: !include scripts.yaml
|
||||||
scene: !include scenes.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
|
|
||||||
|
|
|
@ -1,27 +1,27 @@
|
||||||
sensor:
|
sensor:
|
||||||
- platform: sql
|
# - platform: sql
|
||||||
db_url: !secret recorder_db
|
# db_url: !secret recorder_db
|
||||||
queries:
|
# queries:
|
||||||
- name: Recorder age
|
# - name: Recorder age
|
||||||
column: "last_state_age"
|
# column: "last_state_age"
|
||||||
unit_of_measurement: seconds
|
# unit_of_measurement: seconds
|
||||||
## For SQLite
|
# ## 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: >
|
# query: >
|
||||||
# SELECT strftime("%s", "now") - strftime("%s", last_updated)
|
# SELECT extract(epoch from now() - last_updated)
|
||||||
# AS last_state_age
|
# AS last_state_age
|
||||||
# , last_updated
|
# , last_updated
|
||||||
# FROM "states"
|
# FROM "states"
|
||||||
# ORDER BY last_updated DESC
|
# ORDER BY last_updated DESC
|
||||||
# LIMIT 1
|
# 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
|
- platform: systemmonitor
|
||||||
resources:
|
resources:
|
||||||
- type: disk_use_percent
|
- type: disk_use_percent
|
||||||
|
|
|
@ -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
|
|
|
@ -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
|
|
@ -359,23 +359,49 @@ sensor:
|
||||||
condition: time
|
condition: time
|
||||||
weekday: [sun]
|
weekday: [sun]
|
||||||
|
|
||||||
|
- state: KLFM
|
||||||
|
start: "12:00:00"
|
||||||
|
end: "15:00:00"
|
||||||
|
condition:
|
||||||
|
condition: time
|
||||||
|
weekday: [sat]
|
||||||
|
|
||||||
- state: Triple R
|
- state: Triple R
|
||||||
condition:
|
condition:
|
||||||
condition: state
|
condition: state
|
||||||
entity_id: sensor.rrr_now_playing
|
entity_id: sensor.rrr_now_playing
|
||||||
state: "On The Blower"
|
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)
|
- state: triple j 107.5 (Alternative Rock)
|
||||||
condition:
|
condition:
|
||||||
condition: state
|
condition: state
|
||||||
entity_id: sensor.jjj_now_playing
|
entity_id: sensor.jjj_now_playing
|
||||||
state: "Science with Dr Karl"
|
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:
|
||||||
condition: state
|
condition: time
|
||||||
entity_id: sensor.jjj_now_playing
|
weekday: [sun]
|
||||||
state: "Hack"
|
|
||||||
|
# - state: triple j 107.5 (Alternative Rock)
|
||||||
|
# condition:
|
||||||
|
# condition: state
|
||||||
|
# entity_id: sensor.jjj_now_playing
|
||||||
|
# state: "Hack"
|
||||||
|
|
||||||
# ...
|
# ...
|
||||||
|
|
||||||
|
|
|
@ -12,7 +12,7 @@ template:
|
||||||
|
|
||||||
sensor:
|
sensor:
|
||||||
- platform: rtorrent
|
- platform: rtorrent
|
||||||
url: "https://rutorrent.home.bjeanes.com/RPC2"
|
url: !secret rtorrent_url
|
||||||
monitored_variables:
|
monitored_variables:
|
||||||
- "current_status"
|
- "current_status"
|
||||||
- "download_speed"
|
- "download_speed"
|
||||||
|
|
|
@ -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
|
@ -5,8 +5,29 @@ camera:
|
||||||
username: !secret xiaomi_cloud_username
|
username: !secret xiaomi_cloud_username
|
||||||
password: !secret xiaomi_cloud_password
|
password: !secret xiaomi_cloud_password
|
||||||
country: "sg"
|
country: "sg"
|
||||||
name: "Vacuum map"
|
name: Roborock S5 Map
|
||||||
|
force_api: xiaomi
|
||||||
draw: ["all"]
|
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:
|
template:
|
||||||
- sensor:
|
- sensor:
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -38,11 +38,11 @@ config:
|
||||||
type: entity
|
type: entity
|
||||||
- entity: sensor.ble_humidity_bos_office_a4c1380f0b98
|
- entity: sensor.ble_humidity_bos_office_a4c1380f0b98
|
||||||
type: entity
|
type: entity
|
||||||
- entity: sensor.bo_s_desk_plug_power
|
- content: "{{ \n \"{:,}\".format(\n (states('sensor.bo_s_desk_plug_power')\
|
||||||
name: Desk
|
\ | float(default=0)\n +\n states('sensor.bo_s_office_plug_power')\
|
||||||
type: entity
|
\ | float(default=0)\n ) | round\n )\n}} W"
|
||||||
- entity: sensor.bo_s_office_plug_power
|
icon: mdi:flash
|
||||||
type: entity
|
type: template
|
||||||
- entity: sensor.bo_s_office_perception
|
- entity: sensor.bo_s_office_perception
|
||||||
type: entity
|
type: entity
|
||||||
- entity: sensor.bo_s_office_simmerzone
|
- entity: sensor.bo_s_office_simmerzone
|
||||||
|
@ -55,28 +55,17 @@ config:
|
||||||
icon: tc:heat-index
|
icon: tc:heat-index
|
||||||
type: entity
|
type: entity
|
||||||
type: custom:mushroom-chips-card
|
type: custom:mushroom-chips-card
|
||||||
|
- cards:
|
||||||
- entities:
|
- entities:
|
||||||
- entity: binary_sensor.bo_s_office_pir_2_occupancy
|
- entity: automation.warm_up_bo_s_office
|
||||||
- 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:
|
|
||||||
type: entities
|
type: entities
|
||||||
filter:
|
- entities:
|
||||||
exclude:
|
- entity: sensor.ble_temperature_bos_office_a4c1380f0b98
|
||||||
- state: unknown
|
- entity: sensor.ble_humidity_bos_office_a4c1380f0b98
|
||||||
- state: unavailable
|
type: history-graph
|
||||||
include:
|
layout: {}
|
||||||
- area: Bo's Office
|
layout_type: masonry
|
||||||
options:
|
type: custom:layout-card
|
||||||
secondary_info: last-changed
|
|
||||||
show_empty: false
|
|
||||||
sort:
|
|
||||||
method: domain
|
|
||||||
reverse: true
|
|
||||||
type: custom:auto-entities
|
|
||||||
icon: mdi:chair-rolling
|
icon: mdi:chair-rolling
|
||||||
theme: Backend-selected
|
theme: Backend-selected
|
||||||
title: Bo's Office
|
title: Bo's Office
|
||||||
|
|
|
@ -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
|
|
@ -143,13 +143,13 @@ config:
|
||||||
action: call-service
|
action: call-service
|
||||||
service: media_player.select_source
|
service: media_player.select_source
|
||||||
service_data:
|
service_data:
|
||||||
source: Triple R 102.7 (Variety)
|
source: Triple R
|
||||||
target:
|
target:
|
||||||
entity_id: media_player.denon_avr_x1600h_heos
|
entity_id: media_player.denon_avr_x1600h_heos
|
||||||
type: template
|
type: template
|
||||||
conditions:
|
conditions:
|
||||||
- entity: sensor.current_living_room_media_player_source
|
- entity: sensor.current_living_room_media_player_source
|
||||||
state_not: Triple R 102.7 (Variety)
|
state_not: Triple R
|
||||||
type: conditional
|
type: conditional
|
||||||
- chip:
|
- chip:
|
||||||
content: PBS - {{ states('sensor.pbs_now_playing') }}
|
content: PBS - {{ states('sensor.pbs_now_playing') }}
|
||||||
|
@ -158,13 +158,28 @@ config:
|
||||||
action: call-service
|
action: call-service
|
||||||
service: media_player.select_source
|
service: media_player.select_source
|
||||||
service_data:
|
service_data:
|
||||||
source: PBS 106.7FM Melbourne | (Variety)
|
source: PBS 106.7FM Melbourne
|
||||||
target:
|
target:
|
||||||
entity_id: media_player.denon_avr_x1600h_heos
|
entity_id: media_player.denon_avr_x1600h_heos
|
||||||
type: template
|
type: template
|
||||||
conditions:
|
conditions:
|
||||||
- entity: sensor.current_living_room_media_player_source
|
- 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
|
type: conditional
|
||||||
- chip:
|
- chip:
|
||||||
content: JJ - {{ states('sensor.jj_now_playing') }}
|
content: JJ - {{ states('sensor.jj_now_playing') }}
|
||||||
|
@ -335,6 +350,15 @@ config:
|
||||||
method: none
|
method: none
|
||||||
type: custom:auto-entities
|
type: custom:auto-entities
|
||||||
unique: true
|
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:
|
- elements:
|
||||||
- attribute: mean
|
- attribute: mean
|
||||||
entity: sensor.ble_temperature_living_room_a4c1382a9b6e
|
entity: sensor.ble_temperature_living_room_a4c1382a9b6e
|
||||||
|
@ -407,6 +431,150 @@ config:
|
||||||
type: custom:state-attribute-element
|
type: custom:state-attribute-element
|
||||||
image: /local/floorplan-top.jpg
|
image: /local/floorplan-top.jpg
|
||||||
type: picture-elements
|
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
|
icon: hass:home
|
||||||
panel: false
|
panel: false
|
||||||
path: default_view
|
path: default_view
|
||||||
|
@ -495,225 +663,6 @@ config:
|
||||||
icon: hass:thermometer
|
icon: hass:thermometer
|
||||||
path: climate
|
path: climate
|
||||||
title: 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: []
|
- badges: []
|
||||||
cards:
|
cards:
|
||||||
- calibration_source:
|
- calibration_source:
|
||||||
|
|
|
@ -34,3 +34,10 @@ items:
|
||||||
show_in_sidebar: true
|
show_in_sidebar: true
|
||||||
title: Gardening
|
title: Gardening
|
||||||
url_path: lovelace-gardens
|
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
|
||||||
|
|
|
@ -11,9 +11,6 @@ items:
|
||||||
- id: dc13a5629c8a409dad2800cca63fb016
|
- id: dc13a5629c8a409dad2800cca63fb016
|
||||||
type: module
|
type: module
|
||||||
url: /hacsfiles/weather-card/weather-card.js
|
url: /hacsfiles/weather-card/weather-card.js
|
||||||
- id: 45a0fbe9612d4dbba973037d3d0edc99
|
|
||||||
type: module
|
|
||||||
url: /hacsfiles/upcoming-media-card/upcoming-media-card.js
|
|
||||||
- id: 69e31fab8ea64da890a5c68fc590320f
|
- id: 69e31fab8ea64da890a5c68fc590320f
|
||||||
type: module
|
type: module
|
||||||
url: /hacsfiles/lovelace-xiaomi-vacuum-map-card/xiaomi-vacuum-map-card.js?hacstag=1933720442011
|
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
|
url: /hacsfiles/lovelace-paper-buttons-row/paper-buttons-row.js?hacstag=244872232101
|
||||||
- id: 78939a4781bd40f6accb3cba860a100f
|
- id: 78939a4781bd40f6accb3cba860a100f
|
||||||
type: module
|
type: module
|
||||||
url: /hacsfiles/lovelace-mushroom/mushroom.js?hacstag=444350375190
|
url: /hacsfiles/lovelace-mushroom/mushroom.js?hacstag=444350375200
|
||||||
- id: 4795f91c6d3a4fd3a5b1900f9990217e
|
- id: 4795f91c6d3a4fd3a5b1900f9990217e
|
||||||
type: module
|
type: module
|
||||||
url: /hacsfiles/stack-in-card/stack-in-card.js?hacstag=248954055020
|
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
|
url: /hacsfiles/lovelace-battery-entity-row/battery-entity-row.js?hacstag=303857065131
|
||||||
- id: 867c82efa08d47a3a9ccbe9f5afb238a
|
- id: 867c82efa08d47a3a9ccbe9f5afb238a
|
||||||
type: module
|
type: module
|
||||||
url: /hacsfiles/numberbox-card/numberbox-card.js?hacstag=304967918310
|
url: /hacsfiles/numberbox-card/numberbox-card.js?hacstag=304967918312
|
||||||
- id: 6a72c3dfa03446ffae4b9d8093bb5b7a
|
- id: 6a72c3dfa03446ffae4b9d8093bb5b7a
|
||||||
type: module
|
type: module
|
||||||
url: /hacsfiles/custom-ui/custom-ui.js?hacstag=267558148202204191
|
url: /hacsfiles/custom-ui/custom-ui.js?hacstag=267558148202204191
|
||||||
- id: 60cfcab39c6d46ea82623fc28bcecb9c
|
- id: 60cfcab39c6d46ea82623fc28bcecb9c
|
||||||
type: module
|
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
|
- id: 8217392f44e24fe98b652c7f36ab302e
|
||||||
type: module
|
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
|
- id: 84ed6341c9b245aba7e66cbdc51e2ccb
|
||||||
type: module
|
type: module
|
||||||
url: /hacsfiles/state-attribute-element/state-attribute-element.js?hacstag=142038085040
|
url: /hacsfiles/state-attribute-element/state-attribute-element.js?hacstag=142038085040
|
||||||
|
|
Loading…
Reference in New Issue