Last active
January 15, 2022 20:32
-
-
Save otzen/46558a0049e97e9f590c465764c87cd2 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Et par hjæpe scripts til at genere nogle kedelige yaml scripts. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
sensors = [ | |
("A4:C1:38:74:3F:F5", "Loftrum"), | |
("A4:C1:38:F5:F6:EB", "Gang over trappe"), | |
("A4:C1:38:96:3D:6C", "Gæsteværelse"), | |
("A4:C1:38:50:91:07", "Kontor nord"), | |
("A4:C1:38:FE:6C:B2", "Kontor syd"), | |
("A4:C1:38:0A:C9:2D", "Garage"), | |
("A4:C1:38:53:34:39", "Gang ved trappe"), | |
("A4:C1:38:B8:7A:2A", "Børneværelse"), | |
("A4:C1:38:79:7F:8D", "Badeværelse"), | |
("A4:C1:38:8C:12:DD", "Soveværelse"), | |
("A4:C1:38:6C:F6:F1", "Gang ved fyr"), | |
("A4:C1:38:BF:73:11", "Køkken"), | |
("A4:C1:38:EB:60:1A", "Spisekammer"), | |
("A4:C1:38:A3:C3:FA", "Stue"), | |
("A4:C1:38:0B:F2:21", "Værksted 1"), | |
("A4:C1:38:2C:EA:09", "Værksted 2"), | |
] | |
hubs = [ | |
("loft-nord", [0, 1, 2]), | |
("loft-syd", [3, 4, 5]), | |
("sovevaerelse", [6, 7, 8, 9]), | |
("koekken", [10, 11, 12, 13,14, 15]) | |
] | |
for hub in hubs: | |
print(f'# {hub[0]} sensorer') | |
print('sensor:') | |
# Sensors | |
for sensorIdx in hub[1]: | |
sensor = sensors[sensorIdx] | |
print(' - platform: xiaomi_lywsd03mmc') | |
print(f' mac_address: "{sensor[0]}"') | |
print(' bindkey: "eef418daf699a0c188f3bfd17e4565dA"') | |
print(' temperature:') | |
print(f' name: "{sensor[1]} temperatur"') | |
print(' humidity:') | |
print(f' name: "{sensor[1]} fugt"') | |
print(' battery_level:') | |
print(f' name: "{sensor[1]} batteri"') | |
print() | |
#signal monitorer | |
print(f'# signal monitorer') | |
for sensor in sensors: | |
print(f' - platform: ble_rssi') | |
print(f' mac_address: "{sensor[0]}"') | |
print(f' name: "{sensor[1]} signal på {hub[0]}"') | |
print() | |
print(''' # wifi monitor | |
- platform: wifi_signal | |
name: "WiFi Signal" | |
update_interval: 600s | |
''') | |
print(''' | |
------------------------------------------------------------------------- | |
''') |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
sensors = [ | |
("A4:C1:38:74:3F:F5", "Loftrum"), # 0 | |
("A4:C1:38:F5:F6:EB", "Gang over trappe"), # 1 | |
("A4:C1:38:96:3D:6C", "Gæsteværelse"), # 2 | |
("A4:C1:38:50:91:07", "Kontor nord"), # 3 | |
("A4:C1:38:FE:6C:B2", "Kontor syd"), # 4 | |
("A4:C1:38:0A:C9:2D", "Garage"), # 5 | |
("A4:C1:38:53:34:39", "Gang ved trappe"), # 6 | |
("A4:C1:38:B8:7A:2A", "Børneværelse"), # 7 | |
("A4:C1:38:79:7F:8D", "Badeværelse"), # 8 | |
("A4:C1:38:8C:12:DD", "Soveværelse"), # 9 | |
("A4:C1:38:6C:F6:F1", "Gang ved fyr"), # 10 | |
("A4:C1:38:BF:73:11", "Køkken"), # 11 | |
("A4:C1:38:EB:60:1A", "Spisekammer"), # 12 | |
("A4:C1:38:A3:C3:FA", "Stue"), # 13 | |
("A4:C1:38:0B:F2:21", "Værksted 1"), # 14 | |
("A4:C1:38:2C:EA:09", "Værksted 2"), # 15 | |
] | |
rooms = [ | |
('Badeværelse', [8]), | |
('Børenværelse', [7]), | |
('Gæsteværelse', [2]), | |
('Kontor', [3, 4]), | |
('Køkken', [11, 12]), | |
('Soveværelse', [9]), | |
('Stue', [13, 14, 15]), | |
('Ude', [0, 5]), | |
('Værksted', [14]), | |
('Alle', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]), | |
] | |
hubs = [ | |
("loft-nord", [0, 1, 2]), | |
("loft-syd", [3, 4, 5]), | |
("sovevaerelse", [6, 7, 8, 9]), | |
("koekken", [10, 11, 12, 13, 14, 15]) | |
] | |
def lcode(infield) -> str: | |
data = '' | |
for i in infield: | |
if i == u'Æ': | |
data = data + 'AE' | |
elif i == 'æ': | |
data = data + 'ae' | |
elif i == 'Ø': | |
data = data + 'OE' | |
elif i == 'ø': | |
data = data + 'oe' | |
elif i == 'Å': # Ö | |
data = data + 'AA' | |
elif i == 'å': | |
data = data + 'aa' | |
elif i == ' ': | |
data = data + '_' | |
else: | |
data = data + i | |
return data | |
def make_yaml(): | |
print('title: tg56 temperaturer') | |
print('views:') | |
for room in rooms: | |
print(f' - title: {room[0]}') | |
print(f' path: {lcode(room[0]).lower()}') | |
print(f' type: sidebar') | |
# print(f' badges:') | |
# for sensidx in room[1]: | |
# sensor_name = lcode(sensors[sensidx][0]).lower() | |
# print(f' - entity: sensor.{sensor_name}_temperatur') | |
# print(f' - entity: sensor.{sensor_name}_fugt') | |
# print(f' - entity: sensor.{sensor_name}_batteri') | |
print(f' cards:') | |
for dur in [('Døgn', 2),('Uge', 7), ('Måned', 31),('År',365)]: | |
print(f' - type: history-graph') | |
print(f' entities:') | |
print(f' title: {dur[0]}') | |
for sensidx in room[1]: | |
sensor_name = lcode(sensors[sensidx][1]).lower() | |
print(f' - entity: sensor.{sensor_name}_temperatur') | |
print(f' - entity: sensor.{sensor_name}_fugt') | |
print(f' - entity: sensor.{sensor_name}_batteri') | |
print(f' hours_to_show: {dur[1] * 24}') | |
print(f' refresh_interval: 0') | |
if __name__ == '__main__': | |
make_yaml() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
title: tg56 temperaturer | |
views: | |
- title: badeværelse | |
path: badevarelse | |
badges: | |
- entity: sensor.badevaerelse_temperatur | |
- entity: sensor.badevaerelse_fugt | |
- entity: sensor.badevaerelse_batteri | |
cards: | |
- type: history-graph | |
entities: | |
- entity: sensor.badevaerelse_temperatur | |
- entity: sensor.badevaerelse_fugt | |
- entity: sensor.badevaerelse_batteri | |
hours_to_show: 48 | |
refresh_interval: 0 | |
- type: history-graph | |
entities: | |
- entity: sensor.badevaerelse_batteri | |
hours_to_show: 8760 | |
refresh_interval: 24 | |
- title: børneværelse | |
path: b-varelse | |
badges: | |
- entity: sensor.bornevaerelse_temperatur | |
- entity: sensor.bornevaerelse_fugt | |
- entity: sensor.bornevaerelse_batteri | |
cards: | |
- type: history-graph | |
entities: | |
- entity: sensor.bornevaerelse_temperatur | |
- entity: sensor.bornevaerelse_fugt | |
- entity: sensor.bornevaerelse_batteri | |
hours_to_show: 48 | |
refresh_interval: 0 | |
- type: history-graph | |
entities: | |
- entity: sensor.bornevaerelse_batteri | |
hours_to_show: 8760 | |
refresh_interval: 0 | |
- title: Gang | |
path: gang | |
badges: | |
- entity: sensor.gang_ved_fyr_temperatur | |
- entity: sensor.gang_ved_trappe_temperatur | |
- entity: sensor.gang_over_trappe_temperatur | |
- entity: sensor.gang_ved_fyr_fugt | |
- entity: sensor.gang_ved_trappe_fugt | |
- entity: sensor.gang_over_trappe_fugt | |
- entity: sensor.gang_ved_fyr_batteri | |
- entity: sensor.gang_ved_trappe_batteri | |
- entity: sensor.gang_over_trappe_batteri | |
cards: | |
- type: history-graph | |
entities: | |
- entity: sensor.gang_ved_fyr_temperatur | |
- entity: sensor.gang_ved_trappe_temperatur | |
- entity: sensor.gang_over_trappe_temperatur | |
hours_to_show: 48 | |
refresh_interval: 0 | |
- type: history-graph | |
entities: | |
- entity: sensor.gang_ved_fyr_fugt | |
- entity: sensor.gang_ved_trappe_fugt | |
- entity: sensor.gang_over_trappe_fugt | |
hours_to_show: 48 | |
refresh_interval: 0 | |
- type: history-graph | |
entities: | |
- entity: sensor.gang_ved_fyr_batteri | |
- entity: sensor.gang_ved_trappe_batteri | |
- entity: sensor.gang_over_trappe_batteri | |
hours_to_show: 8760 | |
refresh_interval: 24 | |
- path: default_view | |
title: gæsteværelse | |
badges: | |
- entity: sensor.gaestevaerelse_temperatur | |
- entity: sensor.gaestevaerelse_fugt | |
- entity: sensor.gaestevaerelse_batteri | |
cards: | |
- type: history-graph | |
entities: | |
- entity: sensor.gaestevaerelse_temperatur | |
- entity: sensor.gaestevaerelse_fugt | |
- entity: sensor.gaestevaerelse_batteri | |
hours_to_show: 48 | |
refresh_interval: 0 | |
- type: history-graph | |
entities: | |
- entity: sensor.gaestevaerelse_batteri | |
hours_to_show: 8760 | |
refresh_interval: 0 | |
- title: Kontor | |
path: kontor | |
type: sidebar | |
badges: | |
- entity: sensor.kontor_nord_temperatur | |
- entity: sensor.kontor_syd_temperatur | |
- entity: sensor.kontor_nord_fugt | |
- entity: sensor.kontor_syd_fugt | |
- entity: sensor.kontor_nord_batteri | |
- entity: sensor.kontor_syd_batteri | |
cards: | |
- type: history-graph | |
entities: | |
- entity: sensor.kontor_nord_temperatur | |
- entity: sensor.kontor_syd_temperatur | |
- entity: sensor.kontor_nord_fugt | |
- entity: sensor.kontor_syd_fugt | |
- entity: sensor.kontor_nord_batteri | |
- entity: sensor.kontor_syd_batteri | |
hours_to_show: 48 | |
refresh_interval: 0 | |
- type: history-graph | |
entities: | |
- entity: sensor.kontor_nord_batteri | |
- entity: sensor.kontor_syd_batteri | |
hours_to_show: 8760 | |
refresh_interval: 24 | |
- title: køkken | |
path: kokken | |
type: sidebar | |
badges: | |
- entity: sensor.koekken_temperatur | |
- entity: sensor.spisekammer_temperatur | |
- entity: sensor.koekken_fugt | |
- entity: sensor.spisekammer_fugt | |
- entity: sensor.koekken_batteri | |
- entity: sensor.spisekammer_batteri | |
cards: | |
- type: history-graph | |
entities: | |
- entity: sensor.koekken_temperatur | |
- entity: sensor.spisekammer_temperatur | |
- entity: sensor.koekken_fugt | |
- entity: sensor.spisekammer_fugt | |
- entity: sensor.koekken_batteri | |
- entity: sensor.spisekammer_batteri | |
hours_to_show: 48 | |
refresh_interval: 0 | |
- type: history-graph | |
entities: | |
- entity: sensor.koekken_batteri | |
- entity: sensor.spisekammer_batteri | |
hours_to_show: 8760 | |
refresh_interval: 24 | |
- type: history-graph | |
entities: | |
- entity: sensor.koekken_temperatur | |
- entity: sensor.koekken_fugt | |
- entity: sensor.koekken_batteri | |
- entity: sensor.spisekammer_temperatur | |
- entity: sensor.spisekammer_fugt | |
- entity: sensor.spisekammer_batteri | |
hours_to_show: 720 | |
refresh_interval: 0 | |
title: Måned | |
- title: soveværelse | |
path: sovevarelse | |
badges: | |
- entity: sensor.sovevaerelse_temperatur | |
- entity: sensor.sovevaerelse_fugt | |
- entity: sensor.sovevaerelse_batteri | |
cards: | |
- type: history-graph | |
entities: | |
- entity: sensor.sovevaerelse_temperatur | |
- entity: sensor.sovevaerelse_fugt | |
- entity: sensor.sovevaerelse_batteri | |
hours_to_show: 48 | |
refresh_interval: 0 | |
- type: history-graph | |
entities: | |
- entity: sensor.sovevaerelse_batteri | |
hours_to_show: 8760 | |
refresh_interval: 24 | |
- title: stue | |
path: stue | |
badges: | |
- entity: sensor.stue_temperatur | |
- entity: sensor.vaerksted_1_temperatur | |
- entity: sensor.vaerksted_2_temperatur | |
- entity: sensor.stue_fugt | |
- entity: sensor.vaerksted_1_fugt | |
- entity: sensor.vaerksted_2_fugt | |
- entity: sensor.stue_batteri | |
- entity: sensor.vaerksted_1_batteri | |
- entity: sensor.vaerksted_2_batteri | |
cards: | |
- type: history-graph | |
entities: | |
- entity: sensor.stue_temperatur | |
- entity: sensor.vaerksted_1_temperatur | |
- entity: sensor.vaerksted_2_temperatur | |
- entity: sensor.stue_fugt | |
- entity: sensor.vaerksted_1_fugt | |
- entity: sensor.vaerksted_2_fugt | |
- entity: sensor.stue_batteri | |
- entity: sensor.vaerksted_1_batteri | |
- entity: sensor.vaerksted_2_batteri | |
hours_to_show: 48 | |
refresh_interval: 0 | |
- type: history-graph | |
entities: | |
- entity: sensor.stue_batteri | |
- entity: sensor.vaerksted_1_batteri | |
- entity: sensor.vaerksted_2_batteri | |
hours_to_show: 8760 | |
refresh_interval: 24 | |
- title: Ude | |
path: ude | |
badges: | |
- entity: sensor.loftrum_temperatur | |
- entity: sensor.garage_temperatur | |
- entity: sensor.loftrum_fugt | |
- entity: sensor.garage_fugt | |
- entity: sensor.loftrum_batteri | |
- entity: sensor.garage_batteri | |
cards: | |
- type: history-graph | |
entities: | |
- entity: sensor.loftrum_temperatur | |
- entity: sensor.garage_temperatur | |
hours_to_show: 48 | |
refresh_interval: 0 | |
- type: history-graph | |
entities: | |
- entity: sensor.loftrum_fugt | |
- entity: sensor.garage_fugt | |
hours_to_show: 48 | |
refresh_interval: 0 | |
- type: history-graph | |
entities: | |
- entity: sensor.loftrum_batteri | |
- entity: sensor.garage_batteri | |
hours_to_show: 8760 | |
refresh_interval: 24 | |
- title: Værksted | |
path: varksted | |
badges: | |
- entity: sensor.vaerksted_1_temperature | |
- entity: sensor.vaerksted_1_humidity | |
- entity: sensor.vaerksted_1_battery_level | |
cards: | |
- type: history-graph | |
entities: | |
- entity: sensor.vaerksted_1_temperature | |
- entity: sensor.vaerksted_1_humidity | |
hours_to_show: 48 | |
refresh_interval: 0 | |
- type: history-graph | |
entities: | |
- entity: sensor.vaerksted_1_battery_level | |
hours_to_show: 8760 | |
refresh_interval: 24 | |
- type: media-control | |
entity: media_player.v_radio | |
- title: Alle | |
path: alle | |
badges: | |
- entity: sensor.badevaerelse_temperatur | |
- entity: sensor.bornevaerelse_temperatur | |
- entity: sensor.gang_ved_fyr_temperatur | |
- entity: sensor.gang_ved_trappe_temperatur | |
- entity: sensor.gang_over_trappe_temperatur | |
- entity: sensor.gaestevaerelse_temperatur | |
- entity: sensor.kontor_nord_temperatur | |
- entity: sensor.kontor_syd_temperatur | |
- entity: sensor.koekken_temperatur | |
- entity: sensor.spisekammer_temperatur | |
- entity: sensor.stue_temperatur | |
- entity: sensor.vaerksted_1_temperatur | |
- entity: sensor.vaerksted_2_temperatur | |
- entity: sensor.loftrum_temperatur | |
- entity: sensor.garage_temperatur | |
- entity: sensor.badevaerelse_fugt | |
- entity: sensor.bornevaerelse_fugt | |
- entity: sensor.gang_ved_fyr_fugt | |
- entity: sensor.gang_ved_trappe_fugt | |
- entity: sensor.gang_over_trappe_fugt | |
- entity: sensor.gaestevaerelse_fugt | |
- entity: sensor.kontor_nord_fugt | |
- entity: sensor.kontor_syd_fugt | |
- entity: sensor.koekken_fugt | |
- entity: sensor.spisekammer_fugt | |
- entity: sensor.stue_fugt | |
- entity: sensor.vaerksted_1_fugt | |
- entity: sensor.vaerksted_2_fugt | |
- entity: sensor.loftrum_fugt | |
- entity: sensor.garage_fugt | |
- entity: sensor.badevaerelse_batteri | |
- entity: sensor.bornevaerelse_batteri | |
- entity: sensor.gang_ved_fyr_batteri | |
- entity: sensor.gang_ved_trappe_batteri | |
- entity: sensor.gang_over_trappe_batteri | |
- entity: sensor.gaestevaerelse_batteri | |
- entity: sensor.kontor_nord_batteri | |
- entity: sensor.kontor_syd_batteri | |
- entity: sensor.koekken_batteri | |
- entity: sensor.spisekammer_batteri | |
- entity: sensor.stue_batteri | |
- entity: sensor.vaerksted_1_batteri | |
- entity: sensor.vaerksted_2_batteri | |
- entity: sensor.loftrum_batteri | |
- entity: sensor.garage_batteri | |
cards: | |
- type: history-graph | |
entities: | |
- entity: sensor.badevaerelse_temperatur | |
- entity: sensor.badevaerelse_fugt | |
- entity: sensor.bornevaerelse_temperatur | |
- entity: sensor.bornevaerelse_fugt | |
- entity: sensor.gang_ved_fyr_temperatur | |
- entity: sensor.gang_ved_trappe_temperatur | |
- entity: sensor.gang_over_trappe_temperatur | |
- entity: sensor.gang_ved_fyr_fugt | |
- entity: sensor.gang_ved_trappe_fugt | |
- entity: sensor.gang_over_trappe_fugt | |
- entity: sensor.gaestevaerelse_temperatur | |
- entity: sensor.gaestevaerelse_fugt | |
- entity: sensor.kontor_nord_temperatur | |
- entity: sensor.kontor_syd_temperatur | |
- entity: sensor.kontor_nord_fugt | |
- entity: sensor.kontor_syd_fugt | |
- entity: sensor.koekken_temperatur | |
- entity: sensor.spisekammer_temperatur | |
- entity: sensor.koekken_fugt | |
- entity: sensor.spisekammer_fugt | |
- entity: sensor.sovevaerelse_temperatur | |
- entity: sensor.sovevaerelse_fugt | |
- entity: sensor.stue_temperatur | |
- entity: sensor.vaerksted_1_temperatur | |
- entity: sensor.vaerksted_2_temperatur | |
- entity: sensor.stue_fugt | |
- entity: sensor.vaerksted_1_fugt | |
- entity: sensor.vaerksted_2_fugt | |
- entity: sensor.loftrum_temperatur | |
- entity: sensor.garage_temperatur | |
- entity: sensor.loftrum_fugt | |
- entity: sensor.garage_fugt | |
hours_to_show: 48 | |
refresh_interval: 0 | |
- type: history-graph | |
entities: | |
- entity: sensor.badevaerelse_batteri | |
- entity: sensor.badevaerelse_batteri | |
- entity: sensor.bornevaerelse_batteri | |
- entity: sensor.gang_ved_fyr_batteri | |
- entity: sensor.gang_ved_trappe_batteri | |
- entity: sensor.gang_over_trappe_batteri | |
- entity: sensor.kontor_nord_batteri | |
- entity: sensor.kontor_syd_batteri | |
- entity: sensor.koekken_batteri | |
- entity: sensor.spisekammer_batteri | |
- entity: sensor.sovevaerelse_batteri | |
- entity: sensor.stue_batteri | |
- entity: sensor.vaerksted_1_batteri | |
- entity: sensor.vaerksted_2_batteri | |
- entity: sensor.loftrum_batteri | |
- entity: sensor.garage_batteri | |
hours_to_show: 8760 | |
refresh_interval: 24 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment