Popup abhängig vom Status

Begonnen von paedsen, 02 Januar 2018, 19:36:18

Vorheriges Thema - Nächstes Thema

paedsen

Hallo zusammen,

ich versuche gerade eine Popup abhängig von Statusänderung entsprechend  der Anleitung https://wiki.fhem.de/wiki/FTUI_Widget_Popupeinzubauen, was ich leider nicht hin bekommen. Ich würde gerne ein Popup anzeigen wenn man den Strom für einen Raum aus schaltet (noch  optimaler wäre sogar noch mal eine Vorabfrage ob das tatsächlich möchte  ???).

Mein code sieht derzeit so aus:


<li data-row="1" data-col="2" data-sizex="3" data-sizey="1">
<header>Arbeitszimmer</header>
<div data-type="switch" class="cell" data-device="OG_AZ_Licht"></div>
<div data-type="switch" data-icon="fa-plug" class="cell" data-device="OG_AZ_Strom"></div>
<div data-type="popup"
data-device="OG_AZ_Strom"
data-get-on="off"
data-height="100px"
data-width="150px"
data-mode="animateTop">
<div class="dialog">
<header>Achtung</header>
<div>Strom f&uuml;r den kompletten Raum wurde ausgeschalten!</div>
</div>
</div>
</li>


Ziel ist es das Popup anzuzeigen wenn sich der Status von OG_AZ_Strom auf "off" ändert. Ich habe auch schon versucht noch ein
data-get="state"
dazu zu packen, was leider auch nicht den gewünschten Erfolg gebracht hat. Ich habe derzeit ein Dauer-Popups, was sich nicht schließen lässt.  :o

Gruß
Patrick

viegener

Setzt doch mal noch ein

data-get-off="on"

hinzu, oder was auch immer der andere Status bei state ist
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

paedsen

Das hatte ich schon getestet und führt zum gleichen Dauer-Popup.  :(

viegener

Was steht denn in STATE? Ist da immer der Wert off?
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

paedsen

Ne, das wechelst zwischen "on" und "off", allerdings muss ich auf der FHEM-Seite einen Refresh machen, das sollte aber wohl eher mit der Seite zu tun haben. Auf der FTUI Seite wechelt das Icon richtig, das automatische Popup für den "set OG_AZ_Licht on/off" erscheint auch und das Licht geht an und aus.

Nicht verwirren lassen - ich benutze zum testen das Licht, da ich mir sonst immer den Rechner ausschalten würde.  8)

viegener

Was wechselt nur das Internal "STATE" oder auch ein Reading "state"?

Wechselt das Icon auf der FTUI-Seite durch Bedienung auf der FTUI-Seite oder durch einen direkten Befehl in FHEM?

Ich frage deshalb weil ich mit einem Dummy ein popup bei mir erscheinen lasse und das verschwindet auch sobald der state sich ändert.

Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

paedsen

Zitat von: viegener am 02 Januar 2018, 21:19:48
Was wechselt nur das Internal "STATE" oder auch ein Reading "state"?

Wechselt das Icon auf der FTUI-Seite durch Bedienung auf der FTUI-Seite oder durch einen direkten Befehl in FHEM?

Ich frage deshalb weil ich mit einem Dummy ein popup bei mir erscheinen lasse und das verschwindet auch sobald der state sich ändert.
Sowohl das Internal als auch das Reading ändern sich.

viegener

Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

paedsen

Zitat von: viegener am 02 Januar 2018, 21:57:34
Ok und die zweite Frage?
Ah, sorry. Funktioniert sowohl als auch. Wenn ich über das Handy direkt über die FHEM-Seite schalte, ändert sich auf der FTUI-Seite auf dem Tablet sofort das Icon und umgekehrt.

viegener

Mmmh - hast Du mal probiert beides einzufügen:

data-get-off="on" data-get="state"

Ich habe bei mir auch nicht mehr Parameter:

  <div data-type="popup" data-device="alarmlist_dummy" data-get="state" data-get-on="<.*" data-get-off="0" data-height="240px" data-width="320px">

Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

paedsen

So, hab jetzt alles mal rein gepackt:


<div data-type="popup"
data-device="OG_AZ_Licht"
data-get="state"
data-get-on="off"
data-get-off="on"
data-height="100px"
data-width="150px"
data-mode="animateTop">
<div class="dialog">
<header>Achtung</header>
<div>Strom f&uuml;r den kompletten Raum wurde ausgeschalten!</div>
</div>
</div>


Es bleibt leider bei einem Dauer-Popup, welches sich auch nicht schließen lässt. Unabhängig davon welchen Status mein device hat.  :-\

viegener

Dann ist bei Dir etwas anderes faul - ich habe gerade einen Dummy mit setList angelegt und genau Deinen Code in mein Tablet UI aufgenommen. Popup erscheint wenn ich den dummy off setze und verschwindet bei on wieder.

Zur EIngrenzung rate mach mal folgendes:


define testdummy dummy
attr testdummy setList on off
set testdummy on


füge folgendes ins tablet ui ein:


<div data-type="popup"
data-device="testdummy"
data-get="state"
data-get-on="off"
data-get-off="on"
data-height="100px"
data-width="150px"
data-mode="animateTop">
<div class="dialog">
<header>Achtung</header>
<div>Strom f&uuml;r den kompletten Raum wurde ausgeschalten!</div>
</div>
</div>



