Hauptmenü

Erinnerungs Popup

Begonnen von davedeluxe, 13 Dezember 2016, 09:45:08

Vorheriges Thema - Nächstes Thema

davedeluxe

Hi,
hat jemand eine Idee wie ich mir Erinnerungen bequem als Popup anzeigen lassen kann?

Beispiel:
Ich liege Abends im Bett und mir fällt ein, das ich am nächsten Morgen xy einpacken muss.
Jetzt Möchte ich mein Handy nehmen und z.B. nen dummy Editieren (State: "xy einpacken!")
Der Text des dummys sollte am Tablet automatisch in einem Popup des Tablet-UIs geöffnet werden so das ich es am nächsten Morgen lese.

Gerne auch andere Ideen/Möglichkeiten ;)

Grüße Dave

davedeluxe

Ich bin nen Schritt weiter gekommen.
Ich habe einen Dummy "Erinnerung.Tablet" erstellt, sobald ich dessen State auf eine Zahl >0 ändere geht am Tablet ein Popup auf welches das Attribut "comment" des Dummys ausließt und anzeigt.
Beim Schließen des Popoups wird der State des Dummys wieder auf 0 gesetzt.

</div>
<div data-type="popup"
data-device="Erinnerung.Tablet"
data-get="STATE"
data-get-on="[1-9]\d*"
data-height="600px"
data-width="600px">
<div class="dialog">
<header>ERINNERUNG</header>
<div data-type="label"
data-device='Erinnerung.Tablet'
data-get="comment"
class="top-space-3x red big">
</div>
<div data-type="link"
class="round top-space-3x left-space-3x"
data-width="130"
data-height="50"
data-color="white"
data-background-color="red"
data-icon="fa-check"
data-fhem-cmd="set Erinnerung.Tablet 0"
onclick="$('.dialog-close').trigger('click');">OK
</div>
</div>
</div>
</li>

Ergebnis im Anhang

Jetzt ist die Frage, wie befülle ich das Attribut "comment" komfortabel und setze den STATE auf "1" ?
Am liebsten wäre mir ne Textbox in Tablet-UI mit einem Button zum Absenden und gleichzeitigen setzen des STATE.

setstate

Du kannst auch den Text direkt auswerten. Ungleich leer -> dann Popup.

Zum Setzen des Textes kann man das Input Widget benutzen.

davedeluxe

Danke für den Tip!
Hier der komplette Code für die Nachwelt:
FHEM:
define Erinnerung.Tablet dummy
POPUP:
<div data-type="popup"
data-device="Erinnerung.Tablet"
data-get="STATE"
data-get-on="[^0]+"
data-get-off="0"
data-height="400px"
data-width="400px">
<div class="dialog">

<div data-type="label"
data-device='Erinnerung.Tablet'
data-get="STATE"
class="top-space-3x red big">
</div>
<div data-type="link"
class="round top-space-3x left-space-3x"
data-width="130"
data-height="50"
data-color="white"
data-background-color="red"
data-icon="fa-check"
data-fhem-cmd="set Erinnerung.Tablet 0"
onclick="$('.dialog-close').trigger('click');">OK
</div>
</div>
</div>

Input:
<div data-type="input"
data-device="Erinnerung.Tablet"
data-get="#sendParam"
id="sendValue"
class="notransmit w3x centered">
</div>
<div data-type="link"
class="round centered"
data-width="80"
data-height="25"
data-color="white"
data-background-color="green"
data-icon="fa-feed"
data-device="Erinnerung.Tablet"
data-value="#sendValue">
OK
</div>


Gibt man in das Input-Feld nen Text ein, öffnet sich das Popup und zeigt den Text an.
Das Popup kann durch die Eingabe von "0" im Input-Feld geschlossen werden.

Grüße, Dave

TWART016

Sehr cool, habe ich gleich bei mir auch eingebaut.

Am Smartphone sieht man nicht, ob die Nachricht erfolgreich gesetzt ist. Ist es möglich, dass der Button z.B. gelb ist, und ein Wert für den dummy gesetzt wird. Sobald der Wert nicht 0 ist, wird der Button grün. Dies bleibt solange grün, bis Ok gedrückt wird, also der dummy wieder auf 0 steht.

Kann der link-Button auch unten "angepinnt" werden? Also immer ein paar Pixel oder Prozent vom Boden entfernt?

davedeluxe

Hi,
freut mich das ea gefällt.

Das ist ne gute Idee mit der Farbe, das werde ich mir im laufe dea Tages mal ansehen.
Bzgl. dem Button auf dem Pophp,  es sollte möglich sein aber auch da müsste ich erst mal nachsehen.

Grüße Dave

davedeluxe

Hm leider keine Ahnung wie man das hinkriegen könnte...

@setstate - hast du nen Idee?

setstate

Ich würde den Dialog-Teil mit Flexbox bauen, dann ist es flexibel  ;)

                        <div class="dialog vbox">
                            <header>DIALOG</header>
                            <div class="vbox  grow-2">
                                <div data-type="label" data-device="THSensorWZ" data-get="temperature" data-limits='[-73,19,23]' data-colors='["#6699FF","#aa6900","#bb6242"]' data-unit="%B0C%0A" class="bigger thin"></div>
                                <div data-type="label" class="cell">Temperatur</div>
                            </div>
                            <div class="vbox  grow-2">
                                <div data-type="label" data-device="THSensorWZ" data-fix="0" data-part="4" data-limits='[0,40,60]' data-colors='["#bb6242","#aa6900","#bb6242"]' data-unit="%" class="bigger thin"></div>
                                <div data-type="label" class="cell">Luftfeuchte</div>
                            </div>
                            <div class="vbox  grow-1">
                                <div data-type="link" class="round bottom-space" data-width="130" data-height="50" data-color="white" data-background-color="green" data-icon="fa-check" onclick="$('.dialog-close').trigger('click');">OK</div>
                            </div>
                        </div>

