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