(ERLEDIGT) popup Problem

Begonnen von pflock_y, 24 Mai 2018, 20:08:42

Vorheriges Thema - Nächstes Thema

pflock_y

Hallo zusammen,

vielleicht ist der Betreff etwas blöd gewählt aber ich wusste nicht wie ich es formulieren sollte.

eines vorab, die Suche, commandref, und WiKi hab ich schon durch, leider ohne nennenswerten erfolg.

Zum Problem:

Ich möchte das auf meinem Tablet, auf dem Tablet UI läuft, ein Popup erscheint wenn mein Geschirrspüler fertig ist.
Zur Zeit hab ich es über einen dummy gelöst der aus einer DoIf "gespeist" wird wenn der Strom auf 10mA sinkt.
Soweit geht es auch, Geschirrspüler get an -> der dummy ändert den Status auf off, Geschirrspüler geht aus -> der dummy ändert den Status auf on. Popup erscheint.
Soweit bestens!!

Wenn ich nun aber die Seite der UI neu lade erscheint das Popup jedes mal, auch wenn ich über einen pagetab eine andere Seite Aufrufe, erscheint das Popup.

Mach ich was falsch? Wie mach ich es richtig?

dummy

Internals:
   CFGFN     
   CHANGED   
   NAME       GS_dummy
   NR         90181
   STATE      on
   TYPE       dummy
   .attraggr:
   .attreocr:
     .*
   .attrminint:
   READINGS:
     2018-05-24 20:06:06   state           on
Attributes:
   event-on-change-reading .*
   setList    on off


DoIf

Internals:
   CFGFN     
   DEF        ([Geschirrspueler:2.CURRENT]<=10) (set GS_dummy on) DOELSE (set GS_dummy off)
   MODEL      FHEM
   NAME       GS_dummy_DOIF
   NR         79071
   NTFY_ORDER 50-GS_dummy_DOIF
   STATE      cmd_1
   TYPE       DOIF
   .attraggr:
   .attrminint:
   READINGS:
     2018-05-24 20:06:06   Device          Geschirrspueler
     2018-05-24 20:06:06   cmd             1
     2018-05-24 20:06:06   cmd_event       Geschirrspueler
     2018-05-24 20:06:06   cmd_nr          1
     2018-05-24 20:06:06   e_Geschirrspueler_2.CURRENT 10.0
     2018-05-23 21:29:58   mode            enabled
     2018-05-24 20:06:06   state           cmd_1
   Regex:
   condition:
     0          ReadingValDoIf($hash,'Geschirrspueler','2.CURRENT')<=10
   devices:
     0           Geschirrspueler
     all         Geschirrspueler
   do:
     0:
       0          set GS_dummy on
     1:
       0          set GS_dummy off
   helper:
     DOIF_Readings_events
     DOIF_eventas
     event      2.CURRENT: 10.0,2.POWER: 0.4,2.FREQUENCY: 50.0,2.VOLTAGE: 233.9,2.ENERGY_COUNTER: 11258.8,hmstate: on,StrominA: 0.01
     globalinit 1
     last_timer 0
     sleeptimer -1
     timerdev   Geschirrspueler
     timerevent 2.CURRENT: 10.0,2.POWER: 0.4,2.FREQUENCY: 50.0,2.VOLTAGE: 233.9,2.ENERGY_COUNTER: 11258.8,hmstate: on,StrominA: 0.01
     triggerDev Geschirrspueler
     timerevents:
       2.CURRENT: 10.0
       2.POWER: 0.4
       2.FREQUENCY: 50.0
       2.VOLTAGE: 233.9
       2.ENERGY_COUNTER: 11258.8
       hmstate: on
       StrominA: 0.01
     timereventsState:
       2.CURRENT: 10.0
       2.POWER: 0.4
       2.FREQUENCY: 50.0
       2.VOLTAGE: 233.9
       2.ENERGY_COUNTER: 11258.8
       hmstate: on
       StrominA: 0.01
     triggerEvents:
       2.CURRENT: 10.0
       2.POWER: 0.4
       2.FREQUENCY: 50.0
       2.VOLTAGE: 233.9
       2.ENERGY_COUNTER: 11258.8
       hmstate: on
       StrominA: 0.01
     triggerEventsState:
       2.CURRENT: 10.0
       2.POWER: 0.4
       2.FREQUENCY: 50.0
       2.VOLTAGE: 233.9
       2.ENERGY_COUNTER: 11258.8
       hmstate: on
       StrominA: 0.01
   internals:
   itimer:
   readings:
     0           Geschirrspueler:2.CURRENT
     all         Geschirrspueler:2.CURRENT
   trigger:
   uiState:
   uiTable:
Attributes:
   room       9_3_DOIFs


Popup

<!--
        ******************************
        *  popup für Geschirrspüler  *
        ******************************
        -->
        <div data-type="popup"
      data-device="GS_dummy"
      data-get-on="on"
      data-get-off="off"
      data-height="150px"
      data-width="300px">
     
    <div class="dialog">
        <header>Hinweis</header>
        <div data-type="label"
      class="bigger">Der Geschirrspüler ist fertig!</div>
<div data-type="link"
class="round top-space-2x center"
data-width="75" data-height="25"
data-color="white"
data-background-color="green"
data-icon="fa-check"
onclick="$('.dialog-close').trigger('click');">OK</div>
</div>
    </div>



VG
pflock_y

pflock_y

Ich hab es jetzt über einen zweiten dummy erst einmal gelöst, diesen setze ich mit dem "OK" aus dem Popup zurück. Jetzt erscheint es zumindest nicht mehr beim reload oder Seitenwechsel.

Vielleicht geht es auch eleganter?!?!?!?!?
Bin für Tips offen!!

VG
pflock_y

Vaddi

Hey, du könntest doch mit einem Click auf OK im Popup den GS_dummy auf off setzen, dann
erscheint das Popup doch auch nicht mehr.
fhem auf RPi 3
HM-MOD-RPI-PCB sowie 433mhz Sender
Mehrere HM und 433mhz Produkte

pflock_y

Zitat von: Vaddi am 25 Mai 2018, 17:44:58
Hey, du könntest doch mit einem Click auf OK im Popup den GS_dummy auf off setzen, dann
erscheint das Popup doch auch nicht mehr.


Hatte ich auch erst, nur ist das Problem das die DoIf die denn dummy füllt zyklisch ihn immer wieder einschaltet. Somit kommt das Popup nach fünf Minuten wieder.


Gesendet von iPhone mit Tapatalk

Vaddi

Dann könntest du dir ein Hilfsreading in den dummy packen.

setreading GS_dummy popup 0

Bei deinem DOIF dann
([Geschirrspueler:2.CURRENT]<=10 and [GS_dummy:popup] eq 0) (set GS_dummy on;setreading GS_dummy popup 1) DOELSE (set GS_dummy off;setreading GS_dummy popup 0)
Dann noch beim klick auf OK im Popup den dummy off setzen.
fhem auf RPi 3
HM-MOD-RPI-PCB sowie 433mhz Sender
Mehrere HM und 433mhz Produkte

pflock_y

OK, teste ich.
Danke für den Tip!!


Gesendet von iPhone mit Tapatalk

pflock_y

hab es getestet, leider das gleiche Ergebnis wie vorher.
der dummy wird nach fünf Minuten wieder "on" gesetzt und das popup erscheint.

Also erst mal wieder Rückbau auf die zwei dummy Lösung.
Trotzdem vielen Dank!!!!!!!

VG
pflock_y

Vaddi

Kann es sein, dass der 2.CURRENT Wert dann zeitweise über 10 kommt?
fhem auf RPi 3
HM-MOD-RPI-PCB sowie 433mhz Sender
Mehrere HM und 433mhz Produkte

pflock_y

leider nein, laut log, welches ich auch für den Graphen benutze und auswerte nicht. immer schön bei 10.

Vaddi

Das was ich oben geschrieben habe kann auch gar nicht funktionieren, dumm von mir  :o

So könnte es aber funktionieren:
erst mal wieder
setreading GS_dummy popup 0
Und dann das hier, da musst du aber evtl den 2.CURRENT Wert anpassen
([Geschirrspueler:2.CURRENT]<=10 and [GS_dummy:popup] eq 0) (set GS_dummy on;setreading GS_dummy popup 1) DOELSEIF ([Geschirrspueler:2.CURRENT]>20) (set GS_dummy off;setreading GS_dummy popup 0)
Und wie oben auch, beim klick auf das popup dummy off setzen.
fhem auf RPi 3
HM-MOD-RPI-PCB sowie 433mhz Sender
Mehrere HM und 433mhz Produkte

pflock_y

Hab ich eingebaut, der GS läuft. Nun heißt es warten  ::)

pflock_y

#11
Super, scheint zu funktionieren. Seit gut na Stunde ist der GS fertig und es gab nur einmal ein Popup.

Vielen Dank, Vaddi!!!!

VG
pflock_y


#EDIT

zweiter Test in Folge, funktioniert bestens!!!!!!!!!