[Gelöst] Kamerabild bei Klingelsignal in FTUI als Pop Up darstellen -....

Begonnen von DJ-Mix, 17 Dezember 2015, 06:23:44

Vorheriges Thema - Nächstes Thema

DJ-Mix

Hallo zusammen,

ich habe im Moment irgendwie keine Ahnung, wie ich das Kamerabild (Livestream) bei anliegendem Klingelsignal
in FTUI als Pop UP (auf dem Tablet) angezeigt bekomme.

Die Klingel ist bereits integriert und löst bei Short/Long den MP3 Funk Gong aus.
Kamera ist ebenfalls in FHEM/FTUI als Live Stream integriert.

Wie kann ich nun auf dem Tablet ein Pop Up erzeugen, wenn die Klingel Short/Long als Ereignis ausgiebt?

Habe dies bereits mit data-type Popup versucht, jedoch fehlt mir so ein bisschen das verständnis wie ich das genau aufrufen muss.
Vielen dank schon einmal vorab

gruß
DJ-Mix

tomster

Sollte das nicht mit einem simplen data-get-on funktionieren? Also was in der Art:

<div data-type="popup" data-device="Klingel" data-get="Trigger" data-get-on="Tastendruck" data-height="150px" data-width="250px">
  <div><!-- click object to open the popup --></div>
  <div class="dialog">
      <header>DIALOG</header>
      <div><!-- widget(s) inside the popup dialog --></div>
  </div>
</div>

Ich bin soweit noch gar nicht gekommen, weil ich bislang verzweifelt einen Weg suche, um meine IP Cam einzubinden, die dummerweise nur rtsp spricht.
Das spricht aber bislang kein Browser auf dem Pi ohne Plugin...

setstate

Genau, beim Popup muss man dafür data-device, data-get und data-get-on angeben. Wie bei einem Symbol, was angehen soll, wenn ein bestimmter Wert erreicht wird.

DJ-Mix

Hallo zusammen,

habe das mal so in die index.html eingetragen

<div data-type="popup"
data-device="CUL_HM_HM_PBI_4_FM_26001B_Btn_01"
<div data-url="http://192.168.178.65:8081/videostream.cgi?user=xxxxx&pwd=xxxxx"></div>
data-get="State"
data-get-on="Short_.*"
data-height="400px" data-width="400px">
<div class="dialog"><header>Camera_Klingel!</header></div>

</div>


(CUL_HM_HM_PBI_4_FM_26001B_Btn_01=Klingel mit Short/Long)

Aber irgendwie tut sich da nix mit Popup beim Klingeln!

Gru?
Dj-Mix

tomster

Is aber nicht ganz so, wie das Beispiel oben, gell?! ;-)
Probier Mal:
<div data-type="popup"
data-device="CUL_HM_HM_PBI_4_FM_26001B_Btn_01"
        data-get="State"
data-get-on="Short_.*"
        data-height="400px" data-width="400px">
<div data-url="http://192.168.178.65:8081/videostream.cgi?user=xxxxx&pwd=xxxxx"></div>
<div class="dialog"><header>Camera_Klingel!</header></div>
</div>


(CUL_HM_HM_PBI_4_FM_26001B_Btn_01=Klingel mit Short/Long)

Aber irgendwie tut sich da nix mit Popup beim Klingeln!

Gru?
Dj-Mix
[/quote]

DJ-Mix

Hallo tomster,

