Compare commits

..

No commits in common. "6e6d27685fe9270e45dc15dcb29e71c52caa3d38" and "e21e272ceb916e70f0f053244a6476707634ce63" have entirely different histories.

3 changed files with 21 additions and 2 deletions

2
devdi

@ -1 +1 @@
Subproject commit 5a94efbc8c4ca7e1a7ef6f40df53177717bb7c16
Subproject commit 7e4f92aaf1cd1dd2626e2b3337277eddfc37578e

View File

@ -9,7 +9,7 @@ from function.ground_floor_west import ground_floor_west
from function.first_floor_west import first_floor_west
from function.first_floor_east import first_floor_east
from function.rooms import room_collection
from function.videv import all_off
from function.videv import all_off, videv_warnings
import logging
try:
@ -42,6 +42,10 @@ class all_functions(room_collection):
self.init_cross_room_interactions()
# Off Buttons
self.init_off_functionality()
# Warnings
videv_warning = videv_warnings(self.mqtt_client, config.TOPIC_WARNINGS)
for device in self.all_devices():
device.add_callback(devices.base.base.KEY_WARNING, None, videv_warning.warningcollector)
def init_cross_room_interactions(self):
# shelly dirk input 1

View File

@ -137,6 +137,21 @@ class videv_audio_player(videv_base):
self.__tx__(self.KEY_TITLE, data or self.NO_TITLE)
class videv_warnings(videv_base):
MAX_WARNINGS = 10
KEY_WARNING = 'html_short'
def __init__(self, mqtt_client, topic, default_values=None):
super().__init__(mqtt_client, topic, default_values)
self.__warnings__ = []
def warningcollector(self, client, key, data):
self.__warnings__.append(data)
self.__warnings__ = self.__warnings__[-self.MAX_WARNINGS:]
txt = "<br><br>".join([time.asctime(w[w.KEY_TM]) + "<br>" + w[w.KEY_TEXT] + "<br>" + w[w.KEY_ID] for w in self.__warnings__])
self.__tx__(self.KEY_WARNING, txt)
class all_off(videv_base):
ALLOWED_CLASSES = (room, room_collection, )