initial checkin

This commit is contained in:
Christian Kauer 2021-11-02 19:38:26 +01:00
commit 8e94557f60
34 changed files with 412 additions and 0 deletions

1
.HA_VERSION Normal file
View File

@ -0,0 +1 @@
2021.10.6

7
.gitignore vendored Normal file
View File

@ -0,0 +1,7 @@
/*.log
/home-assistant.log.1
/home-assistant.log.fault
/home-assistant_v2.db-wal
/home-assistant_v2.db
/home-assistant_v2.db-shm
/.storage

5
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,5 @@
{
"files.associations": {
"*.yaml": "home-assistant"
}
}

18
automations.yaml Normal file
View File

@ -0,0 +1,18 @@
- id: '1635708587790'
alias: Außenbeleuchtung einschalten
description: ''
trigger:
- platform: sun
event: sunset
offset: -00:30:00
condition:
- condition: time
before: '22:00'
action:
- service: telegram_bot.send_message
data:
title: Sonnenuntergang
message: Außenbeleuchtung wird eingeschaltet {"message":"Darksky:{{states('sun.sun')}}"}
target: -391668323
message_tag: ''
mode: single

View File

@ -0,0 +1,14 @@
description: Send notification on Home Assistant start
alias: system_start_notification
id: 104463f6-7524-48d9-bbe5-2bb09017e946
mode: single
trigger:
platform: homeassistant
event: start
action:
- service: notify.dev_telegram
data:
message: Home Assistant is starting up again
# - service: notify.chk_telegram
# data:
# message: Home Assistant is starting up again

View File

@ -0,0 +1,54 @@
blueprint:
name: Motion-activated Light
description: Turn on a light when motion is detected.
domain: automation
source_url: https://github.com/home-assistant/core/blob/dev/homeassistant/components/automation/blueprints/motion_light.yaml
input:
motion_entity:
name: Motion Sensor
selector:
entity:
domain: binary_sensor
device_class: motion
light_target:
name: Light
selector:
target:
entity:
domain: light
no_motion_wait:
name: Wait time
description: Time to leave the light on after last motion is detected.
default: 120
selector:
number:
min: 0
max: 3600
unit_of_measurement: seconds
# If motion is detected within the delay,
# we restart the script.
mode: restart
max_exceeded: silent
trigger:
platform: state
entity_id: !input motion_entity
from: "off"
to: "on"
action:
- alias: "Turn on the light"
service: light.turn_on
target: !input light_target
- alias: "Wait until there is no motion from device"
wait_for_trigger:
platform: state
entity_id: !input motion_entity
from: "on"
to: "off"
- alias: "Wait the number of seconds that has been set"
delay: !input no_motion_wait
- alias: "Turn off the light"
service: light.turn_off
target: !input light_target

View File

@ -0,0 +1,44 @@
blueprint:
name: Zone Notification
description: Send a notification to a device when a person leaves a specific zone.
domain: automation
source_url: https://github.com/home-assistant/core/blob/dev/homeassistant/components/automation/blueprints/notify_leaving_zone.yaml
input:
person_entity:
name: Person
selector:
entity:
domain: person
zone_entity:
name: Zone
selector:
entity:
domain: zone
notify_device:
name: Device to notify
description: Device needs to run the official Home Assistant app to receive notifications.
selector:
device:
integration: mobile_app
trigger:
platform: state
entity_id: !input person_entity
variables:
zone_entity: !input zone_entity
# This is the state of the person when it's in this zone.
zone_state: "{{ states[zone_entity].name }}"
person_entity: !input person_entity
person_name: "{{ states[person_entity].name }}"
condition:
condition: template
value_template: "{{ trigger.from_state.state == zone_state and trigger.to_state.state != zone_state }}"
action:
- alias: "Notify that a person has left the zone"
domain: mobile_app
type: notify
device_id: !input notify_device
message: "{{ person_name }} has left {{ zone_state }}"

View File

@ -0,0 +1,84 @@
blueprint:
name: Confirmable Notification
description: >-
A script that sends an actionable notification with a confirmation before
running the specified action.
domain: script
source_url: https://github.com/home-assistant/core/blob/master/homeassistant/components/script/blueprints/confirmable_notification.yaml
input:
notify_device:
name: Device to notify
description: Device needs to run the official Home Assistant app to receive notifications.
selector:
device:
integration: mobile_app
title:
name: "Title"
description: "The title of the button shown in the notification."
default: ""
selector:
text:
message:
name: "Message"
description: "The message body"
selector:
text:
confirm_text:
name: "Confirmation Text"
description: "Text to show on the confirmation button"
default: "Confirm"
selector:
text:
confirm_action:
name: "Confirmation Action"
description: "Action to run when notification is confirmed"
default: []
selector:
action:
dismiss_text:
name: "Dismiss Text"
description: "Text to show on the dismiss button"
default: "Dismiss"
selector:
text:
dismiss_action:
name: "Dismiss Action"
description: "Action to run when notification is dismissed"
default: []
selector:
action:
mode: restart
sequence:
- alias: "Set up variables"
variables:
action_confirm: "{{ 'CONFIRM_' ~ context.id }}"
action_dismiss: "{{ 'DISMISS_' ~ context.id }}"
- alias: "Send notification"
domain: mobile_app
type: notify
device_id: !input notify_device
title: !input title
message: !input message
data:
actions:
- action: "{{ action_confirm }}"
title: !input confirm_text
- action: "{{ action_dismiss }}"
title: !input dismiss_text
- alias: "Awaiting response"
wait_for_trigger:
- platform: event
event_type: mobile_app_notification_action
event_data:
action: "{{ action_confirm }}"
- platform: event
event_type: mobile_app_notification_action
event_data:
action: "{{ action_dismiss }}"
- choose:
- conditions: "{{ wait.trigger.event.data.action == action_confirm }}"
sequence: !input confirm_action
- conditions: "{{ wait.trigger.event.data.action == action_dismiss }}"
sequence: !input dismiss_action

20
configuration.yaml Normal file
View File

@ -0,0 +1,20 @@
homeassistant:
# Load packages
packages: !include_dir_named integrations
# Configure a default setup of Home Assistant (frontend, api, etc)
default_config:
# Text to speech
tts:
- platform: google_translate
#group: !include groups.yaml
#automation: !include automations.yaml
#script: !include scripts.yaml
scene: !include scenes.yaml

View File

@ -0,0 +1,11 @@
# https://www.home-assistant.io/integrations/light.group/
#
platform: group
name: Deckenstrahler
unique_id: 89e0b395-1c3b-4646-b0bb-101d77e1d867
entities:
- light.hue_color_spot_1
- light.hue_color_spot_2
- light.hue_color_spot_3
- light.hue_color_spot_4

View File

@ -0,0 +1,8 @@
# https://www.home-assistant.io/integrations/light.group/
#
platform: group
name: Esszimmerlichter
unique_id: 89e0b396-1c3b-4646-b0bb-101d77e1d862
entities:
- light.licht_esszimmer_tisch
- light.licht_esszimmer_wand

View File

@ -0,0 +1,9 @@
# https://www.home-assistant.io/integrations/light.group/
#
# switch als Licht einbinden, so dass eine Grupperung als light möglich ist
# https://community.home-assistant.io/t/light-groups-making-me-crazy/180978/6
platform: switch
name: Licht Esszimmer Wand
entity_id: switch.double_switch_node9_3

View File

@ -0,0 +1,9 @@
# https://www.home-assistant.io/integrations/light.group/
#
# switch als Licht einbinden, so dass eine Grupperung als light möglich ist
# https://community.home-assistant.io/t/light-groups-making-me-crazy/180978/6
platform: switch
name: Licht Esszimmer Tisch
entity_id: switch.double_switch_node9_2_2

View File

@ -0,0 +1,8 @@
# https://www.home-assistant.io/integrations/light.group/
#
platform: group
name: Küchenlichter
unique_id: 89e0b395-1c3b-4646-b0bb-101d77e1d862
entities:
- light.kitchen1
- light.kitchen2

View File

@ -0,0 +1,9 @@
# https://www.home-assistant.io/integrations/light.group/
#
# switch als Licht einbinden, so dass eine Grupperung als light möglich ist
# https://community.home-assistant.io/t/light-groups-making-me-crazy/180978/6
platform: switch
name: Licht Küche Gaube
entity_id: switch.double_switch_node18_6

View File

@ -0,0 +1,7 @@
# https://www.home-assistant.io/integrations/group/
#
# switch als Licht einbinden, so dass eine Grupperung als light möglich ist
# https://community.home-assistant.io/t/light-groups-making-me-crazy/180978/6
platform: switch
name: Licht Küche Herd
entity_id: switch.double_switch_node18_2_5

View File

@ -0,0 +1,9 @@
# https://www.home-assistant.io/integrations/light.group/
#
platform: group
name: Wohnzimmerlichter
unique_id: 81e0b395-1c3b-4646-b0bb-101d77e1d862
entities:
- light.hue_color_spot_5
- light.hue_color_spot_6
- light.hue_color_spot_7

View File

@ -0,0 +1,9 @@
# https://www.home-assistant.io/integrations/light.group/
#
# switch als Licht einbinden, so dass eine Grupperung als light möglich ist
# https://community.home-assistant.io/t/light-groups-making-me-crazy/180978/6
platform: switch
name: Stricklicht
entity_id: switch.nas_wr01z_node21

View File

@ -0,0 +1,6 @@
# Notifier for Telegram to Christian
# https://www.home-assistant.io/integrations/notify/
#
name: chk_telegram
platform: telegram
chat_id: !secret telegram_chk

View File

@ -0,0 +1,5 @@
# Notifier for Telegram-Gruppe DEV-Gruppe (openhab)
# https://www.home-assistant.io/integrations/notify/
name: dev_telegram
platform: telegram
chat_id: !secret telegram_dev

0
groups.yaml Normal file
View File

3
integrations/alexa.yaml Normal file
View File

@ -0,0 +1,3 @@
# https://www.home-assistant.io/integrations/alexa.smart_home/#test-the-lambda-function
alexa:
smart_home:

View File

@ -0,0 +1,4 @@
# https://www.home-assistant.io/docs/automation/
#
automation: !include ../automations.yaml
automation split: !include_dir_list ../automations

4
integrations/groups.yaml Normal file
View File

@ -0,0 +1,4 @@
# https://www.home-assistant.io/integrations/group/
#
group: !include ../groups.yaml
group split: !include_dir_named ../entities/groups

7
integrations/http.yaml Normal file
View File

@ -0,0 +1,7 @@
http:
ssl_certificate: /ssl/cert.pem
ssl_key: /ssl/privkey.pem
use_x_forwarded_for: true
trusted_proxies:
- 192.168.178.70
- 127.0.0.1

3
integrations/light.yaml Normal file
View File

@ -0,0 +1,3 @@
# https://www.home-assistant.io/integrations/light/
#
light: !include_dir_list ../entities/lights

3
integrations/notify.yaml Normal file
View File

@ -0,0 +1,3 @@
# https://www.home-assistant.io/integrations/notify/
#
notify: !include_dir_list ../entities/notifiers

10
integrations/script.yaml Normal file
View File

@ -0,0 +1,10 @@
---
# The script integration allows users to specify a sequence of actions to be
# executed by Home Assistant when turned on.
#
# This loads up my custom scripts.
#
# https://www.home-assistant.io/integrations/script/
#
script: !include ../scripts.yaml
script split: !include_dir_named ../scripts

View File

@ -0,0 +1,9 @@
# Telegram Integration
# https://www.home-assistant.io/integrations/telegram_bot/
telegram_bot:
- platform: polling
api_key: !secret telegram_api_key
allowed_chat_ids:
- !secret telegram_dev # dev chat
- !secret telegram_chk # christian

0
scenes.yaml Normal file
View File

8
scripts.yaml Normal file
View File

@ -0,0 +1,8 @@
script_test1:
alias: Skript Test1
sequence:
- service: telegram_bot.send_message
data:
message: test from script 1
target: -391668323
mode: single

View File

@ -0,0 +1,15 @@
alias: Telegram Test1
sequence:
- service: telegram_bot.send_message
data:
message: test from Telegram Test1
arget: -391668323
mode: single
# alias: Telegram Test1
# mode: single
# sequence:
# - service: telegram_bot.send_message
# data:
# message: Sonne17
# target: -391668323

9
secrets.yaml Normal file
View File

@ -0,0 +1,9 @@
# Use this file to store secrets like usernames and passwords.
# Learn more at https://www.home-assistant.io/docs/configuration/secrets/
some_password: welcome
telegram_api_key: 448772521:AAHIIrXBVEUF7_1zYRCmGo5YHipRJyBlp7o
telegram_dev: -391668323
telegram_chk: 14652347