Voice stuff

This commit is contained in:
Martin Bauer
2020-10-04 20:57:16 +00:00
parent 2e8508a625
commit 5aaabec3b1
25 changed files with 7946 additions and 6067 deletions

View File

@@ -98,8 +98,9 @@ sensor:
fhem_ids:
- Arbeitszimmer_Bewegungsmelder
fhem_sensor_type: brightness
- name: Pool Pumpe Verbrauch
fhem_sensor_type: power
fhem_ids:
- SteckdosenSchalter_Pwr
- SteckdosenSchalter
#- name: Pool Pumpe Verbrauch
# fhem_sensor_type: power
# fhem_ids:
# - SteckdosenSchalter_Pwr
# - SteckdosenSchalter

View File

@@ -31,7 +31,7 @@ def get_config():
'key_numeric_pound': '[radio] Bayern 2',
'key_red': '[scene] schlafzimmer_stillen',
'key_green': '[scene] schlafzimmer_rot',
'key_green': '[scene] schlafzimmer_orange',
'key_yellow': '[scene] schlafzimmer_ganz_hell',
'key_blue': '[scene] schlafzimmer_blau',

View File

@@ -13,16 +13,10 @@ def first_lower(s):
return s[0].lower() + s[1:]
extend = functools.partial(extend_general, platform='knx')
def extent(result_dict, input_dict):
for k, v in input_dict.items():
if k not in result_dict:
result_dict[k] = []
for entry in v:
if 'platform' not in entry:
entry['platform'] = 'knx'
result_dict[k] += v
@@ -49,6 +43,7 @@ def create_power_plug(device_info: List[DeviceInfo],
postfix_counter_reset=" BSZ Neustart"):
result = {'switch': [],
'sensor': []}
template_sensors = {'sensor': []}
for entry in device_info:
try:
# Switching
@@ -87,7 +82,7 @@ def create_power_plug(device_info: List[DeviceInfo],
'type': 'DPT-9',
})
name = name_to_id(entry.display_name + " Verbrauch mA", 'sensor')
result['sensor'].append({
template_sensors['sensor'].append({
'platform': 'template',
'sensors': {
name_to_id(entry.display_name + " Verbrauch", None):
@@ -111,7 +106,7 @@ def create_power_plug(device_info: List[DeviceInfo],
except KeyError as e:
raise ValueError(f"Skipping light {entry.csv_name} - Could not find CSV File entry: {e}")
return result
return result, template_sensors
def create_lights(device_info: List[DeviceInfo],

View File

@@ -154,11 +154,14 @@ def add_knx_devices(devices, groups):
knx.extent(devices, knx.create_lights(lights, imported_csv))
knx.extent(devices, knx.create_shutters(shutters, imported_csv))
knx.extent(devices, knx.create_switches(switches, imported_csv))
knx.extent(devices, knx.create_power_plug(power_plugs, imported_csv))
power_plugs, template_sensors = knx.create_power_plug(power_plugs, imported_csv)
knx.extent(devices, power_plugs)
for device_type, devices in [('light', lights), ('cover', shutters), ('switch', switches)]:
for device in devices:
add_to_group(groups, device.groups, device.display_name, device_type)
return template_sensors
def add_fhem_devices(devices, groups):
@@ -246,8 +249,11 @@ def recorder_config(all_devices):
exclude_list = ['sun.sun']
exclude_list.extend(sensor_exclude_list)
exclude_list.extend(make_sensor_exclude_list(all_devices, recorder_excludes))
return {
'recorder': {
'db_url': 'mysql://homeassistant:Vc9JpSh0VQqKF1zgwdJG@core-mariadb/homeassistant?charset=utf8',
'purge_keep_days': 60,
'exclude': {
'entities': exclude_list,
}
@@ -261,8 +267,17 @@ def create_config(target_directory, development=False):
group_dict = yaml.load(open(groups_yaml_path, encoding="utf-8"))
manual_config_dict = yaml.load(open(manual_config_path, encoding="utf-8"))
knx_conf = {
'rate_limit': 20,
'tunneling': {
'host': '192.168.178.65',
'port': 3671
}
}
template_sensors = add_knx_devices(knx_conf, group_dict)
all_devices = {}
add_knx_devices(all_devices, group_dict)
all_devices.update(template_sensors)
add_fhem_devices(all_devices, group_dict)
with open(os.path.join(target_directory, 'configuration.yaml'), 'w', encoding="utf-8") as output:
@@ -279,6 +294,10 @@ def create_config(target_directory, development=False):
add_meta_groups(group_dict)
with open(os.path.join(target_directory, 'knx_conf.yaml'), 'w') as output:
output.write("# Dont' edit manually! this is generated!\n\n")
yaml.dump(knx_conf, output)
with open(os.path.join(target_directory, 'groups.yaml'), 'w') as output:
output.write("# Dont' edit manually! this is generated!\n\n")
yaml.dump(group_dict, output)

View File

@@ -7,7 +7,6 @@ person:
sun:
system_health:
updater:
recorder:
logbook:
#input_boolean:
@@ -17,13 +16,20 @@ logbook:
#input_text:
ondilo:
username: customer_api
password: !secret ondilo_pw
# Uncomment this if you are using SSL/TLS, running in Docker container, etc.
http:
base_url: https://ha.bauer.tech
homeassistant:
name: MyHome
latitude: 49.369477
longitude: 10.9831468
external_url: https://ha.bauer.tech
internal_url: https://ha.bauer.tech
auth_mfa_modules:
- type: totp
@@ -50,6 +56,23 @@ homeassistant:
# enable configuration editor
config:
ffmpeg:
# using onvif instead
#camera:
# - platform: generic
# stream_source: rtsp://192.168.178.114:554/stream1
# name: BabyCameraHiRes
# username: camera
# password: !secret camera_pw
# verify_ssl: false
# - platform: generic
# stream_source: rtsp://192.168.178.114:554/stream2
# name: BabyCameraLowRes
# username: camera
# password: !secret camera_pw
#
zone:
- name: Uni
latitude: 49.573626
@@ -61,13 +84,6 @@ owntracks:
max_gps_accuracy: 200
waypoints: false
homekit:
name: !secret homekit_name
filter:
include_domains:
- scene
discovery:
ignore:
- philips_hue
@@ -130,6 +146,17 @@ switch:
name: esszimmer_oben_radio_steckdose
host: esszimmerradio.fritz.box
num_power_plugs: 4
- platform: mqtt
name: PoolPumpeSteckdose
state_topic: "stat/poolpumpesteckdose/POWER"
command_topic: "cmnd/poolpumpesteckdose/POWER"
availability_topic: "tele/poolpumpesteckdose/LWT"
qos: 1
payload_on: "ON"
payload_off: "OFF"
payload_available: "Online"
payload_not_available: "Offline"
retain: false
long_click:
duration: 0.6
@@ -171,12 +198,113 @@ tts:
output_format: audio/flac
output_audio_rate: 44100
alexa:
smart_home:
locale: de-DE
#endpoint: https://api.eu.amazonalexa.com/v3/events
#client_id: amzn1.application-oa2-client.a4de8a70130c4f9383b277044f07a3af
#client_secret: !secret alexa_client_secret
filter:
include_entities:
# Light Groups
#- light.kuche_esszimmer_lichter
#- light.arbeitszimmer_lichter
# Arbeitszimmer
- light.arbeitszimmer_deckenlampe
- light.arbeitszimmer_fluter
- light.arbeitszimmer_stehlampe_unten
- light.arbeitszimmer_stehlampe_oben
- cover.arbeitszimmer_rollo
- scene.arbeitszimmer_orange
- scene.arbeitszimmer_blau_grun
- scene.arbeitszimmer_hell
# Gang
- light.gang_bogen
- light.gang_licht
- light.gang_einganglicht
# Wohnbereich
- cover.wohnzimmer_fenster_rollo
- cover.wohnzimmer_terrassentur_rollo
- cover.kuche_fenster_rollo
- cover.esszimmer_fenster_rollo
entity_config:
cover.arbeitszimmer_rollo:
display_categories: EXTERIOR_BLIND
cover.wohnzimmer_fenster_rollo:
display_categories: EXTERIOR_BLIND
cover.wohnzimmer_terrassentur_rollo:
display_categories: EXTERIOR_BLIND
cover.esszimmer_fenster_rollo:
display_categories: EXTERIOR_BLIND
knx:
rate_limit: 20
tunneling:
host: 192.168.178.65
port: 3671
homekit:
name: !secret homekit_name
filter:
include_entities:
# Light Groups
#- light.kuche_esszimmer_lichter
#- light.arbeitszimmer_lichter
# Arbeitszimmer
- light.arbeitszimmer_deckenlampe
- light.arbeitszimmer_fluter
- light.arbeitszimmer_stehlampe_unten
- light.arbeitszimmer_stehlampe_oben
- cover.arbeitszimmer_rollo
- scene.arbeitszimmer_orange
- scene.arbeitszimmer_blau_grun
- scene.arbeitszimmer_hell
# Gang
- light.gang_bogen
- light.gang_licht
- light.gang_einganglicht
# Wohnbereich
- cover.wohnzimmer_fenster_rollo
- cover.wohnzimmer_terrassentur_rollo
- cover.kuche_fenster_rollo
- cover.esszimmer_fenster_rollo
google_assistant:
project_id: homeassistant-d3afc
service_account: !include google_assistant_service_account.json
report_state: true
expose_by_default: false
entity_config:
# Arbeitszimmer
light.arbeitszimmer_deckenlampe:
room: Arbeitszimmer
light.arbeitszimmer_fluter:
room: Arbeitszimmer
light.arbeitszimmer_stehlampe_unten:
room: Arbeitszimmer
light.arbeitszimmer_stehlampe_oben:
room: Arbeitszimmer
cover.arbeitszimmer_rollo:
room: Arbeitszimmer
scene.arbeitszimmer_orange:
room: Arbeitszimmer
scene.arbeitszimmer_blau_grun:
room: Arbeitszimmer
scene.arbeitszimmer_hell:
room: Arbeitszimmer
# Gang
light.gang_bogen:
room: Gang
light.gang_licht:
room: Gang
light.gang_einganglicht:
room: Gang
# Wohnbereich
cover.wohnzimmer_fenster_rollo:
room: Wohnbereich
cover.wohnzimmer_terrassentur_rollo:
room: Wohnbereich
cover.kuche_fenster_rollo:
room: Wohnbereich
cover.esszimmer_fenster_rollo:
room: Wohnbereich
knx: !include knx_conf.yaml
fhem:
host: localhost
@@ -240,6 +368,12 @@ lirc_network:
binary_sensor:
- platform: lirc_network # sensor to show for each host if it is currently connected
- platform: sysdweb
- platform: ffmpeg_noise
input: rtsp://camera:1238djie!d24yu@babycamera:554/stream2
extra_arguments: -filter:a highpass=f=300,lowpass=f=2500,volume=volume=2
initial_state: false
duration: 2
reset: 60
media_player:
- platform: squeezebox_telnet
@@ -252,7 +386,7 @@ media_player:
vacuum:
- platform: xiaomi_miio
host: rockrobo.fritz.box
host: vacuum.fritz.box
token: !secret vacuum_token
@@ -281,14 +415,14 @@ sensor:
- platform: history_stats
name: Pool Pumpe Heute
entity_id: switch.mobile_steckdose_schalter_1
entity_id: switch.poolpumpesteckdose
type: time
state: 'on'
start: '{{ now().replace(hour=0).replace(minute=0).replace(second=0) }}'
end: '{{ now() }}'
- platform: history_stats
name: Pool Pumpe Gestern
entity_id: switch.mobile_steckdose_schalter_1
entity_id: switch.poolpumpesteckdose
type: time
state: 'on'
start: '{{ as_timestamp(now().replace(hour=0).replace(minute=0).replace(second=0)) - (60*60 * 24) }}'
@@ -330,3 +464,25 @@ light:
- light.garten_spot_beet
- light.garten_stehleuchte
- light.aussen_terassenlicht
- platform: group
name: Arbeitszimmer Lichter
entities:
- light.arbeitszimmer_deckenlampe
- light.arbeitszimmer_fluter
- light.arbeitszimmer_stehlampe_unten
- light.arbeitszimmer_stehlampe_oben
- platform: group
name: Wohnbereich Lichter
entities:
- light.kuche_deckenlampe
- light.esszimmer_deckenlampe_west
- light.esszimmer_deckenlampe_mitte
- light.kuche_links
- light.kuche_rechts
- light.kuche_vorne
- light.wohnzimmer_deckenlampe
- light.wohnzimmer_kugel
- light.wohnzimmer_stehlampe
- light.wohnzimmer_stehlampe_oben
- light.wohnzimmer_regal_rechts
- light.wohnzimmer_regal_links

View File

@@ -2,4 +2,6 @@ vacuum_token: 484e676f586b36656a5a54704a327a59
watson_api_key: X_tnnoaZGOwxZlqUn07wkD2G-0vaaAuOw6I6d_6jpCf7
telegram_token: 824902906:AAHKLyNuEX_Sd_r0S-3jiZ-OPnlWnO8XSeM
telegram_chatid_martin: 747324122
sysdweb_pw: jo8ddgrUmGj7cP1mk43z
sysdweb_pw: jo8ddgrUmGj7cP1mk43z
camera_pw: 1238djie!d24yu
ondilo_pw: AxZY4lCMFb

View File

@@ -1,3 +1,3 @@
local_ip: 127.0.0.1
knxd_host: 127.0.0.1 #directly the network bridge: 192.168.178.65
homekit_name: BauerHome
homekit_name: BauerHome