KNX config file creation script from CSV exports

This commit is contained in:
Martin Bauer
2019-06-02 09:36:19 +02:00
parent 639f14a438
commit 6d2a193fb4
11 changed files with 269 additions and 0 deletions

View File

View File

180
config_creation/knx_conf.py Normal file
View File

@@ -0,0 +1,180 @@
from typing import List
from util import DeviceInfo
__all__ = ['extent', 'import_ets5_csv_file', 'create_power_plug', 'create_lights', 'create_shutters', 'create_switches']
def first_lower(s):
if len(s) == 0:
return s
else:
return s[0].lower() + s[1:]
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:
entry['platform'] = 'knx_data'
result_dict[k] += v
def import_ets5_csv_file(csv_file):
result = dict()
with open(csv_file, encoding='utf-8') as f:
for line in f:
splitted_line = line.split(",")
name = splitted_line[0].replace('"', "")
group_address = splitted_line[1].replace('"', "")
if '-' not in group_address:
result[name.strip()] = splitted_line[1].replace('"', "").strip()
return result
def create_power_plug(device_info: List[DeviceInfo],
csv_contents,
postfix_on_off_write=" Schalten",
postfix_on_off_read=" RM Schalten",
postfix_counter_value=" BSZ Wert",
postfix_consumption=" Verbrauch",
postfix_consumption_sum=" VerbrauchSumme",
postfix_consumption_reset=" Verbrauch Neustart",
postfix_counter_reset=" BSZ Neustart"):
result = {'switch': [],
'sensor': []}
for entry in device_info:
try:
# Switching
on_off_write_addr = csv_contents.get(entry.csv_name + postfix_on_off_write, None)
on_off_read_addr = csv_contents.get(entry.csv_name + postfix_on_off_read, None)
if on_off_write_addr:
device_entry = {
'name': entry.display_name,
'address': on_off_write_addr,
}
if on_off_read_addr:
device_entry['state_address'] = on_off_read_addr
result['switch'].append(device_entry)
# Counter for time (in hours) how long device was switched on
counter_value = csv_contents.get(entry.csv_name + postfix_counter_value, None)
if counter_value:
result['sensor'].append({
'name': entry.display_name + " Betriebsstunden",
'address': counter_value,
'type': '2byte_unsigned',
})
counter_reset = csv_contents.get(entry.csv_name + postfix_counter_reset, None)
if counter_reset:
result['switch'].append({
'name': entry.display_name + " Betriebsstunden Reset",
'address': counter_reset
})
# Consumption
consumption = csv_contents.get(entry.csv_name + postfix_consumption, None)
if consumption:
result['sensor'].append({
'name': entry.display_name + " Verbrauch",
'address': consumption,
'type': 'current',
})
consumption_sum = csv_contents.get(entry.csv_name + postfix_consumption_sum, None)
if consumption_sum:
result['sensor'].append({
'name': entry.display_name + " Verbrauch Summe",
'address': consumption_sum,
'type': '4byte_unsigned',
})
consumption_reset = csv_contents.get(entry.csv_name + postfix_consumption_reset, None)
if consumption_reset:
result['switch'].append({
'name': entry.display_name + " Verbrauch Reset",
'address': consumption_reset
})
except KeyError as e:
raise ValueError(f"Skipping light {entry.csv_name} - Could not find CSV File entry: {e}")
return result
def create_lights(device_info: List[DeviceInfo],
csv_contents,
postfix_on_off_write=" Schalten",
postfix_on_off_read=" RM Schalten",
postfix_brightness_write=" Helligkeit",
postfix_brightness_read=" RM Helligkeit"):
result = []
for entry in device_info:
try:
on_off_write_addr = csv_contents[entry.csv_name + postfix_on_off_write]
on_off_read_addr = csv_contents.get(entry.csv_name + postfix_on_off_read, None)
brightness_write_addr = csv_contents.get(entry.csv_name + postfix_brightness_write, None)
brightness_read_addr = csv_contents.get(entry.csv_name + postfix_brightness_read, None)
entry = {
'name': entry.display_name,
'address': on_off_write_addr,
}
if on_off_read_addr:
entry['state_address'] = on_off_read_addr
if brightness_write_addr:
entry['brightness_address'] = brightness_write_addr
if brightness_read_addr:
entry['brightness_state_address'] = brightness_read_addr
result.append(entry)
except KeyError as e:
raise ValueError(f"Skipping light {entry.csv_name} - Could not find CSV File entry: {e}")
return {'light': result}
def create_switches(device_info: List[DeviceInfo], csv_contents,
postfix_on_off_write=" Schalten",
postfix_on_off_read=" RM Schalten"):
result = []
for entry in device_info:
try:
on_off_write_addr = csv_contents.get(entry.csv_name + postfix_on_off_write, None)
if on_off_write_addr is None:
on_off_write_addr = csv_contents[entry.csv_name]
on_off_read_addr = csv_contents.get(entry.csv_name + postfix_on_off_read, None)
entry = {
'name': entry.display_name,
'address': on_off_write_addr,
}
if on_off_read_addr:
entry['state_address'] = on_off_read_addr
result.append(entry)
except KeyError as e:
raise ValueError(f"Skipping switch {entry.csv_name} - Could not find CSV File entry: {e}")
return {'switch': result}
def create_shutters(device_info: List[DeviceInfo],
csv_contents,
postfix_long_addr=" Lang", postfix_short_addr=" Kurz", postfix_read_position=" RM Position",
postfix_set_position=" Position"):
result = []
for entry in device_info:
try:
long_addr = csv_contents[entry.csv_name + postfix_long_addr]
short_addr = csv_contents[entry.csv_name + postfix_short_addr]
read_pos_addr = csv_contents[entry.csv_name + postfix_read_position]
set_pos_addr = csv_contents[entry.csv_name + postfix_set_position]
result.append({
'name': entry.display_name,
'move_long_address': long_addr,
'move_short_address': short_addr,
'position_address': set_pos_addr,
'position_state_address': read_pos_addr,
})
except KeyError as e:
raise ValueError(f"Skipping shutter {entry.csv_name} - Could not find CSV File entry: {e}")
return {'cover': result}

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,293 @@
"Gruppenadressen","0/-/-","","","",""
"SammlungUnterputzAktoren","0/0/-","","","",""
"AussenleuchteHaustüren Schalten","0/0/1","","","",""
"AussenleuchteHaustüren RM Schalten","0/0/2","","","",""
"AussenleuchteObenNW Schalten","0/0/3","","","",""
"AussenleuchteObenNW RM Schalten","0/0/4","","","",""
"TreppenhausObenTemperatur","0/0/5","","","","DPST-9-1"
"TemperaturEsszimmer","0/0/6","","","",""
"AlarmLEDLinksNormal","0/0/7","","","",""
"SzeneEsszimmerUntenLinks","0/0/8","","","",""
"SzeneEsszimmerMitteLinks","0/0/9","","","",""
"SzeneEsszimmerMitteRechts","0/0/10","","","",""
"SzeneEsszimmerObenLinks","0/0/11","","","",""
"SzeneEsszimmerObenRechts","0/0/12","","","",""
"AlarmLEDLinksUeberlagert","0/0/13","","","",""
"AlarmLEDRechtsNormal","0/0/14","","","",""
"KlingelOben Schalten","0/0/15","","","",""
"AlarmLEDRechtsUeberlagert","0/0/16","","","",""
"SzeneTerrassentuerMitteLinks","0/0/17","","","",""
"SzeneTerrassentuerMitteRechts","0/0/18","","","",""
"SzeneEsszimmerUntenRechts","0/0/19","","","",""
"SzeneEingangMitteLinks","0/0/20","","","",""
"SzeneEingangMitteRechts","0/0/21","","","",""
"SzeneEingangUntenLinks","0/0/22","","","",""
"SzeneEingangUntenRechts","0/0/23","","","",""
"TemperaturGang","0/0/24","","","",""
"TemperaturWohnzimmerGangTuer","0/0/25","","","",""
"TemperaturWohnzimmerAussenTuer","0/0/26","","","",""
"SzeneWohnzimmerObenLinks","0/0/27","","","",""
"SzeneWohnzimmerObenRechts","0/0/28","","","",""
"SzeneWohnzimmerMitteLinks","0/0/29","","","",""
"SzeneWohnzimmerMitteRechts","0/0/30","","","",""
"SzeneWohnzimmerUntenLinks","0/0/31","","","",""
"SzeneWohnzimmerUntenRechts","0/0/32","","","",""
"D1","0/1/-","","","",""
"Wohnzimmerlampe Schalten","0/1/3","","","",""
"Wohnzimmerlampe Dimmen","0/1/6","","","",""
"Wohnzimmerlampe Helligkeit","0/1/7","","","",""
"Wohnzimmerlampe RM Schalten","0/1/8","","","",""
"Wohnzimmerlampe RM Helligkeit","0/1/9","","","",""
"Wohnzimmerlampe Kurzschluss","0/1/14","","","",""
"Wohnzimmerlampe Lastausfall","0/1/15","","","",""
"Wohnzimmerlampe BSZ Neustart","0/1/17","","","",""
"Wohnzimmerlampe BSZ Wert","0/1/18","","","",""
"Wohnzimmerlampe BSZ Ablauf","0/1/19","","","",""
"Wohnzimmerlampe Lastart","0/1/20","","","",""
"EsszimmerlampeWest Schalten","0/1/21","","","",""
"EsszimmerlampeWest Dimmen","0/1/24","","","",""
"EsszimmerlampeWest Helligkeit","0/1/25","","","",""
"EsszimmerlampeWest RM Schalten","0/1/26","","","",""
"EsszimmerlampeWest RM Helligkeit","0/1/27","","","",""
"EsszimmerlampeWest Kurzschluss","0/1/32","","","",""
"EsszimmerlampeWest Lastausfall","0/1/33","","","",""
"EsszimmerlampeWest BSZ Neustart","0/1/35","","","",""
"EsszimmerlampeWest BSZ Wert","0/1/36","","","",""
"EsszimmerlampeWest BSZ Ablauf","0/1/37","","","",""
"EsszimmerlampeWest Lastart","0/1/38","","","",""
"EsszimmerlampeMitte Schalten","0/1/39","","","",""
"EsszimmerlampeMitte Dimmen","0/1/42","","","",""
"EsszimmerlampeMitte Helligkeit","0/1/43","","","",""
"EsszimmerlampeMitte RM Schalten","0/1/44","","","",""
"EsszimmerlampeMitte RM Helligkeit","0/1/45","","","",""
"EsszimmerlampeMitte Kurzschluss","0/1/50","","","",""
"EsszimmerlampeMitte Lastausfall","0/1/51","","","",""
"EsszimmerlampeMitte BSZ Neustart","0/1/53","","","",""
"EsszimmerlampeMitte BSZ Wert","0/1/54","","","",""
"EsszimmerlampeMitte BSZ Ablauf","0/1/55","","","",""
"EsszimmerlampeMitte Lastart","0/1/56","","","",""
"Küchenlampe Schalten","0/1/57","","","",""
"Küchenlampe Dimmen","0/1/60","","","",""
"Küchenlampe Helligkeit","0/1/61","","","",""
"Küchenlampe RM Schalten","0/1/62","","","",""
"Küchenlampe RM Helligkeit","0/1/63","","","",""
"Küchenlampe Kurzschluss","0/1/68","","","",""
"Küchenlampe Lastausfall","0/1/69","","","",""
"Küchenlampe BSZ Neustart","0/1/71","","","",""
"Küchenlampe BSZ Wert","0/1/72","","","",""
"Küchenlampe BSZ Ablauf","0/1/73","","","",""
"Küchenlampe Lastart","0/1/74","","","",""
"D2","0/2/-","","","",""
"AussenleuchteUntenSO Schalten","0/2/21","","","",""
"AussenleuchteUntenSO Dimmen","0/2/24","","","",""
"AussenleuchteUntenSO Helligkeit","0/2/25","","","",""
"AussenleuchteUntenSO RM Schalten","0/2/26","","","",""
"AussenleuchteUntenSO RM Helligkeit","0/2/27","","","",""
"AussenleuchteUntenSO Kurzschluss","0/2/32","","","",""
"AussenleuchteUntenSO Lastausfall","0/2/33","","","",""
"AussenleuchteUntenSO BSZ Neustart","0/2/35","","","",""
"AussenleuchteUntenSO BSZ Wert","0/2/36","","","",""
"AussenleuchteUntenSO BSZ Ablauf","0/2/37","","","",""
"AussenleuchteUntenSO Lastart","0/2/38","","","",""
"EsszimmerWandlampe Schalten","0/2/39","","","",""
"EsszimmerWandlampe Dimmen","0/2/42","","","",""
"EsszimmerWandlampe Helligkeit","0/2/43","","","",""
"EsszimmerWandlampe RM Schalten","0/2/44","","","",""
"EsszimmerWandlampe RM Helligkeit","0/2/45","","","",""
"EsszimmerWandlampe Kurzschluss","0/2/50","","","",""
"EsszimmerWandlampe Lastausfall","0/2/51","","","",""
"EsszimmerWandlampe BSZ Neustart","0/2/53","","","",""
"EsszimmerWandlampe BSZ Wert","0/2/54","","","",""
"EsszimmerWandlampe BSZ Ablauf","0/2/55","","","",""
"EsszimmerWandlampe Lastart","0/2/56","","","",""
"D3","0/3/-","","","",""
"Gang Schalten","0/3/3","","","",""
"Gang Dimmen","0/3/6","","","","DPT-3"
"Gang Helligkeit","0/3/7","","","","DPST-5-4"
"Gang RM Schalten","0/3/8","","","",""
"Gang RM Helligkeit","0/3/9","","","",""
"Gang Kurzschluss","0/3/14","","","",""
"Gang Lastausfall","0/3/15","","","",""
"Gang BSZ Neustart","0/3/17","","","",""
"Gang BSZ Wert","0/3/18","","","",""
"Gang BSZ Ablauf","0/3/19","","","",""
"Gang Lastart","0/3/20","","","",""
"Bad Schalten","0/3/21","","","",""
"Bad Dimmen","0/3/24","","","",""
"Bad Helligkeit","0/3/25","","","",""
"Bad RM Schalten","0/3/26","","","",""
"Bad RM Helligkeit","0/3/27","","","",""
"Bad Kurzschluss","0/3/32","","","",""
"Bad Lastausfall","0/3/33","","","",""
"Bad BSZ Neustart","0/3/35","","","",""
"Bad BSZ Wert","0/3/36","","","",""
"Bad BSZ Ablauf","0/3/37","","","",""
"Bad Lastart","0/3/38","","","",""
"GangWindfang Schalten","0/3/39","","","",""
"GangWindfang Dimmen","0/3/42","","","",""
"GangWindfang Helligkeit","0/3/43","","","",""
"GangWindfang RM Schalten","0/3/44","","","",""
"GangWindfang RM Helligkeit","0/3/45","","","",""
"GangWindfang Kurzschluss","0/3/50","","","",""
"GangWindfang Lastausfall","0/3/51","","","",""
"GangWindfang BSZ Neustart","0/3/53","","","",""
"GangWindfang BSZ Wert","0/3/54","","","",""
"GangWindfang BSZ Ablauf","0/3/55","","","",""
"GangWindfang Lastart","0/3/56","","","",""
"LichtWaschküche Schalten","0/3/57","","","",""
"LichtWaschküche Dimmen","0/3/60","","","",""
"LichtWaschküche Helligkeit","0/3/61","","","",""
"LichtWaschküche RM Schalten","0/3/62","","","",""
"LichtWaschküche RM Helligkeit","0/3/63","","","",""
"LichtWaschküche Kurzschluss","0/3/68","","","",""
"LichtWaschküche Lastausfall","0/3/69","","","",""
"LichtWaschküche BSZ Neustart","0/3/71","","","",""
"LichtWaschküche BSZ Wert","0/3/72","","","",""
"LichtWaschküche BSZ Ablauf","0/3/73","","","",""
"LichtWaschküche Lastart","0/3/74","","","",""
"S1","0/4/-","","","",""
"Spülmaschine Schalten","0/4/0","","","","DPST-1-1"
"Spülmaschine RM Schalten","0/4/5","","","",""
"Spülmaschine BSZ Wert","0/4/8","","","",""
"Spülmaschine BSZ Neustart","0/4/9","","","","DPST-1-1"
"Spülmaschine Verbrauch","0/4/11","","","","DPST-9-21"
"Spühlmaschine VerbrauchSumme","0/4/16","","","",""
"Backofen Schalten","0/4/18","","","","DPST-1-1"
"Backofen RM Schalten","0/4/23","","","",""
"Backofen BSZ Wert","0/4/26","","","",""
"Backofen BSZ Neustart","0/4/27","","","","DPST-1-1"
"Backofen Verbrauch","0/4/29","","","","DPST-9-21"
"Backofen VerbrauchSumme","0/4/34","","","",""
"HerdP1 Schalten","0/4/36","","","","DPST-1-1"
"HerdP1 RM Schalten","0/4/41","","","",""
"HerdP1 BSZ Wert","0/4/44","","","",""
"HerdP1 BSZ Neustart","0/4/45","","","","DPST-1-1"
"HerdP1 Verbrauch","0/4/47","","","","DPST-9-21"
"HerdP1 VerbrauchSumme","0/4/52","","","",""
"HerdP2 Schalten","0/4/54","","","","DPST-1-1"
"HerdP2 RM Schalten","0/4/59","","","",""
"HerdP2 BSZ Wert","0/4/62","","","",""
"HerdP2 BSZ Neustart","0/4/63","","","","DPST-1-1"
"HerdP2 Verbrauch","0/4/65","","","","DPST-9-21"
"HerdP2 VerbrauchSumme","0/4/70","","","",""
"HerdP3 Schalten","0/4/72","","","","DPST-1-1"
"HerdP3 RM Schalten","0/4/77","","","",""
"HerdP3 BSZ Wert","0/4/80","","","",""
"HerdP3 BSZ Neustart","0/4/81","","","","DPST-1-1"
"HerdP3 Verbrauch","0/4/83","","","","DPST-9-21"
"HerdP3 VerbrauchSumme","0/4/88","","","",""
"KücheSteckdose1 Schalten","0/4/90","","","","DPST-1-1"
"KücheSteckdose1 RM Schalten","0/4/95","","","",""
"KücheSteckdose1 BSZ Wert","0/4/98","","","",""
"KücheSteckdose1 BSZ Neustart","0/4/99","","","","DPST-1-1"
"KücheSteckdose1 Verbrauch","0/4/101","","","","DPST-9-21"
"KücheSteckdose1 VerbrauchSumme","0/4/106","","","",""
"KücheSteckdose2 Schalten","0/4/108","","","","DPST-1-1"
"KücheSteckdose2 RM Schalten","0/4/113","","","",""
"KücheSteckdose2 BSZ Wert","0/4/116","","","",""
"KücheSteckdose2 BSZ Neustart","0/4/117","","","","DPST-1-1"
"KücheSteckdose2 Verbrauch","0/4/119","","","","DPST-9-21"
"KücheSteckdose2 VerbrauchSumme","0/4/124","","","",""
"ArbeitszimmerSteckdose Schalten","0/4/126","","","","DPST-1-1"
"ArbeitszimmerSteckdose RM Schalten","0/4/131","","","",""
"ArbeitszimmerSteckdose BSZ Wert","0/4/134","","","",""
"ArbeitszimmerSteckdose BSZ Neustart","0/4/135","","","","DPST-1-1"
"ArbeitszimmerSteckdose Verbrauch","0/4/137","","","","DPST-9-21"
"ArbeitszimmerSteckdose VerbrauchSumme","0/4/142","","","",""
"WohnzimmerSteckdose1 Schalten","0/4/144","","","","DPST-1-1"
"WohnzimmerSteckdose1 RM Schalten","0/4/149","","","",""
"WohnzimmerSteckdose1 BSZ Wert","0/4/152","","","",""
"WohnzimmerSteckdose1 BSZ Neustart","0/4/153","","","","DPST-1-1"
"WohnzimmerSteckdose1 Verbrauch","0/4/155","","","","DPST-9-21"
"WohnzimmerSteckdose1 VerbrauchSumme","0/4/160","","","",""
"WohnzimmerSteckdose2 Schalten","0/4/162","","","","DPST-1-1"
"WohnzimmerSteckdose2 RM Schalten","0/4/167","","","",""
"WohnzimmerSteckdose2 BSZ Wert","0/4/170","","","",""
"WohnzimmerSteckdose2 BSZ Neustart","0/4/171","","","","DPST-1-1"
"WohnzimmerSteckdose2 Verbrauch","0/4/173","","","","DPST-9-21"
"WohnzimmerSteckdose2 VerbrauchSumme","0/4/178","","","",""
"S2","0/5/-","","","",""
"Waschmaschine Schalten","0/5/0","","","","DPST-1-1"
"Waschmaschine RM Schalten","0/5/5","","","",""
"Waschmaschine BSZ Wert","0/5/8","","","",""
"Waschmaschine BSZ Neustart","0/5/9","","","","DPST-1-1"
"Waschmaschine Verbrauch","0/5/11","","","","DPST-9-21,DPT-9"
"Waschmaschine VerbrauchSumme","0/5/16","","","",""
"Trockner Schalten","0/5/18","","","","DPST-1-1"
"Trockner RM Schalten","0/5/23","","","",""
"Trockner BSZ Wert","0/5/26","","","",""
"Trockner BSZ Neustart","0/5/27","","","","DPST-1-1"
"Trockner Verbrauch","0/5/29","","","","DPST-9-21"
"Trockner VerbrauchSumme","0/5/34","","","",""
"LampeVorratsraum Schalten","0/5/36","","","","DPST-1-1"
"LampeVorratsraum RM Schalten","0/5/41","","","",""
"LampeVorratsraum BSZ Wert","0/5/44","","","",""
"LampeVorratsraum BSZ Neustart","0/5/45","","","","DPST-1-1"
"LampeVorratsraum Verbrauch","0/5/47","","","","DPST-9-21"
"LampeVorratsraum VerbrauchSumme","0/5/52","","","",""
"VorratsraumSteckdose1 Schalten","0/5/54","","","","DPST-1-1"
"VorratsraumSteckdose1 RM Schalten","0/5/59","","","",""
"VorratsraumSteckdose1 BSZ Wert","0/5/62","","","",""
"VorratsraumSteckdose1 BSZ Neustart","0/5/63","","","","DPST-1-1"
"VorratsraumSteckdose1 Verbrauch","0/5/65","","","","DPST-9-21"
"VorratsraumSteckdose1 VerbrauchSumme","0/5/70","","","",""
"VorratsraumSteckdose2 Schalten","0/5/72","","","","DPST-1-1"
"VorratsraumSteckdose2 RM Schalten","0/5/77","","","",""
"VorratsraumSteckdose2 BSZ Wert","0/5/80","","","",""
"VorratsraumSteckdose2 BSZ Neustart","0/5/81","","","","DPST-1-1"
"VorratsraumSteckdose2 Verbrauch","0/5/83","","","","DPST-9-21"
"VorratsraumSteckdose2 VerbrauchSumme","0/5/88","","","",""
"VorratsraumSteckdose3 Schalten","0/5/90","","","","DPST-1-1"
"VorratsraumSteckdose3 RM Schalten","0/5/95","","","",""
"VorratsraumSteckdose3 BSZ Wert","0/5/98","","","",""
"VorratsraumSteckdose3 BSZ Neustart","0/5/99","","","","DPST-1-1"
"VorratsraumSteckdose3 Verbrauch","0/5/101","","","","DPST-9-21"
"VorratsraumSteckdose3 VerbrauchSumme","0/5/106","","","",""
"Klingel Innen Schalten","0/5/108","","","","DPST-1-1"
"Klingel Innen RM Schalten","0/5/113","","","",""
"Klingel Innen BSZ Wert","0/5/116","","","",""
"Klingel Innen BSZ Neustart","0/5/117","","","","DPST-1-1"
"Klingel Innen Verbrauch","0/5/119","","","","DPST-9-21"
"KlingelInnen VerbrauchSumme","0/5/124","","","",""
"Klingel Aussen Schalten","0/5/126","","","","DPST-1-1"
"Klingel Aussen RM Schalten","0/5/131","","","",""
"Klingel Aussen BSZ Wert","0/5/134","","","",""
"Klingel Aussen BSZ Neustart","0/5/135","","","","DPST-1-1"
"Klingel Aussen Verbrauch","0/5/137","","","","DPST-9-21"
"KlingelAussen VerbrauchSumme","0/5/142","","","",""
"TreppenhausLicht Schalten","0/5/180","","","","DPST-1-1"
"TreppenhausLicht RM Schalten","0/5/185","","","",""
"TreppenhausLicht BSZ Wert","0/5/188","","","",""
"TreppenhausLicht BSZ Neustart","0/5/189","","","","DPST-1-1"
"TreppenhausLicht Verbrauch","0/5/191","","","","DPST-9-21"
"TreppenhausLicht VerbrauchSumme","0/5/196","","","",""
"WCLicht Schalten","0/5/198","","","","DPST-1-1"
"WCLicht RM Schalten","0/5/203","","","",""
"WCLicht BSZ Wert","0/5/206","","","",""
"WCLicht BSZ Neustart","0/5/207","","","","DPST-1-1"
"WCLicht Verbrauch","0/5/209","","","","DPST-9-21"
"WCLicht VerbrauchSumme","0/5/214","","","",""
"Gruppen","0/6/-","","","",""
"KuecheEsszimmerSchalten","0/6/0","","","",""
"KuecheEsszimmerDimmen","0/6/1","","","",""
"R1","0/7/-","","","",""
"Wohnzimmer Fenster Rollo Lang","0/7/10","","","",""
"Wohnzimmer Fenster Rollo Kurz","0/7/11","","","",""
"Wohnzimmer Fenster Rollo RM Position","0/7/24","","","",""
"Wohnzimmer Fenster Rollo RM invalid","0/7/26","","","",""
"Wohnzimmer Fenster Rollo Position","0/7/28","","","","DPST-6-1"
"Terassentür Rollo Lang","0/7/36","","","",""
"Terassentür Rollo Kurz","0/7/37","","","",""
"Terassentür Rollo RM Position","0/7/50","","","",""
"Terassentür Rollo RM invalid","0/7/52","","","",""
"Terassentür Rollo Position","0/7/54","","","",""
"Küchenfenster Rollo Lang","0/7/62","","","","DPST-1-4"
"Küchenfenster Rollo Kurz","0/7/63","","","",""
"Küchenfenster Rollo RM Position","0/7/76","","","",""
"Küchenfenster Rollo RM invalid","0/7/78","","","",""
"Küchenfenster Rollo Position","0/7/80","","","",""
"Esszimmerfenster Rollo Lang","0/7/88","","","",""
"Esszimmerfenster Rollo Kurz","0/7/89","","","",""
"Esszimmerfenster Rollo RM Position","0/7/102","","","",""
"Esszimmerfenster Rollo RM invalid","0/7/104","","","",""
"Esszimmerfenster Rollo Position","0/7/106","","","",""
1 Gruppenadressen 0/-/-
2 SammlungUnterputzAktoren 0/0/-
3 AussenleuchteHaustüren Schalten 0/0/1
4 AussenleuchteHaustüren RM Schalten 0/0/2
5 AussenleuchteObenNW Schalten 0/0/3
6 AussenleuchteObenNW RM Schalten 0/0/4
7 TreppenhausObenTemperatur 0/0/5 DPST-9-1
8 TemperaturEsszimmer 0/0/6
9 AlarmLEDLinksNormal 0/0/7
10 SzeneEsszimmerUntenLinks 0/0/8
11 SzeneEsszimmerMitteLinks 0/0/9
12 SzeneEsszimmerMitteRechts 0/0/10
13 SzeneEsszimmerObenLinks 0/0/11
14 SzeneEsszimmerObenRechts 0/0/12
15 AlarmLEDLinksUeberlagert 0/0/13
16 AlarmLEDRechtsNormal 0/0/14
17 KlingelOben Schalten 0/0/15
18 AlarmLEDRechtsUeberlagert 0/0/16
19 SzeneTerrassentuerMitteLinks 0/0/17
20 SzeneTerrassentuerMitteRechts 0/0/18
21 SzeneEsszimmerUntenRechts 0/0/19
22 SzeneEingangMitteLinks 0/0/20
23 SzeneEingangMitteRechts 0/0/21
24 SzeneEingangUntenLinks 0/0/22
25 SzeneEingangUntenRechts 0/0/23
26 TemperaturGang 0/0/24
27 TemperaturWohnzimmerGangTuer 0/0/25
28 TemperaturWohnzimmerAussenTuer 0/0/26
29 SzeneWohnzimmerObenLinks 0/0/27
30 SzeneWohnzimmerObenRechts 0/0/28
31 SzeneWohnzimmerMitteLinks 0/0/29
32 SzeneWohnzimmerMitteRechts 0/0/30
33 SzeneWohnzimmerUntenLinks 0/0/31
34 SzeneWohnzimmerUntenRechts 0/0/32
35 D1 0/1/-
36 Wohnzimmerlampe Schalten 0/1/3
37 Wohnzimmerlampe Dimmen 0/1/6
38 Wohnzimmerlampe Helligkeit 0/1/7
39 Wohnzimmerlampe RM Schalten 0/1/8
40 Wohnzimmerlampe RM Helligkeit 0/1/9
41 Wohnzimmerlampe Kurzschluss 0/1/14
42 Wohnzimmerlampe Lastausfall 0/1/15
43 Wohnzimmerlampe BSZ Neustart 0/1/17
44 Wohnzimmerlampe BSZ Wert 0/1/18
45 Wohnzimmerlampe BSZ Ablauf 0/1/19
46 Wohnzimmerlampe Lastart 0/1/20
47 EsszimmerlampeWest Schalten 0/1/21
48 EsszimmerlampeWest Dimmen 0/1/24
49 EsszimmerlampeWest Helligkeit 0/1/25
50 EsszimmerlampeWest RM Schalten 0/1/26
51 EsszimmerlampeWest RM Helligkeit 0/1/27
52 EsszimmerlampeWest Kurzschluss 0/1/32
53 EsszimmerlampeWest Lastausfall 0/1/33
54 EsszimmerlampeWest BSZ Neustart 0/1/35
55 EsszimmerlampeWest BSZ Wert 0/1/36
56 EsszimmerlampeWest BSZ Ablauf 0/1/37
57 EsszimmerlampeWest Lastart 0/1/38
58 EsszimmerlampeMitte Schalten 0/1/39
59 EsszimmerlampeMitte Dimmen 0/1/42
60 EsszimmerlampeMitte Helligkeit 0/1/43
61 EsszimmerlampeMitte RM Schalten 0/1/44
62 EsszimmerlampeMitte RM Helligkeit 0/1/45
63 EsszimmerlampeMitte Kurzschluss 0/1/50
64 EsszimmerlampeMitte Lastausfall 0/1/51
65 EsszimmerlampeMitte BSZ Neustart 0/1/53
66 EsszimmerlampeMitte BSZ Wert 0/1/54
67 EsszimmerlampeMitte BSZ Ablauf 0/1/55
68 EsszimmerlampeMitte Lastart 0/1/56
69 Küchenlampe Schalten 0/1/57
70 Küchenlampe Dimmen 0/1/60
71 Küchenlampe Helligkeit 0/1/61
72 Küchenlampe RM Schalten 0/1/62
73 Küchenlampe RM Helligkeit 0/1/63
74 Küchenlampe Kurzschluss 0/1/68
75 Küchenlampe Lastausfall 0/1/69
76 Küchenlampe BSZ Neustart 0/1/71
77 Küchenlampe BSZ Wert 0/1/72
78 Küchenlampe BSZ Ablauf 0/1/73
79 Küchenlampe Lastart 0/1/74
80 D2 0/2/-
81 AussenleuchteUntenSO Schalten 0/2/21
82 AussenleuchteUntenSO Dimmen 0/2/24
83 AussenleuchteUntenSO Helligkeit 0/2/25
84 AussenleuchteUntenSO RM Schalten 0/2/26
85 AussenleuchteUntenSO RM Helligkeit 0/2/27
86 AussenleuchteUntenSO Kurzschluss 0/2/32
87 AussenleuchteUntenSO Lastausfall 0/2/33
88 AussenleuchteUntenSO BSZ Neustart 0/2/35
89 AussenleuchteUntenSO BSZ Wert 0/2/36
90 AussenleuchteUntenSO BSZ Ablauf 0/2/37
91 AussenleuchteUntenSO Lastart 0/2/38
92 EsszimmerWandlampe Schalten 0/2/39
93 EsszimmerWandlampe Dimmen 0/2/42
94 EsszimmerWandlampe Helligkeit 0/2/43
95 EsszimmerWandlampe RM Schalten 0/2/44
96 EsszimmerWandlampe RM Helligkeit 0/2/45
97 EsszimmerWandlampe Kurzschluss 0/2/50
98 EsszimmerWandlampe Lastausfall 0/2/51
99 EsszimmerWandlampe BSZ Neustart 0/2/53
100 EsszimmerWandlampe BSZ Wert 0/2/54
101 EsszimmerWandlampe BSZ Ablauf 0/2/55
102 EsszimmerWandlampe Lastart 0/2/56
103 D3 0/3/-
104 Gang Schalten 0/3/3
105 Gang Dimmen 0/3/6 DPT-3
106 Gang Helligkeit 0/3/7 DPST-5-4
107 Gang RM Schalten 0/3/8
108 Gang RM Helligkeit 0/3/9
109 Gang Kurzschluss 0/3/14
110 Gang Lastausfall 0/3/15
111 Gang BSZ Neustart 0/3/17
112 Gang BSZ Wert 0/3/18
113 Gang BSZ Ablauf 0/3/19
114 Gang Lastart 0/3/20
115 Bad Schalten 0/3/21
116 Bad Dimmen 0/3/24
117 Bad Helligkeit 0/3/25
118 Bad RM Schalten 0/3/26
119 Bad RM Helligkeit 0/3/27
120 Bad Kurzschluss 0/3/32
121 Bad Lastausfall 0/3/33
122 Bad BSZ Neustart 0/3/35
123 Bad BSZ Wert 0/3/36
124 Bad BSZ Ablauf 0/3/37
125 Bad Lastart 0/3/38
126 GangWindfang Schalten 0/3/39
127 GangWindfang Dimmen 0/3/42
128 GangWindfang Helligkeit 0/3/43
129 GangWindfang RM Schalten 0/3/44
130 GangWindfang RM Helligkeit 0/3/45
131 GangWindfang Kurzschluss 0/3/50
132 GangWindfang Lastausfall 0/3/51
133 GangWindfang BSZ Neustart 0/3/53
134 GangWindfang BSZ Wert 0/3/54
135 GangWindfang BSZ Ablauf 0/3/55
136 GangWindfang Lastart 0/3/56
137 LichtWaschküche Schalten 0/3/57
138 LichtWaschküche Dimmen 0/3/60
139 LichtWaschküche Helligkeit 0/3/61
140 LichtWaschküche RM Schalten 0/3/62
141 LichtWaschküche RM Helligkeit 0/3/63
142 LichtWaschküche Kurzschluss 0/3/68
143 LichtWaschküche Lastausfall 0/3/69
144 LichtWaschküche BSZ Neustart 0/3/71
145 LichtWaschküche BSZ Wert 0/3/72
146 LichtWaschküche BSZ Ablauf 0/3/73
147 LichtWaschküche Lastart 0/3/74
148 S1 0/4/-
149 Spülmaschine Schalten 0/4/0 DPST-1-1
150 Spülmaschine RM Schalten 0/4/5
151 Spülmaschine BSZ Wert 0/4/8
152 Spülmaschine BSZ Neustart 0/4/9 DPST-1-1
153 Spülmaschine Verbrauch 0/4/11 DPST-9-21
154 Spühlmaschine VerbrauchSumme 0/4/16
155 Backofen Schalten 0/4/18 DPST-1-1
156 Backofen RM Schalten 0/4/23
157 Backofen BSZ Wert 0/4/26
158 Backofen BSZ Neustart 0/4/27 DPST-1-1
159 Backofen Verbrauch 0/4/29 DPST-9-21
160 Backofen VerbrauchSumme 0/4/34
161 HerdP1 Schalten 0/4/36 DPST-1-1
162 HerdP1 RM Schalten 0/4/41
163 HerdP1 BSZ Wert 0/4/44
164 HerdP1 BSZ Neustart 0/4/45 DPST-1-1
165 HerdP1 Verbrauch 0/4/47 DPST-9-21
166 HerdP1 VerbrauchSumme 0/4/52
167 HerdP2 Schalten 0/4/54 DPST-1-1
168 HerdP2 RM Schalten 0/4/59
169 HerdP2 BSZ Wert 0/4/62
170 HerdP2 BSZ Neustart 0/4/63 DPST-1-1
171 HerdP2 Verbrauch 0/4/65 DPST-9-21
172 HerdP2 VerbrauchSumme 0/4/70
173 HerdP3 Schalten 0/4/72 DPST-1-1
174 HerdP3 RM Schalten 0/4/77
175 HerdP3 BSZ Wert 0/4/80
176 HerdP3 BSZ Neustart 0/4/81 DPST-1-1
177 HerdP3 Verbrauch 0/4/83 DPST-9-21
178 HerdP3 VerbrauchSumme 0/4/88
179 KücheSteckdose1 Schalten 0/4/90 DPST-1-1
180 KücheSteckdose1 RM Schalten 0/4/95
181 KücheSteckdose1 BSZ Wert 0/4/98
182 KücheSteckdose1 BSZ Neustart 0/4/99 DPST-1-1
183 KücheSteckdose1 Verbrauch 0/4/101 DPST-9-21
184 KücheSteckdose1 VerbrauchSumme 0/4/106
185 KücheSteckdose2 Schalten 0/4/108 DPST-1-1
186 KücheSteckdose2 RM Schalten 0/4/113
187 KücheSteckdose2 BSZ Wert 0/4/116
188 KücheSteckdose2 BSZ Neustart 0/4/117 DPST-1-1
189 KücheSteckdose2 Verbrauch 0/4/119 DPST-9-21
190 KücheSteckdose2 VerbrauchSumme 0/4/124
191 ArbeitszimmerSteckdose Schalten 0/4/126 DPST-1-1
192 ArbeitszimmerSteckdose RM Schalten 0/4/131
193 ArbeitszimmerSteckdose BSZ Wert 0/4/134
194 ArbeitszimmerSteckdose BSZ Neustart 0/4/135 DPST-1-1
195 ArbeitszimmerSteckdose Verbrauch 0/4/137 DPST-9-21
196 ArbeitszimmerSteckdose VerbrauchSumme 0/4/142
197 WohnzimmerSteckdose1 Schalten 0/4/144 DPST-1-1
198 WohnzimmerSteckdose1 RM Schalten 0/4/149
199 WohnzimmerSteckdose1 BSZ Wert 0/4/152
200 WohnzimmerSteckdose1 BSZ Neustart 0/4/153 DPST-1-1
201 WohnzimmerSteckdose1 Verbrauch 0/4/155 DPST-9-21
202 WohnzimmerSteckdose1 VerbrauchSumme 0/4/160
203 WohnzimmerSteckdose2 Schalten 0/4/162 DPST-1-1
204 WohnzimmerSteckdose2 RM Schalten 0/4/167
205 WohnzimmerSteckdose2 BSZ Wert 0/4/170
206 WohnzimmerSteckdose2 BSZ Neustart 0/4/171 DPST-1-1
207 WohnzimmerSteckdose2 Verbrauch 0/4/173 DPST-9-21
208 WohnzimmerSteckdose2 VerbrauchSumme 0/4/178
209 S2 0/5/-
210 Waschmaschine Schalten 0/5/0 DPST-1-1
211 Waschmaschine RM Schalten 0/5/5
212 Waschmaschine BSZ Wert 0/5/8
213 Waschmaschine BSZ Neustart 0/5/9 DPST-1-1
214 Waschmaschine Verbrauch 0/5/11 DPST-9-21,DPT-9
215 Waschmaschine VerbrauchSumme 0/5/16
216 Trockner Schalten 0/5/18 DPST-1-1
217 Trockner RM Schalten 0/5/23
218 Trockner BSZ Wert 0/5/26
219 Trockner BSZ Neustart 0/5/27 DPST-1-1
220 Trockner Verbrauch 0/5/29 DPST-9-21
221 Trockner VerbrauchSumme 0/5/34
222 LampeVorratsraum Schalten 0/5/36 DPST-1-1
223 LampeVorratsraum RM Schalten 0/5/41
224 LampeVorratsraum BSZ Wert 0/5/44
225 LampeVorratsraum BSZ Neustart 0/5/45 DPST-1-1
226 LampeVorratsraum Verbrauch 0/5/47 DPST-9-21
227 LampeVorratsraum VerbrauchSumme 0/5/52
228 VorratsraumSteckdose1 Schalten 0/5/54 DPST-1-1
229 VorratsraumSteckdose1 RM Schalten 0/5/59
230 VorratsraumSteckdose1 BSZ Wert 0/5/62
231 VorratsraumSteckdose1 BSZ Neustart 0/5/63 DPST-1-1
232 VorratsraumSteckdose1 Verbrauch 0/5/65 DPST-9-21
233 VorratsraumSteckdose1 VerbrauchSumme 0/5/70
234 VorratsraumSteckdose2 Schalten 0/5/72 DPST-1-1
235 VorratsraumSteckdose2 RM Schalten 0/5/77
236 VorratsraumSteckdose2 BSZ Wert 0/5/80
237 VorratsraumSteckdose2 BSZ Neustart 0/5/81 DPST-1-1
238 VorratsraumSteckdose2 Verbrauch 0/5/83 DPST-9-21
239 VorratsraumSteckdose2 VerbrauchSumme 0/5/88
240 VorratsraumSteckdose3 Schalten 0/5/90 DPST-1-1
241 VorratsraumSteckdose3 RM Schalten 0/5/95
242 VorratsraumSteckdose3 BSZ Wert 0/5/98
243 VorratsraumSteckdose3 BSZ Neustart 0/5/99 DPST-1-1
244 VorratsraumSteckdose3 Verbrauch 0/5/101 DPST-9-21
245 VorratsraumSteckdose3 VerbrauchSumme 0/5/106
246 Klingel Innen Schalten 0/5/108 DPST-1-1
247 Klingel Innen RM Schalten 0/5/113
248 Klingel Innen BSZ Wert 0/5/116
249 Klingel Innen BSZ Neustart 0/5/117 DPST-1-1
250 Klingel Innen Verbrauch 0/5/119 DPST-9-21
251 KlingelInnen VerbrauchSumme 0/5/124
252 Klingel Aussen Schalten 0/5/126 DPST-1-1
253 Klingel Aussen RM Schalten 0/5/131
254 Klingel Aussen BSZ Wert 0/5/134
255 Klingel Aussen BSZ Neustart 0/5/135 DPST-1-1
256 Klingel Aussen Verbrauch 0/5/137 DPST-9-21
257 KlingelAussen VerbrauchSumme 0/5/142
258 TreppenhausLicht Schalten 0/5/180 DPST-1-1
259 TreppenhausLicht RM Schalten 0/5/185
260 TreppenhausLicht BSZ Wert 0/5/188
261 TreppenhausLicht BSZ Neustart 0/5/189 DPST-1-1
262 TreppenhausLicht Verbrauch 0/5/191 DPST-9-21
263 TreppenhausLicht VerbrauchSumme 0/5/196
264 WCLicht Schalten 0/5/198 DPST-1-1
265 WCLicht RM Schalten 0/5/203
266 WCLicht BSZ Wert 0/5/206
267 WCLicht BSZ Neustart 0/5/207 DPST-1-1
268 WCLicht Verbrauch 0/5/209 DPST-9-21
269 WCLicht VerbrauchSumme 0/5/214
270 Gruppen 0/6/-
271 KuecheEsszimmerSchalten 0/6/0
272 KuecheEsszimmerDimmen 0/6/1
273 R1 0/7/-
274 Wohnzimmer Fenster Rollo Lang 0/7/10
275 Wohnzimmer Fenster Rollo Kurz 0/7/11
276 Wohnzimmer Fenster Rollo RM Position 0/7/24
277 Wohnzimmer Fenster Rollo RM invalid 0/7/26
278 Wohnzimmer Fenster Rollo Position 0/7/28 DPST-6-1
279 Terassentür Rollo Lang 0/7/36
280 Terassentür Rollo Kurz 0/7/37
281 Terassentür Rollo RM Position 0/7/50
282 Terassentür Rollo RM invalid 0/7/52
283 Terassentür Rollo Position 0/7/54
284 Küchenfenster Rollo Lang 0/7/62 DPST-1-4
285 Küchenfenster Rollo Kurz 0/7/63
286 Küchenfenster Rollo RM Position 0/7/76
287 Küchenfenster Rollo RM invalid 0/7/78
288 Küchenfenster Rollo Position 0/7/80
289 Esszimmerfenster Rollo Lang 0/7/88
290 Esszimmerfenster Rollo Kurz 0/7/89
291 Esszimmerfenster Rollo RM Position 0/7/102
292 Esszimmerfenster Rollo RM invalid 0/7/104
293 Esszimmerfenster Rollo Position 0/7/106

