Inital Commit
This commit is contained in:
11
packages/appliance_status.yaml
Normal file
11
packages/appliance_status.yaml
Normal file
@@ -0,0 +1,11 @@
|
||||
mqtt:
|
||||
sensor:
|
||||
- unique_id: washing_machine_finished
|
||||
name: "Washing Machine Finished"
|
||||
state_topic: "viewroad-status/activityfeed/washercomplete"
|
||||
- unique_id: dryer_finished
|
||||
name: "Dryer Finished"
|
||||
state_topic: "viewroad-status/activityfeed/dryercomplete"
|
||||
- unique_id: dishwasher_finished
|
||||
name: "Dishwasher Finished"
|
||||
state_topic: "viewroad-status/activityfeed/dishwashercomplete"
|
24
packages/blind_control.yaml
Normal file
24
packages/blind_control.yaml
Normal file
@@ -0,0 +1,24 @@
|
||||
mqtt:
|
||||
switch:
|
||||
- unique_id: lounge_blinds_control
|
||||
name: "Lounge Blinds Control"
|
||||
state_topic: "viewroad-status/blinds/lounge-verticalblinds"
|
||||
command_topic: "viewroad-commands/blinds/lounge-verticalblinds"
|
||||
payload_off: "off"
|
||||
payload_on: "on"
|
||||
state_on: "on"
|
||||
state_off: "off"
|
||||
icon: mdi:blinds
|
||||
retain: false
|
||||
|
||||
automation:
|
||||
- id: lounge_blinds_control_switch
|
||||
alias: Publish lounge blind control to mqtt
|
||||
trigger:
|
||||
platform: state
|
||||
entity_id: input_boolean.lounge_blinds
|
||||
action:
|
||||
service: mqtt.publish
|
||||
data_template:
|
||||
payload: "{{trigger.to_state.state}}"
|
||||
topic: viewroad-status/blinds/lounge-verticalblinds
|
6
packages/cctv_controls.yaml
Normal file
6
packages/cctv_controls.yaml
Normal file
@@ -0,0 +1,6 @@
|
||||
mqtt:
|
||||
binary_sensor:
|
||||
- unique_id: front_door_movement_camera_corner
|
||||
name: "Front Door Movement"
|
||||
state_topic: "viewroad-status/cctv/front_door_motion"
|
||||
icon: mdi:exit-run
|
35
packages/covid_count.yaml
Normal file
35
packages/covid_count.yaml
Normal file
@@ -0,0 +1,35 @@
|
||||
var:
|
||||
covid_daily:
|
||||
friendly_name: "Daily Covid count"
|
||||
initial_value: 0
|
||||
icon: mdi:virus-outline
|
||||
covid_yesterday_total:
|
||||
friendly_name: "Yesterdays NZ Cumulative Total Covid Cases"
|
||||
initial_value: 0
|
||||
icon: mdi:virus-outline
|
||||
|
||||
automation:
|
||||
- id: add_covid_confirmed_stats_only_if_increases
|
||||
alias: add_covid_confirmed_stats_only_if_increases
|
||||
#description:
|
||||
# "Check new state of sensor.new_zealand_coronavirus_confirmed and store it
|
||||
# in input_number.new_zealand_coronavirus_confirmed_previous_value if it has increased"
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: sensor.new_zealand_coronavirus_confirmed
|
||||
condition:
|
||||
- condition: template
|
||||
value_template:
|
||||
"{{ (states('sensor.new_zealand_coronavirus_confirmed') | float
|
||||
> states('var.covid_yesterday_total') | float) }}"
|
||||
action:
|
||||
- service: var.set
|
||||
data_template:
|
||||
entity_id: var.covid_daily
|
||||
value:
|
||||
"{{ states('sensor.new_zealand_coronavirus_confirmed') | float - states('var.covid_yesterday_total')
|
||||
| float }}"
|
||||
- service: var.set
|
||||
data_template:
|
||||
entity_id: var.covid_yesterday_total
|
||||
value: "{{ states('sensor.new_zealand_coronavirus_confirmed') | float }}"
|
21
packages/energy_readings.yaml
Normal file
21
packages/energy_readings.yaml
Normal file
@@ -0,0 +1,21 @@
|
||||
mqtt:
|
||||
sensor:
|
||||
- unique_id: view_road_power_now
|
||||
name: "Power Now"
|
||||
state_topic: "viewroad-status/energy/PowerTotals"
|
||||
unit_of_measurement: "kW"
|
||||
- unique_id: view_road_power_now_red
|
||||
name: "Power Now (Red)"
|
||||
state_topic: "tele/tasmo-wemosd1-7280-powermon-1/SENSOR"
|
||||
unit_of_measurement: "kW"
|
||||
value_template: "{{ value_json.ENERGY.Power[0] }}"
|
||||
- unique_id: view_road_power_now_white
|
||||
name: "Power Now (White)"
|
||||
state_topic: "tele/tasmo-wemosd1-7280-powermon-1/SENSOR"
|
||||
unit_of_measurement: "kW"
|
||||
value_template: "{{ value_json.ENERGY.Power[1] }}"
|
||||
- unique_id: view_road_power_now_blue
|
||||
name: "Power Now (Blue)"
|
||||
state_topic: "tele/tasmo-wemosd1-7280-powermon-1/SENSOR"
|
||||
unit_of_measurement: "kW"
|
||||
value_template: "{{ value_json.ENERGY.Power[2] }}"
|
10
packages/firewall_control.yaml
Normal file
10
packages/firewall_control.yaml
Normal file
@@ -0,0 +1,10 @@
|
||||
mqtt:
|
||||
switch:
|
||||
- unique_id: mollies.internet
|
||||
name: "Mollie's Internet Blocking"
|
||||
state_topic: "viewroad-status/firewall/block-unblock-mollie-iphone7"
|
||||
command_topic: "viewroad-commands/firewall/block-unblock-mollie-devices"
|
||||
payload_off: "Unblocked"
|
||||
payload_on: "Blocked"
|
||||
icon: mdi:web
|
||||
retain: false
|
19
packages/gas_heater_operation.yaml
Normal file
19
packages/gas_heater_operation.yaml
Normal file
@@ -0,0 +1,19 @@
|
||||
mqtt:
|
||||
sensor:
|
||||
- unique_id: gas_heater_operating
|
||||
name: "Gas Heater Operating"
|
||||
state_topic: "viewroad-status/gasheater/operating"
|
||||
switch:
|
||||
- unique_id: gasheater_switch
|
||||
name: "Gas Heater"
|
||||
state_topic: "viewroad-status/gasheater/operating"
|
||||
command_topic: "viewroad-commands/gasheater/onoff"
|
||||
#availability:
|
||||
# - topic: "home/bedroom/switch1/available"
|
||||
payload_on: "ON"
|
||||
payload_off: "OFF"
|
||||
state_on: "ON"
|
||||
state_off: "OFF"
|
||||
optimistic: false
|
||||
qos: 0
|
||||
# retain: true
|
55
packages/kogan_kettle.yaml
Normal file
55
packages/kogan_kettle.yaml
Normal file
@@ -0,0 +1,55 @@
|
||||
mqtt:
|
||||
sensor:
|
||||
- unique_id: kettle.temp
|
||||
name: "Kettle Temperature"
|
||||
state_topic: "tele/tasmo-kkettle-3773-portable/RESULT"
|
||||
availability_topic: "tele/tasmo-kkettle-3773-portable/LWT"
|
||||
payload_available: "Online"
|
||||
payload_not_available: "Offline"
|
||||
value_template: >
|
||||
{% if value_json.TuyaReceived['5'].DpIdData %}
|
||||
{{ value_json.TuyaReceived['5'].DpIdData | int(base=16) }}
|
||||
{% else %}
|
||||
{{ states('sensor.kettle_temp') }}
|
||||
{% endif %}
|
||||
unit_of_measurement: "°C"
|
||||
switch:
|
||||
- unique_id: kettle.power
|
||||
name: kettle
|
||||
state_topic: "stat/tasmo-kkettle-3773-portable/POWER"
|
||||
command_topic: "cmnd/tasmo-kkettle-3773-portable/POWER"
|
||||
availability_topic: "tele/tasmo-kkettle-3773-portable/LWT"
|
||||
payload_on: "ON"
|
||||
payload_off: "OFF"
|
||||
payload_available: "Online"
|
||||
payload_not_available: "Offline"
|
||||
retain: false
|
||||
|
||||
input_select:
|
||||
kettle_set:
|
||||
name: Keep Kettle Warm
|
||||
initial: "OFF"
|
||||
options:
|
||||
- "OFF"
|
||||
- "40°C"
|
||||
- "50°C"
|
||||
- "60°C"
|
||||
- "80°C"
|
||||
- "90°C"
|
||||
|
||||
automation:
|
||||
- id: set_the_kettle
|
||||
initial_state: true
|
||||
alias: Set the Kettle
|
||||
trigger:
|
||||
platform: state
|
||||
entity_id: input_select.kettle_set
|
||||
action:
|
||||
service: mqtt.publish
|
||||
data:
|
||||
topic: cmnd/tasmo-kkettle-3773-portable/TuyaSend4
|
||||
payload: '{% set mapping = { "OFF":"102,5", "40°C":"102,0",
|
||||
"50°C":"102,1", "60°C":"102,2", "80°C":"102,3",
|
||||
"90°C":"102,4" } %} {% set dta = trigger.to_state.state %}
|
||||
{{ mapping[dta] }}
|
||||
'
|
5
packages/media_players.yaml
Normal file
5
packages/media_players.yaml
Normal file
@@ -0,0 +1,5 @@
|
||||
media_player:
|
||||
# MPD Media Player on Lounge Touchscreen
|
||||
platform: mpd
|
||||
host: !secret lounge_mpd_player
|
||||
scan_interval: 1
|
62
packages/office_media_buttons.yaml
Normal file
62
packages/office_media_buttons.yaml
Normal file
@@ -0,0 +1,62 @@
|
||||
mqtt:
|
||||
sensor:
|
||||
- unique_id: office_media_button_1
|
||||
name: "Office Media Button"
|
||||
state_topic: "tele/tasmo-zigb-6440-1/9CB5/SENSOR"
|
||||
unit_of_measurement: "Press"
|
||||
value_template: "{{ value_json.ZbReceived.Office_Media_Button.Power }}"
|
||||
|
||||
automation:
|
||||
- id: "1629271273952"
|
||||
alias: Pause Office TV on Media Button
|
||||
description: ""
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: sensor.office_media_button
|
||||
to: "1"
|
||||
condition: []
|
||||
action:
|
||||
- service: media_player.media_pause
|
||||
target:
|
||||
device_id: abb6b5a6b4e4925dcb3a77ea2c293eaa
|
||||
mode: single
|
||||
- id: "1629271457675"
|
||||
alias: Play Office TV on Media Button
|
||||
description: ""
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: sensor.office_media_button
|
||||
to: "2"
|
||||
condition: []
|
||||
action:
|
||||
- service: media_player.media_play
|
||||
target:
|
||||
device_id: abb6b5a6b4e4925dcb3a77ea2c293eaa
|
||||
mode: single
|
||||
- id: "1629271273958"
|
||||
alias: Pause office TV on MQTT
|
||||
description: ""
|
||||
trigger:
|
||||
- platform: mqtt
|
||||
topic: viewroad-commands/officetv/action
|
||||
payload: pause
|
||||
encoding: utf-8
|
||||
condition: []
|
||||
action:
|
||||
- service: media_player.media_pause
|
||||
target:
|
||||
device_id: abb6b5a6b4e4925dcb3a77ea2c293eaa
|
||||
mode: single
|
||||
- id: "1630969028384"
|
||||
alias: Skip Forward 30 Seconds on Media Button
|
||||
description: ""
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: sensor.office_media_button
|
||||
to: "3"
|
||||
condition: []
|
||||
action:
|
||||
- service: media_player.media_seek
|
||||
data:
|
||||
seek_position: 30
|
||||
mode: single
|
21
packages/pet_feeding.yaml
Normal file
21
packages/pet_feeding.yaml
Normal file
@@ -0,0 +1,21 @@
|
||||
mqtt:
|
||||
sensor:
|
||||
- unique_id: pets_fed
|
||||
name: "Pets Fed"
|
||||
state_topic: "viewroad-status/activityfeed/petsfed"
|
||||
- unique_id: hours_since_cat_fed
|
||||
name: "Hours Since Cat Fed"
|
||||
state_topic: "viewroad-tele/petfeeding/hoursSinceCatFed"
|
||||
unit_of_measurement: "Hours"
|
||||
- unique_id: hours_since_zorro_fed
|
||||
name: "Hours Since Zorro Fed"
|
||||
state_topic: "viewroad-tele/petfeeding/hoursSinceDogFed"
|
||||
unit_of_measurement: "Hours"
|
||||
- unique_id: hours_since_water_filled
|
||||
name: "Hours Since Pet Water Filled"
|
||||
state_topic: "viewroad-tele/petfeeding/hoursSinceWaterFilled"
|
||||
unit_of_measurement: "Hours"
|
||||
- unique_id: hours_since_pets_fed
|
||||
name: "Hours Since Pets Fed"
|
||||
state_topic: "viewroad-tele/petfeeding/averageHoursSincePetsFed"
|
||||
unit_of_measurement: "Hours"
|
45
packages/piano_practice.yaml
Normal file
45
packages/piano_practice.yaml
Normal file
@@ -0,0 +1,45 @@
|
||||
mqtt:
|
||||
sensor:
|
||||
- unique_id: piano.lastfinish
|
||||
name: "Last Piano Practice Complete"
|
||||
state_topic: "viewroad-status/activityfeed/pianopractice"
|
||||
- unique_id: piano.lastpracticeduration
|
||||
state_topic: "viewroad-status/piano/lastPracticeDuration"
|
||||
name: "Last Piano Practice Time"
|
||||
unit_of_measurement: "mins"
|
||||
- unique_id: piano.todayspracticeduration
|
||||
state_topic: "viewroad-status/piano/todayPracticeDuration"
|
||||
name: "Today's Piano Practice Time"
|
||||
unit_of_measurement: "mins"
|
||||
- unique_id: piano.thisweekspracticeduration
|
||||
state_topic: "viewroad-status/piano/thisWeekPracticeDuration"
|
||||
name: "This Week's Piano Practice Time"
|
||||
unit_of_measurement: "mins"
|
||||
|
||||
automation:
|
||||
- id: "1648705777863"
|
||||
alias: Tag Started Piano Practice is Scanned
|
||||
description: ""
|
||||
trigger:
|
||||
- platform: tag
|
||||
tag_id: af3f595c-5d41-4bb6-8985-27c70b0e6217
|
||||
condition: []
|
||||
action:
|
||||
- service: mqtt.publish
|
||||
data:
|
||||
topic: viewroad-commands/chores/piano_practice
|
||||
payload: start
|
||||
mode: single
|
||||
- id: "Tag Finished Piano Practice is Scanned"
|
||||
alias: Tag Finished Piano Practice is Scanned
|
||||
description: ""
|
||||
trigger:
|
||||
- platform: tag
|
||||
tag_id: 6e7a6ab5-c7e4-47f3-be8f-830241175d69
|
||||
condition: []
|
||||
action:
|
||||
- service: mqtt.publish
|
||||
data:
|
||||
topic: viewroad-commands/chores/piano_practice
|
||||
payload: end
|
||||
mode: single
|
25
packages/presense_sense.yaml
Normal file
25
packages/presense_sense.yaml
Normal file
@@ -0,0 +1,25 @@
|
||||
sensor:
|
||||
- platform: mqtt_room
|
||||
device_id: "d75fda56c990"
|
||||
name: "Nissan Leaf LNM748 (BTB01)"
|
||||
state_topic: "espresense/rooms"
|
||||
timeout: 60
|
||||
away_timeout: 120 # number of seconds after which the enitity will get status not_home
|
||||
- platform: mqtt_room
|
||||
device_id: "f54fe90c3d15"
|
||||
name: "Mazda MPV KUU64 (BTB02)"
|
||||
state_topic: "espresense/rooms"
|
||||
timeout: 60
|
||||
away_timeout: 120 # number of seconds after which the enitity will get status not_home
|
||||
- platform: mqtt_room
|
||||
device_id: "c5eba6d8e8fd"
|
||||
name: "Vespa Scooter B8EJJ (BTB03)"
|
||||
state_topic: "espresense/rooms"
|
||||
timeout: 60
|
||||
away_timeout: 120 # number of seconds after which the enitity will get status not_home
|
||||
- platform: mqtt_room
|
||||
device_id: "ed5e450c84a5"
|
||||
name: "Zephyr Caravan Z556D (BTB04)"
|
||||
state_topic: "espresense/rooms"
|
||||
timeout: 60
|
||||
away_timeout: 120 # number of seconds after which the enitity will get status not_home
|
2
packages/recorder.yaml
Normal file
2
packages/recorder.yaml
Normal file
@@ -0,0 +1,2 @@
|
||||
# enable the recorder integration (optional)
|
||||
recorder:
|
69
packages/room_fan_control.yaml
Normal file
69
packages/room_fan_control.yaml
Normal file
@@ -0,0 +1,69 @@
|
||||
input_select:
|
||||
master_bedroom_fan_set:
|
||||
name: Master Bedroom Fan Speed
|
||||
initial: "Off"
|
||||
options:
|
||||
- "Off"
|
||||
- "Low"
|
||||
- "Medium"
|
||||
- "High"
|
||||
bedroom_2_fan_set:
|
||||
name: Bedroom 2 Fan Speed
|
||||
initial: "Off"
|
||||
options:
|
||||
- "Off"
|
||||
- "Low"
|
||||
- "Medium"
|
||||
- "High"
|
||||
bedroom_3_fan_set:
|
||||
name: Bedroom 3 Fan Speed
|
||||
initial: "Off"
|
||||
options:
|
||||
- "Off"
|
||||
- "Low"
|
||||
- "Medium"
|
||||
- "High"
|
||||
|
||||
automation:
|
||||
- id: set_the_master_bedroom_fan
|
||||
initial_state: true
|
||||
alias: Set the Master Bedroom Fan
|
||||
trigger:
|
||||
entity_id: input_select.master_bedroom_fan_set
|
||||
platform: state
|
||||
action:
|
||||
service: mqtt.publish
|
||||
data:
|
||||
topic: cmnd/tasmo-ifan02-3793-bedrm1-1/FanSpeed
|
||||
payload: '{% set mapping = { "Off":"0", "Low":"1",
|
||||
"Medium":"2", "High":"3" } %} {% set dta = trigger.to_state.state %}
|
||||
{{ mapping[dta] }}
|
||||
'
|
||||
- id: set_bedroom_2_fan
|
||||
initial_state: true
|
||||
alias: Set Bedroom 2 Fan Speed
|
||||
trigger:
|
||||
entity_id: input_select.bedroom_2_fan_set
|
||||
platform: state
|
||||
action:
|
||||
service: mqtt.publish
|
||||
data:
|
||||
topic: cmnd/tasmo-ifan02-7042-bedrm2/FanSpeed
|
||||
payload: '{% set mapping = { "Off":"0", "Low":"1",
|
||||
"Medium":"2", "High":"3" } %} {% set dta = trigger.to_state.state %}
|
||||
{{ mapping[dta] }}
|
||||
'
|
||||
- id: set_bedroom_3_fan
|
||||
initial_state: true
|
||||
alias: Set Bedroom 3 Fan Speed
|
||||
trigger:
|
||||
entity_id: input_select.bedroom_3_fan_set
|
||||
platform: state
|
||||
action:
|
||||
service: mqtt.publish
|
||||
data:
|
||||
topic: cmnd/tasmo-ifan02-3497-bedrm3/FanSpeed
|
||||
payload: '{% set mapping = { "Off":"0", "Low":"1",
|
||||
"Medium":"2", "High":"3" } %} {% set dta = trigger.to_state.state %}
|
||||
{{ mapping[dta] }}
|
||||
'
|
4
packages/tts.yaml
Normal file
4
packages/tts.yaml
Normal file
@@ -0,0 +1,4 @@
|
||||
# Text to speech
|
||||
tts:
|
||||
platform: google_translate
|
||||
service_name: google_say
|
Reference in New Issue
Block a user