Neues FTUI Widget PinPad für Alarmanlagen

Begonnen von Syrex-o, 09 November 2017, 20:47:13

Vorheriges Thema - Nächstes Thema

Gunther

Ich komme gerade leider nicht zum Testen. Melde mich!
FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden

Gunther

Danke für Deine weitere Arbeit und Hilfe!
So, bin eben zum Testen gekommen.

generell geht es. :-)

Aber leider noch Folgendes:
1.) Wenn meine Seite neu lädt, und dann der Alarm an ist, verschwindet das Pinpad leider immer noch.
Ich nutze eine Seite mit Pagebutton und prefetch (da wird ne Menge geladen)
Das bedeutet, wenn man rein kommt und den Alarm deaktivieren möchte, aber die Seite neu lädt, dann geht das nicht.
Habe auf der Seite noch ein zweites Popup. Kann das damit zusammenhängen?

2. sind noch Punkte da, vgl. Screenshot
FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden

Syrex-o

So jetzt komme ich mal wieder dazu.

ZitatHabe auf der Seite noch ein zweites Popup. Kann das damit zusammenhängen?
Bitte versuche das veränderte Popup widget von mir. Das soll eigentlich genau das verhindern.

Zitatsind noch Punkte da, vgl. Screenshot
Verstehe nicht genau wie es bei dir zustande kommt.
Bitte ein wenig ausführlicher, damit ich es reproduzieren kann.

Grüße

harway2007

#108
Hallo habe die 4 Dateien js,css und png überall hinkopiert
und bekomme das hier:

in der html Seite habe ich dazu gefügt:

           <link rel="stylesheet" href="/fhem/tablet1/lib/pinpad.css" />
      <script type="text/javascript" src="/fhem/tablet1/lib/widget_popup_delay.js"></script>
      <script type="text/javascript" src="/fhem/tablet1/lib/widget_pinpad.js"></script>

Debugger im Explorer ergibt:
"widget_popup_delay" ist undefiniert

was habe ich bitte übersehen ?

Gunther

Du musst in der Index nichts hinzufügen.

Lediglich in den Ordner js das widget widget_popup_delay.js oder das andere kopieren.
Die pinpad.css kopierst Du in den Ordner lib.

Notfalls noch User/Gruppe/Berechtigungen anpasen

Dann fügst Du den entsprechenden Code in Deine html-Seite ein (oben sind genug Beispiele).
Natürlich brauchst Du auch noch einen Dummy in FHEM und ein Reading für den PIN.
FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden

Gunther

Zitat von: Syrex-o am 03 Februar 2018, 11:52:56
So jetzt komme ich mal wieder dazu.
Bitte versuche das veränderte Popup widget von mir. Das soll eigentlich genau das verhindern.
Verstehe nicht genau wie es bei dir zustande kommt.
Bitte ein wenig ausführlicher, damit ich es reproduzieren kann.

Grüße
Also, ich habe ein Update von FTUI gemacht. Das Problem mit den Punkten ist weg.

Ich nutze Deine veränderte Version.
Solange wie die Seite noch lädt, ist das Problem, dass das Popup verschwindet.

Wenn die Seite nicht lädt funktioniert das generell. Sieht aber so aus, als wenn das ein generelles Problem des Popups ist.
Bedeutet: Wenn der Alarm aktiv ist, dann darf Tablet UI nicht aktualisiert werden, weil man dann nicht mehr ans Pinpad kommt. Alternative ist das manuell per Button nach vorne zu holen. Das ist aber für Nicht-Technik-Affine nicht immer ganz einfach.

Trotzdem danke für Deine Hilfe!
FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden

Syrex-o

ZitatSolange wie die Seite noch lädt, ist das Problem, dass das Popup verschwindet.

Egal wie oft ich bei mir bei "scharfem" Alarm aktualisiere, ich bekomme immer das Pinpad.

Hier nochmal mein Code:
<section>
           <!-- ============= Alarmanlage================== -->
<div data-type="popup_delay"
data-draggable="false"
data-device="Alarm"
data-get-on="on"
data-get-off="off"
data-height="500px"
data-width="320px"
class="center interlock">
<!-- ============= Widgetinhalt Start  ================== -->
<div data-type="symbol"
data-device="Alarm"
      data-states='["on","off"]' 
      data-icon="fa-lightbulb-o"
      data-colors='["#ad3333","#6699FF"]'
      data-background-icon=""
      class="big">