View File

@@ -0,0 +1,11 @@
"Middle","0/0/-","","","",""
"BewegungsmelderWest Motion Links","0/0/40","","","",""
"BewegungsmelderWest Motion Rechts","0/0/41","","","",""
"BewegungsmelderWest Helligkeit","0/0/42","","","",""
"BewegungsmelderWest LED","0/0/43","","","",""
"BewegungsmelderMitte Motion","0/0/44","","","",""
"BewegungsmelderMitte Helligkeit","0/0/45","","","",""
"BewegungsmelderMitte LED","0/0/46","","","",""
"BewegungsmelderOst Motion","0/0/47","","","",""
"BewegungsmelderOst Helligkeit","0/0/48","","","",""
"BewegungsmelderOst LED","0/0/49","","","",""
1 Middle 0/0/-
2 BewegungsmelderWest Motion Links 0/0/40
3 BewegungsmelderWest Motion Rechts 0/0/41
4 BewegungsmelderWest Helligkeit 0/0/42
5 BewegungsmelderWest LED 0/0/43
6 BewegungsmelderMitte Motion 0/0/44
7 BewegungsmelderMitte Helligkeit 0/0/45
8 BewegungsmelderMitte LED 0/0/46
9 BewegungsmelderOst Motion 0/0/47
10 BewegungsmelderOst Helligkeit 0/0/48
11 BewegungsmelderOst LED 0/0/49