TWART016

Zitat von: setstate am 15 Dezember 2016, 15:59:24
Ich würde den Dialog-Teil mit Flexbox bauen, dann ist es flexibel  ;)

Warum mit Flexbox? Kann man da dort Buttons unten "anpinnen"?

Weißt du wie man das mit der Farbe lösen kann?
ZitatAm Smartphone sieht man nicht, ob die Nachricht erfolgreich gesetzt ist. Ist es möglich, dass der Button z.B. gelb ist, und ein Wert für den dummy gesetzt wird. Sobald der Wert nicht 0 ist, wird der Button grün. Dies bleibt solange grün, bis Ok gedrückt wird, also der dummy wieder auf 0 steht.

TWART016

Noch eine Frage. Gibt es die Möglichkeit mehrfach das dummy zu setzten, ohne OK zu drücken. Anschließend sollen mehrere Eingaben angezeigt werden.

Ich denke technisch müsste man einen dummy mehrfach beschreiben.

setstate

Zitat von: TWART016 am 19 Dezember 2016, 21:53:58
Noch eine Frage. Gibt es die Möglichkeit mehrfach das dummy zu setzten, ohne OK zu drücken. Anschließend sollen mehrere Eingaben angezeigt werden.

Ich denke technisch müsste man einen dummy mehrfach beschreiben.

OK drücken muss man beim obigen Beispiel, weil das extra so definiert wurde.

<div data-type="input"
data-device="Erinnerung.Tablet"
data-get="#sendParam"
id="sendValue"
class="notransmit w3x centered">
</div>
<div data-type="link"
class="round centered"
data-width="80"
data-height="25"
data-color="white"
data-background-color="green"
data-icon="fa-feed"
data-device="Erinnerung.Tablet"
data-value="#sendValue">
OK
</div>


-  class="notransmit" beim Input verhindert das Senden des Wertes nach dem Enter drücken.
-  id="sendValue" ist die ID des Inputs für Verweise von anderer Stelle
-  data-value="#sendValue" heißt: "nimm den Wert fürs Senden vom Element mit der ID sendValue"

Jetzt weißt du bestimmt, wie die Antwort zu deine Frage ist :-)

TWART016

Das mit notransmit habe ich verstanden.

Ich möchte den dummy setzen mit Begriff 1. Solange ich nicht den dummy auf 0 setze, erscheint der Begriff immer wieder beim Laden. Jetzt möchte ich diesen behalten und einen Begriff 2 hinzufügen. Das Popup soll nun beide Begriffe anzeigen.

Ich habe es derzeit so, dass nach der Eingabe von Begriff 2, der Begriff 1 verschwindet.

Wie müsste man die ID's konfigurieren?

Sailor

Hi Dave

Zitat von: davedeluxe am 14 Dezember 2016, 07:44:04
Danke für den Tip!
Hier der komplette Code für die Nachwelt:

Vielen Dank für den Code.

Meine Frage:
a) In welche Datei kommt der POPUP und INPUT Code (abgesehen von dem Dummy -Define).
b) Wie ändere ich den Code fuer den Input-Text?

Danke für die Hilfe

Gruß
    Sailor
******************************
Man wird immer besser...

davedeluxe

Hey,
sorry fürs delay, hab den Post nicht gesehen.

Also den Popup Code habe ich auf meinem Tablet welches im Flur hängt im Menü hinterlegt (da das er auf jeder Inhaltsseite aufpoppen kann).
Der Inputcode ist auf meiner mobilen Seite aufrufbar da ich von da aus meine Erinnerung auf das Tablet "senden" möchte.

Was genau meinst du mit Code für Input ändern?

Sailor

Hi Dave

Zitat von: davedeluxe am 23 Mai 2017, 15:11:17
Hey,
sorry fürs delay, hab den Post nicht gesehen.

Also den Popup Code habe ich auf meinem Tablet welches im Flur hängt im Menü hinterlegt (da das er auf jeder Inhaltsseite aufpoppen kann).
Der Inputcode ist auf meiner mobilen Seite aufrufbar da ich von da aus meine Erinnerung auf das Tablet "senden" möchte.

Was genau meinst du mit Code für Input ändern?

Danke für deine Antwort!

Also vielleicht bin ich auch auf dem falschen Dampfer, aber was ich suche ist eine Möglichkeit auf einer x-beliebigen fhem-Seite (vorzugsweise Floorplan-Seiten) per notify ein Popup darüber zu blenden.
Dort möchte ich dann ein Bild, ein MJPEG-Stream und 4 Button mit Links zu set-Befehlen zu fhem integrieren.
Sollte die Bedingung für den Aufruf nicht mehr gegeben sein, soll das Popup wieder verschwinden.

Zunächst will ich aber erst einmal den Anfang eines einfachen Popups hinkriegen.

Meine Anfänger-Frage vom letzten Mal ging dahin:

a) In welche Pfad/Datei hast du an welcher Stelle den genannten Code eingefuegt?
b) Wie hast Du den "Input" geaendert (set <device> <reading> <value>) , so dass das Popup hochkommt?

Danke

Gruß
    Sailor
******************************
Man wird immer besser...

davedeluxe

Hey,

also der Post bezieht sich ausschließlich auf TabletUI.
Wie und ob man das mit Floorplan realisieren kann weiß ich nicht, da bist du im falschen Thread denke ich.

Grüße Dave

Sailor

OK, Danke!

Gruss
   Sailor
******************************
Man wird immer besser...