[closed] [TabletUI] kann ein Fhem Event ein TabletUI Popup auslösen?

Begonnen von WhyTea, 22 Juli 2016, 14:53:23

Vorheriges Thema - Nächstes Thema

WhyTea

Hallo
Ist es möglich das ein Fhem Event ein Popup im TabletUI auslöst?
Gruß
Daniel

setstate

Ja, geht. Du musst wie bei einem Switch data-device, data-get und data-get-on definieren

https://github.com/knowthelist/fhem-tablet-ui/wiki/Popup

WhyTea

#2
Hallo und danke für den Tipp!
Ich habe es grob hinbekommen aber so richtig zufrieden bin ich noch nicht.
Das ist mein code vom tabletui
<li class="halbTransparent" data-row="4" data-col="6" data-sizex="1" data-sizey="1">
<header class="headerTransparent"><div>Alarmanlage</div></header>
<div
data-type="checkbox"
class="cell red top-space-2x"
        data-device="Alarmanlage"
        data-get="state"
        data-get-on="on"
data-get-off="off"
data-set-on="on"
data-set-off="off">
</div>
<div data-type="popup" data-device="popup_alarm_off" data-get="state" data-get-on="1"
data-height="270px" data-width="400px">
<div class="dialog">
        <header>WARNUNG</header>
        <div
data-type="label" data-device='popup_alarm_text' data-get="state" class="top-space red big">
</div>
        <div data-type="link" class="round top-space centered"
             data-width="130" data-height="50"
             data-color="white"
             data-background-color="red"
             data-icon="fa-check"
             onclick="$('.dialog-close').trigger('click');setFhemStatus('set popup_alarm_off 0')">OK
</div>
    </div>
</div>
</li>


Erläuterung:
Per tabletui checkbox schalte ich meine Alarmanlage ein bzw. aus. Beim einschalten wird geprüft ob alle Türen und Fenster im EG und KG geschlossen sind. Wenn das nicht der fall ist soll ein das Popup erscheinen.
Dazu habe ich zwei dummies erstellt (popup_alarm_off und popup_alarm_text).
define popup_alarm_off dummy
attr popup_alarm_off event-on-change-reading state
attr popup_alarm_off room _Alarmanlage

define popup_alarm_text dummy
attr popup_alarm_text event-on-change-reading state
attr popup_alarm_text room _Alarmanlage
setstate popup_alarm_text Alarmanlage nicht aktivierbar! Bitte die Fenster und Türen im EG und KG prüfen!


Wenn das einschalten nicht möglich ist wird der dummy popup_alarm_off auf 1 gestellt.
define notAlarmanlage_on notify Alarmanlage:on {\
if ((Value("EG_Tueren_und_Fenster_o_Eingang") ne "closed") || (Value("KG_Tueren_und_Fenster") ne "closed")) {\
fhem ("set Alarmanlage off");;\
fhem ("set popup_alarm_off 1")}\
}
attr notAlarmanlage_on room _Alarmanlage

Dies soll das Popup auslösen welches den Inhalt von dem Dummy popup_alarm_text ausgiebt.

Nun mein Problem. Der beschriebene Ablauf funktioniert soweit nur wird das Popup nicht unmittelbar gezeigt sondern erst nach dem reload der Seite.

Nach meinem Verständnis ist die Ursache dafür das nicht das Event "popup_alarm_off hat jetzt den wert 1" das Popup auslöst sondern beim laden der Seite prüft er den Wert des dummies und erst dann wird ein popup angezeigt.
Bitte korrigiert mich wenn ich falsch liege!

Kann mir Jemand sagen was ich ändern muss damit das Event das Popup auslöst?

-
Daniel