</div>
<div  data-type="label" data-device="Alarm" data-get="state" class="darker"/>
<!-- ============= Widgetinhalt Ende  ================== -->
<!-- ============= Popupinhalt Start  ================== -->
<div class="dialog">
        <header>Pin Alarmanlage</header>
            <div data-type="pinpad"
            data-device="Alarm"
            data-get="STATE"
            data-get-pin="pin"
            data-text-locked="scharf"
        data-text-unlocked="unscharf"
data-locked-time="10"
        data-tries="3"
        class="center">
      </div>
    </div>
<!-- ============= Popupinhalt Ende ================== -->
</div>
<!-- ============= Alarmanlage Ende ================== -->
       </section>


Falls es sich um ein dauerhaftes Popup Problem handelt, werde ich mich mal dransetzen.
Jedoch glaube ich das eigentlich nicht

Grüße

Gunther

So, ich habe nun erstmal mein Tablet-UI um einige Fehler bereinigt (https://forum.fhem.de/index.php/topic,67141.0.html).

Bei meinem Test ist nun folgendes herausgekommen:
Ein Popup (nicht Pinpad) bleibt geöffnet auch wenn die Seite aktualisiert.
Pinpad (auch die Popup-Version) verhält sich anders und "schließt" bei Aktualisierung. Das bedeutet, die Seite ist nicht mehr zugreifbar (was ja auch soll) aber ich komme nicht mehr ans Pinpad.

Schicke Dir gerne ein Video dazu, wenn Du mir per PN nochmal Deine E-Mail-Adresse zukommen lässt.
FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden

Gunther

Ich muss das mit dem Popup doch revidieren. Unter bestimmten Umständen verschwindet ein NICHT-Pinpad Popup auch.
FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden

Jan_H

Hallo zusammen!

Ich bin ganz neu beim Thema Tablet UI und auch im Programmieren nicht bewandert.

Ich wollte das PIN PAD benutzen, habe dazu auch in FHEM einen dummy (aus dem 1. Post) zum testen angelegt und mir eine Tablet UI-Seite nach der Anleitung https://waschto.eu/mein-tabletui eingerichtet.

Mein Popup wird nur genau einmal gezeigt, dann nicht mehr, auch ein schließen des Browsers bringt nichts. Ich habe es mit Chrome und Firefox auf meinem MacBook und Safari auf meinem iPad versucht.

TabletUI-Index.html:

<!DOCTYPE html>
<html>
<head>
    <!--
     * Version: 1.4.4
     * Requires: jQuery v1.7+, font-awesome, jquery.gridster, jquery.toast
     * URL: https://github.com/knowthelist/fhem-tablet-ui
     *
     * Copyright (c) 2015 Mario Stephan <mstephan@shared-files.de>
     * Under MIT License (http://www.opensource.org/licenses/mit-license.php)
    -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
    <meta name="widget_base_width" content="116">
    <meta name="widget_base_height" content="131">
    <meta name="mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="longpoll" content="1">
    <meta name="debug" content="0">

    <link rel="stylesheet" href="/fhem/tablet/lib/jquery.gridster.min.css" />
    <link rel="stylesheet" href="/fhem/tablet/css/fhem-tablet-ui.css" />
    <link rel="stylesheet" href="/fhem/tablet/lib/font-awesome.min.css" />
    <link rel="stylesheet" href="/fhem/tablet/lib/jquery.toast.min.css" />
    <link rel="stylesheet" href="/fhem/tablet/css/fhem-tablet-ui-user.css" />
    <link rel="stylesheet" href="/fhem/tablet/css/pinpad.css" />

    <script src="/fhem/pgm2/jquery.min.js" defer></script>
    <script src="/fhem/tablet/lib/jquery.toast.min.js" defer></script>
    <script src="/fhem/tablet/lib/jquery.gridster.min.js" defer></script>
    <script src="/fhem/tablet/js/fhem-tablet-ui.min.js" defer></script>

    <title>FHEM-Tablet-UI</title>
</head>
<body>

<div class="gridster">
<ul>

<!--************** hier kommen die Widgets hin ****************-->
<li data-row="1" data-col="1" data-sizex="1" data-sizey="1">
    <Header>Lampe 1</header>
        <div class="top-space">
            <div data-type="switch"
                 data-device="Lampe1"
                 data-get-on="on.*"
                 data-set-on="on"
            </div>
        </div>
</li>
<li data-row="1" data-col="2" data-sizex="1" data-sizey="1">
    <Header>PIN PAD</header>
        <div class="top-space">

           <!-- ============= Alarmanlage================== -->
<div data-type="popup_delay"
data-draggable="false"
data-device="Alarm"
data-get-on="on"
data-get-off="off"
data-height="500px"
data-width="320px"
class="center interlock">
<!-- ============= Widgetinhalt Start  ================== -->
<div data-type="symbol"
data-device="Alarm"
      data-states='["on","off"]' 
      data-icon="fa-lightbulb-o"
      data-colors='["#ad3333","#6699FF"]'
      data-background-icon=""
      class="big">
</div>
<div  data-type="label" data-device="Alarm" data-get="state" class="darker"/>
<!-- ============= Widgetinhalt Ende  ================== -->
<!-- ============= Popupinhalt Start  ================== -->
<div class="dialog">
        <header>Pin Alarmanlage</header>
            <div data-type="pinpad"
            data-device="Alarm"
            data-get="STATE"
            data-get-pin="pin"
            data-text-locked="scharf"
        data-text-unlocked="unscharf"
data-locked-time="10"
        data-tries="3"
        class="center">
      </div>
    </div>
<!-- ============= Popupinhalt Ende ================== -->
</div>
<!-- ============= Alarmanlage Ende ================== -->     
  </div>
</li>
</ul>
</div>
</body>
</html>


Habt ihr eine Idee?

Beste Grüße
Jan

Syrex-o

Moin,

Also:
<link rel="stylesheet" href="/fhem/tablet/css/pinpad.css" /> brauchst du nicht zu definieren. Macht das Widget selber.

Aktuell regiert dein Popup auf die Änderung des Status vom Alarm.
Somit muss entweder irgendetwas deinen Alarm wieder scharf schalten, oder du machst es aus der FHEM Oberfläche selbst.

Code für das PinPad müsste dann so aussehen:

<div data-type="popup_delay"
data-draggable="false"
data-height="500px"
data-width="320px"
class="center">

Sonst gerne einfach mal das Wiki vom Tablet UI Popup lesen.
Alle funktionen sind beim Popup_delay identisch.

Grüße

Syrex-o

Ach ja
und an @Gunther
Um da was verbessern zu können brauche ich ein wenig Input.
Irgendwelche Consolen Logs die hilfreich sind?
Was verwendest du genau an Hard- und Software?

Grüße

Gunther

So, habe Dir mal ein Video zukommen lassen.

Meine Hardware: Vorher: Pi2b, mittlerweile läuft FHEM deutlich performanter auf einem Intel Nuc I3 (in einem Proxmox-Container auf Ubuntu).

Egal ob ich auf meinem MacBookPro (I7) unter Chrome oder auf meinen Acer Tablets unter Fully teste, habe ich das Phänomen des "Verschwindens" beim Reload. (Im Video nachgestellt).
FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden

Syrex-o

So, habe es mir mal angesehen.

Dein Log ist so voll, dass ich glaube, dass da irgendwas nicht mehr hinterherkommt.
Obwohl du nur auf einer Oberfläche bist, sieht es so aus, als würden 1000 Widgets geladen werden.

Check mal ob das Problem auch auftritt, wenn du das Popup auf einer eigenen Seite als einziges Widget benutzt.

Grüße

dirk.k

Hallo,
ich finde das Widget echt Klasse. Danke für die Arbeit.
Ich würde gern popup_delay verwenden, da ich beim normalen popup die Scrollbalken erhalte.
Nur funktioniert "data-return-time" hier nicht. Wurde das gezielt abgeschaltet?
Das brauche ich, da ich nicht die Oberfläche komplett sperren möchte, sondern ein device "ftuilock" an/aus schalten lasse.
Das wird dann wiederum in verschiedenen Widgets mit "data-lock" verwendet.
Danke und viele Grüße,
Dirk