Hallo zusammen,
Ich hab mir ein Plugin gestrickt, dass Meldungen auf meinen MDT RTRs und Glastastern anzeigt. Klingt trivial, ist es aber gar nicht mal so sehr.
Warum:
Wenn bei uns im Haus ein Fenster auf ist, will ich wissen, wie warm es in dem Raum ist und wie warm es draußen ist (Hilft Sommers wie Winters). Wenn jemand anruft, soll dessen Name auf dem Display angezeigt werden. Wenn die Waschmaschine / der Trockner fertig ist, will ich das wissen. Und wenn der AB ne Nachricht hat, und wenn gerade Unwetteralarm ist auch und sowieso. Ich hatte alle Funktionen separat als Logiken laufen gehabt und es war ein wenig anstrengend, da natürlich das Timing echt beschissen war. Also habe ich eine zyklische Benachrichtigung geschrieben - dann war aber das Problem, dass wenn in 8 Räumen Fenster auf sind, man die Info, dass die Waschmaschine fertig ist nicht mitbekommt. Also braucht man eine Priorisierung... Jetzt ruft jemand an, das will ich aber sofort lesen und das soll auch nicht durch ne fertige Waschmaschine überdeckt werden. Ach, und wenn gar keine automatische Meldung ansteht soll bitte noch ein Standardtext auf den Glastaster kommen und nicht einfach der letzte Wert stehen bleiben.
Wir nutzen unsere RTRs seit 2015 für die Anzeige von Meldungen. Das Plugin läuft seit was mehr als einem Jahr bei uns und ist jetzt IMHO release-bar...
Frage 1: Kann das noch jemand brauchen, oder bin ich der Einzige der seine Taster derartig vergewaltigt?
Frage 2: Ist das ein System-Plugin oder ein Modul? Oder ist das was ganz anderes?
Ich hab mir ein Plugin gestrickt, dass Meldungen auf meinen MDT RTRs und Glastastern anzeigt. Klingt trivial, ist es aber gar nicht mal so sehr.
Warum:
Wenn bei uns im Haus ein Fenster auf ist, will ich wissen, wie warm es in dem Raum ist und wie warm es draußen ist (Hilft Sommers wie Winters). Wenn jemand anruft, soll dessen Name auf dem Display angezeigt werden. Wenn die Waschmaschine / der Trockner fertig ist, will ich das wissen. Und wenn der AB ne Nachricht hat, und wenn gerade Unwetteralarm ist auch und sowieso. Ich hatte alle Funktionen separat als Logiken laufen gehabt und es war ein wenig anstrengend, da natürlich das Timing echt beschissen war. Also habe ich eine zyklische Benachrichtigung geschrieben - dann war aber das Problem, dass wenn in 8 Räumen Fenster auf sind, man die Info, dass die Waschmaschine fertig ist nicht mitbekommt. Also braucht man eine Priorisierung... Jetzt ruft jemand an, das will ich aber sofort lesen und das soll auch nicht durch ne fertige Waschmaschine überdeckt werden. Ach, und wenn gar keine automatische Meldung ansteht soll bitte noch ein Standardtext auf den Glastaster kommen und nicht einfach der letzte Wert stehen bleiben.
- Also gibt es nun Nachrichtensenken, das ist die jeweilige KNX-Adresse die angesprochen werden soll.
- Und Nachrichten-Ringe. Auf jedem Ring gibt es eine feste Anzahl an Slots, für die geprüft wird, ob die Nachricht relevant ist. Die Anzahl wird natürlich aus der Menge der möglichen Nachrichtenquellen automatisch definiert. Was ich sagen will: Es gibt keine Not eine Logik aufzurufen und zu sagen "Schick mal ne Nachricht". Wenn man das einbinden will, muss man nur zwei zusätzliche Items einbauen, eines das die Nachricht hält, und ein boolean, das sagt, ob die Nachricht noch relevant ist. Das kann ja auch per Autotimer nach 5min wieder deaktiviert werden.
Wir nutzen unsere RTRs seit 2015 für die Anzeige von Meldungen. Das Plugin läuft seit was mehr als einem Jahr bei uns und ist jetzt IMHO release-bar...
Code:
meldung: type: str knx_dpt: "16.001" knx_send: xyz knx_reply: xyz enforce_updates: "yes" text_display_sink_for_rings: - "wichtiger_als_fenster" - "fenster" text_display_sink_rings_with_prio: - "anruf" text_display_cycle_time: 3 # alle drei sekunden wird die nächste Nachricht eingeblendet. was_relevantes_da: remark: Das ist optional, das kann man nutzen um z.B. Nachrichten zurückzunehmen. type: bool text_display_sink_for_rings: - "wichtiger_als_fenster" - "fenster" text_display_sink_rings_with_prio: - "anruf" fritzbox: monitor: message: type: bool eval: sh.fritzbox.monitor.incoming.event() == 'ring' and sh.fritzbox.monitor.incoming.is_call_incoming() == True eval_trigger: - ..incoming.is_call_incoming - ..incoming.event text_display_target_ring: 'anruf' text_display_content_source_item: .message_text message_text: type: str eval: "'T:{}'.format(sh.fritzbox.monitor.incoming.last_caller())" eval_trigger: fritzbox.monitor.incoming.last_caller schlafzimmer: raum_name: remark: Das kommt aus nem struct, daher auch das dynamisch initial_value: "SchlaZi" fenster: type: bool remark: Wenn offen, dann 1. Kann man natürlich per Eval umdrehen. klima: temperatur: visu_acl: ro type: num message_string: type: str eval: > f"{sh.....raum_name()}: {sh...():.1f}°C" eval_trigger: .. display_is_relevant: type: bool eval: or eval_trigger: - .....fenster text_display_target_ring: 'fenster' text_display_content_source_item: ..
Frage 2: Ist das ein System-Plugin oder ein Modul? Oder ist das was ganz anderes?
Kommentar