habe ich so probiert. Leider geht kein PopUp auf beim Klingeln . . . . ? :(

Gruß
DJ-Mix

tomster

Dein HM-Device hat aber auch das Reading "State" und nicht zufällig STATE, oder?

marvin78


DJ-Mix

Ups . . .

nein: "state"   (Danke marvin78 - auch gerade endeckt)

Jetzt habe ich das Phenomen, wenn ich FTUI öffne erhalte ich direkt ein PopUp!?
Sollte das nicht eigentlich erst ausgelöst werden, wenn der Status anliegt?

Nachtrag: Bei jedem Mal wenn die Seite aktualisiert wird kommt nun ein leeres PopUp . . . ?

Gruß
DJ-Mix

tomster

Ähh, müsste wohl

<div data-type="popup"
data-device="CUL_HM_HM_PBI_4_FM_26001B_Btn_01"
        data-get="state"
data-get-on="Short_.*"
        data-height="400px" data-width="400px">
<div><!-- click object to open the popup --></div>
<div class="dialog"><div data-url="http://192.168.178.65:8081/videostream.cgi?user=xxxxx&pwd=xxxxx"></div> </div>
</div>


heissen. Hab mich glaub ich grad selber vertan...

DJ-Mix

Leider immer noch ohne Erfolg . . .
Er zeigt mir nun das Popup unter dem Tablet Ui an

Gruß
DJ-Mix

DJ-Mix

meine MP3 Gong löse ich so aus

CUL_HM_HM_PBI_4_FM_26001B_Btn_01:.*Short_.* { if (Value("CUL_HM_HM_PBI_4_FM_26001B_Btn_01") ne "on") { fhem("set CUL_HM_HM_OU_CF_PL_26D8FE_Sound on") }}

Gruß
DJ-Mix

DJ-Mix

keiner eine Idee, woran es leigt, dass das Popup nicht ausgelöst wird bei anleigendem Klingel Signal???

Gruß
Dj-Mix

tomster

Dann vermute ich einfach Mal - oh heiliger Spekulatius! - wild drauf los:

Du definierst als Trigger für das Pop-Up den Druck des Tasters "CUL_HM_HM_PBI_4_FM_26001B_Btn_01", respektive state="Short_.*".
Drückst Du nun die Taste, dann setzt FHEM das Reading state auf irgendwas wie "Short (to xyz)". Also sei zunächst Mal angemerkt, dass Deine Definition innerhalb des FTUI-DIVs nicht state="Short_.*", sondern state="Short.*" lauten müsste um zu Triggern. Deine Definition findet sich zudem nicht unter dem Reading "state", sondern unter "trigger"...

Wenn Du nun aber state="Short.*" in den Code des FTUIs einträgst, dann öffnet sich das Pop-Up direkt beim Laden der Seite. Warum? Schlichtweg weil FHEM das state-Reading des Tasters nicht wieder löscht. Drückt man den Taster, dann erscheint ein Reading nach obigem Schema. Es "löscht" sich aber nicht mehr, wenn man den Taster wieder loslässt. Sprich, beim Aufruf von FTUI steht im state-Reading immer noch "Short (to xyz)". Das triggert logischerweise das Pop-Up beim erstmaligen Seitenaufruf. Danach ändert sich aus Sicht des FTUIs nix mehr an dem Reading. Drum kann es auch durch erneuten Tasterdruck nicht nochmals ausgelöst werden.

Eigentlich würde ich das versuchen zu Lösen, indem ich innerhalb der Tasterdefinition in FHEM ein "event-on-update-reading state" einbaue. Dann sollte das erneute Drücken des Tasters (auch bei quasi gleichbleibendem Reading) ein Event auslösen. Dummerweise habe ich das auf die Schnelle nicht hinbekommen.

Wenn Du aber hergehst und als Trigger innerhalb des FTUI-Codes nicht state sondern trigger nimmst (Short_.*) und in FHEM selbst bei Deinem Taster "event-on-change-reading trigger" einträgst, dann erhalte ich genau die von Dir gewünschte Funktionalität. Ein Tastendruck lässt das Pop-Up aufgehen. Nach manuellem (gab's da nicht auch Mal einen Timer-to-close?) Schließen, lässt sich das Pop-Up durch erneuten Tastendruck wieder auslösen. Dummerweise bleibt aber aus o.g. Gründen das Phänomen, dass beim erstmaligen Seitenaufruf das Pop-Up aufgeht. Das ließe sich wohl nur durch ein User-Reading umgehen, welches sich wieder automatisch zurücksetzt.

LG,
Tom


DJ-Mix

Hallo tomster,

super vielen Dank für deine Unterstützung. Es funktioniert.  :)
Auf "trigger" wäre ich im Leben nicht gekommen.

Muss ich nur noch schauen, dass das Popup nur bei Ereignis angezeigt wird und nicht bei jedem
Seitenaufruf (im Moment jedes mal wenn ich auf Home klicke).

Gruß
DJ-Mix