86
config_creation/main.py Normal file
View File

@@ -0,0 +1,86 @@
from util import DeviceInfo
from ruamel.yaml import YAML
import knx_conf as knx
def create_config():
lights = [
# Dimmers
DeviceInfo('Wohnzimmerlampe', 'Wohnzimmer Deckenlampe'),
DeviceInfo('EsszimmerlampeWest', 'Esszimmer Deckenlampe West'),
DeviceInfo('EsszimmerlampeMitte', 'Esszimmer Deckenlampe Mitte'),
DeviceInfo("EsszimmerWandlampe", 'Esszimmer Schrankleuchte'),
DeviceInfo("Küchenlampe", "Küche Deckenlampe"),
DeviceInfo("AussenleuchteUntenSO", "Aussen Terassenlicht"),
DeviceInfo("Gang", "Gang Licht"),
DeviceInfo("Bad", "Bad Licht"),
DeviceInfo("GangWindfang", "Gang Einganglicht"),
DeviceInfo("LichtWaschküche", "Waschküche Licht"),
# Normal lights
DeviceInfo('AussenleuchteHaustüren', 'Haustür Licht'),
DeviceInfo('AussenleuchteObenNW', 'Haustür Licht NW'),
DeviceInfo('TreppenhausLicht', "Treppenhaus Licht"),
DeviceInfo('WCLicht', "WC Licht"),
DeviceInfo('LampeVorratsraum', "Vorratsraum Licht"),
]
shutters = [
DeviceInfo('Wohnzimmer Fenster Rollo', 'Wohnzimmer Fenster Rollo'),
DeviceInfo('Terassentür Rollo', 'Wohnzimmer Terrassentür Rollo'),
DeviceInfo('Küchenfenster Rollo', 'Küche Fenster Rollo'),
DeviceInfo('Esszimmerfenster Rollo', 'Esszimmer Fenster Rollo'),
]
switches = [
# Bells
DeviceInfo("KlingelOben", "Klingel Oben"),
DeviceInfo("Klingel Innen", "Klingel Innentür"),
DeviceInfo("Klingel Aussen", "Klingen Außentür"),
# Bewegungsmelder LEDs
DeviceInfo("BewegungsmelderMitte LED", "Bewegungsmelder Mitte LED"),
DeviceInfo("BewegungsmelderWest LED", "Bewegungsmelder West LED"),
DeviceInfo("BewegungsmelderOst LED", "Bewegungsmelder Ost LED"),
]
scene_button_names = ['ObenLinks', 'ObenRechts', 'MitteLinks', 'MitteRechts', 'UntenLinks', 'UntenRechts']
scene_button_names = [(i, e) for i, e in enumerate(scene_button_names)]
switches += [DeviceInfo(f"SzeneEsszimmer{n}", "Esszimmer Szene {i}") for i, n in scene_button_names]
switches += [DeviceInfo(f"SzeneWohnzimmer{n}", "Wohnzimmer Szene {i}") for i, n in scene_button_names]
switches += [DeviceInfo(f"SzeneEingang{n}", "Eingang Szene {i}") for i, n in scene_button_names[2:]]
switches += [DeviceInfo(f"SzeneTerrassentuer{n}", "Wohnzimmer Terrassentür Szene {i}")
for i, n in scene_button_names[2: 4]]
power_plugs = [
# Vorratsraum
DeviceInfo("VorratsraumSteckdose1", "Vorratsraum Steckdose"),
DeviceInfo("VorratsraumSteckdose2", "Vorratsraum Steckdose"),
DeviceInfo("VorratsraumSteckdose3", "Gefrierschrank"),
# Waschraum
DeviceInfo("Trockner", "Trockner"),
DeviceInfo("Waschmaschine", "Waschmaschine"),
# Küche
DeviceInfo("KücheSteckdose1", "Küche Steckdose 1"),
DeviceInfo("KücheSteckdose2", "Küche Steckdose 2"),
DeviceInfo("Spülmaschine", "Spülmaschine"),
DeviceInfo("Backofen", "Backofen"),
DeviceInfo("HerdP1", "Herd Phase 1"),
DeviceInfo("HerdP2", "Herd Phase 2"),
DeviceInfo("HerdP3", "Herd Phase 3"),
# Rest
DeviceInfo("ArbeitszimmerSteckdose", "Arbeitszimmer Steckdose"),
DeviceInfo("WohnzimmerSteckdose1", "Wohnzimmer Steckdose 1"),
DeviceInfo("WohnzimmerSteckdose2", "Wohnzimmer Steckdose 2"),
]
imported_csv = knx.import_ets5_csv_file('knx_data/export_project1.csv')
imported_csv.update(knx.import_ets5_csv_file('knx_data/export_project2.csv'))
devices = {}
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))
YAML().dump(devices, open('knx_devices.yaml', 'w'))
if __name__ == '__main__':
create_config()

3
config_creation/util.py Normal file
View File

@@ -0,0 +1,3 @@
from collections import namedtuple
DeviceInfo = namedtuple("DeviceInfo", ['csv_name', 'display_name'])