FHEM Forum

FHEM => Frontends => TabletUI => Thema gestartet von: WhyTea am 22 Juli 2016, 14:53:23

Titel: [closed] [TabletUI] kann ein Fhem Event ein TabletUI Popup auslösen?
Beitrag von: WhyTea am 22 Juli 2016, 14:53:23
Hallo
Ist es möglich das ein Fhem Event ein Popup im TabletUI auslöst?
Gruß
Daniel
Titel: Antw:kann ein Event ein Popup auslösen?
Beitrag von: setstate am 22 Juli 2016, 15:15:44
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
Titel: Antw:kann ein Event ein Popup auslösen?
Beitrag von: WhyTea am 26 Juli 2016, 14:15:51
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