Voice stuff
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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',
|
||||
|
||||
|
||||
@@ -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],
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user