reload aufs tablet - kein popup sollte zu sehen sein
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

paedsen

Zitat von: viegener am 03 Januar 2018, 20:41:48reload aufs tablet - kein popup sollte zu sehen sein

Reload aufs Tablet - Popup erscheint uns lässt sich nicht schließen. Gleiches Verhalten  :-\

Ich habe allerdings auch hin und wieder das Problem dass meine Widgets nicht korrekt geladen werden. Dann sehe ich nur eine vertikale Liste der <li>-Elemente und die header (in meinem Fall die Zimmernamen), bzw. Textelemente der Seite. Das konnte ich bisher auch noch nicht lösen. Keine Ahnung ob das eine was mit dem anderen zu tun haben könnte.

viegener

Wenn der Versuch mit dem dummy auch ein Fehlverhalten zeigt, stimmt eher grundsätzlich etwas nicht.

Gibt es in der Browserconsole Ausgaben?
Hast Du mal versucht eine ganz simple Testseite aufzubauen, die (fast) nur das Popup enthält? Ist nicht auszuschliessen, dass durch ein anderes Problem mit Deiner Oberfläche ewas schiefgeht
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

paedsen

Ich habe jetzt mal eine minimalistische Seite erstellt:


<body>
<div class="gridster">
<ul>
<li data-row="1" data-col="2" data-sizex="3" data-sizey="1">
<header>Arbeitszimmer</header>
<div data-type="switch" class="cell" data-device="testdummy"></div>
<div data-type="switch" data-icon="fa-plug" class="cell" data-device="OG_AZ_Strom"></div>
<div data-type="symbol"
data-device="Rauchmelder_OG_AZ"
data-icon="oa-secur_smoke_detector"
class="cell"></div>
<div data-type="popup"
data-device="testdummy"
data-get="state"
data-get-on="off"
data-get-off="on"
data-height="100px"
data-width="150px"
data-mode="animateTop">
<div class="dialog">
<header>Achtung</header>
<div>Testdummy</div>
</div>
</div>
</li>

</ul>
</div>
</body>


Der Effekt bleibt leider der gleiche, sobald ich die Seite aufrufe, unabhängig vom Status des testdummy erscheint das Popup.  :'(

In drei Browsern wird nichts in der Konsole ausgegeben  :o

viegener

Zitat von: paedsen am 12 Januar 2018, 17:54:55

In drei Browsern wird nichts in der Konsole ausgegeben  :o

Nichts ? Das kann eigentlich nicht sein, dann würde ja das FTUI nicht laufen
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

paedsen

Hi,

sorry, hat etwas länger gedauert.

Wir sprechen von der Entwicklerkonsole des Browsers (F12), korrekt? In Chrome sehe ich dann folgendes:

viegener

Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

viegener

Im Prinzip scheint ja etwas mit Deiner FHM Tablet UI-Installation nicht zu funktionieren - vieleicht ist etwas grundsätzlich im argen, wenn auch so grundsätzliche Dinge nicht funktionieren - es scheint ja ein Problem mit dem udpate aus FHEM zu readings/status zu geben
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

paedsen

Also mit debug level 5 zeigt er folgendes an, auch nichts sonderlich auffälliges, oder?


Plugin dir: /tablet/js
Filename: index_mini.html
FHEM dir: http://<IP>:8083/fhem
Collecting required readings
Synchrone XMLHttpRequests am Haupt-Thread sollte nicht mehr verwendet werden, weil es nachteilige Effekte für das Erlebnis der Endbenutzer hat. Für weitere Hilfe siehe http://xhr.spec.whatwg.org/
Loaded plugin: widget_popup
Loaded plugin: widget_symbol
Loaded plugin: widget_switch
Request readings from FHEM
start shortpoll
shortPoll - waiting requests:2
starting new AJAX. still running:0
starting new AJAX. still running:1
Start longpoll
finished AJAX request. still running:1
requestFhem::done: Line parser result: dev:testdummy paraname:STATE date: val:on
update done for device:testdummy parameter:STATE
requestFhem::done: Line parser result: dev:OG_AZ_Strom paraname:STATE date: val:on
requestFhem::done: Line parser result: dev:Rauchmelder_OG_AZ paraname:STATE date: val:off
finished AJAX request. still running:0
requestFhem::done: Line parser result: dev:testdummy paraname:state date:2018-02-05 17:08:37 val:on
update done for device:testdummy parameter:state
requestFhem::done: Line parser result: dev:OG_AZ_Strom paraname:state date:2018-02-05 07:41:15 val:on
requestFhem::done: Line parser result: dev:Rauchmelder_OG_AZ paraname:state date:2018-02-02 17:42:10 val:off
shortPoll - Done


State von testdummy is 'on', Popup sollte nicht erscheinen:

<div data-type="popup"
data-device="testdummy"
data-get="state"
data-get-on="off"
data-get-off="on"
data-height="100px"
data-width="150px"
data-mode="animateTop">
<div class="dialog">
  <header>Achtung</header>
  <div>Testdummy</div>
</div>


Groß-/Kleinschreibung beim data-get habe ich auch schon probiert.  :(

viegener

Lass doch mal alle data-get... weg (on / off / und auch den mit state)
Setze den dummy auf off - geht das?

Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können