FHEM Forum

FHEM => Frontends => TabletUI => Thema gestartet von: Tommy82 am 23 Dezember 2018, 17:18:55

Titel: [Gelöst]PopUp Widget mit Telefonanruf
Beitrag von: Tommy82 am 23 Dezember 2018, 17:18:55
Hallo,
ich würde gerne das Popup Widget verwenden wenn ein Anruf reinkommt, das soll das PopUp automatisch auf Popen und den Namen und das Anruferbild anzeigen, allerdings bekomme ich das noch nicht umgesetzt,
ich habe es mal so versucht:

<!-- =========Anrufe PopUp================= -->
<!-- ====================================== -->

<div class="dialog">
        <header>Anruf</header>
        <div>Anruf</div>
    </div>
<div data-type="popup"
     data-device="Anruferliste"
     data-get-on="1-state"
data-states="<="
     data-get-off="off"
     data-height="50px"
     data-width="150px"
         data-get="1-number"
data-path="http://192.168.188.47:8085/fhem/www/tablet/Anrufe/"
data-suffix=".jpg">
   
</div>
Die Anruferliste kommt aus dem   FB_CALLLIST Modul unter dem data-path liegen die Anruferbilder
Allerdings fehlt mir noch das passende  data-get-off welches das PopUp schließt wenn das gespräch zu ende ist.

Hoffe ihr könnt mir da helfen.

Danke
Titel: Antw:PopUp Widget mit Telefonanruf
Beitrag von: Paul am 23 Dezember 2018, 19:06:19
Was soll data-states sein?

Wenn müßte es Data-get-on sein.
Titel: Antw:PopUp Widget mit Telefonanruf
Beitrag von: Tommy82 am 23 Dezember 2018, 19:51:06
data-get-on steht ja auch drin, mit dem entsprechenden reading, aber das reading kann ja verschiedene Werte haben, dafür data-states, so funktioniert es zumindest mit dem IMage Widged
Titel: Antw:PopUp Widget mit Telefonanruf
Beitrag von: Paul am 23 Dezember 2018, 20:03:37
data-get   Name des Readings, das den Trigger zum Öffnen des Popups liefert
data-get-on   Wert, bei dem das Popup geöffnet wird

In 1-number steht niemals 1-state
Titel: Antw:PopUp Widget mit Telefonanruf
Beitrag von: Tommy82 am 23 Dezember 2018, 20:08:33
Ok, hab es jetzt mal so abgeändert
<!-- =========Anrufe PopUp================= -->
<!-- ====================================== -->
<li data-row="5" data-col="1" data-sizex="3" data-sizey="3">
<div class="dialog">
        <header>Anruf</header>
        <div>Anruf</div>
    </div>
<div data-type="popup"
     data-device="Anruferliste"
data-get="1-state"
     data-get-on="<="
     data-get-off="off"
     data-height="50px"
     data-width="50px"
  data-get="1-number"
data-path="http://192.168.188.47:8085/fhem/www/tablet/Anrufe/"
data-suffix=".jpg">
   
</div>

</li>


Allerdings ist meine ganze FTUI Seite dann verschoben, und es kommt auch kein PopUp.
Im Broweser bekomme ich auch noch folgenden Fehler:
Error
widget_popup.js:185
TypeError: Cannot read property 'top' of undefined
Titel: Antw:PopUp Widget mit Telefonanruf
Beitrag von: Paul am 23 Dezember 2018, 20:21:30
Du musst dich schon entscheiden was in data-get stehen soll.

Und dann steht im Wiki auch noch:

Es muss ein <div class="dialog"> innerhalb des Widgets gefunden werden. Siehe #Struktur.
Titel: Antw:PopUp Widget mit Telefonanruf
Beitrag von: Tommy82 am 23 Dezember 2018, 20:41:47
Danke für deine Hinweise, damit hat es jetzt funktioniert:-)

<!-- =========Anrufe PopUp================= -->
<!-- ====================================== -->
<div data-type="popup"
     data-device="Anruferliste"
data-get="1-state"
     data-get-on="=> ((o))"
     data-get-off="=> X"
     data-height="500px"
     data-width="500px">
<div class="dialog">
        <header>Anruf</header>
           
<div data-type="image"
data-device="Anruferliste"
data-get="1-number"
data-path="http://192.168.188.47:8085/fhem/www/tablet/Anrufe/"
data-suffix=".jpg"
data-height="400px"
data-width="400px"></div>
 
<div data-type="label"
data-device="Anruferliste"
data-get="1-name"></div>
            <div data-type="label"
data-device="Anruferliste"
data-get="1-number"></div>
</div>
</div>
Titel: Antw:[GELÖST]PopUp Widget mit Telefonanruf
Beitrag von: Tommy82 am 02 Januar 2019, 20:50:21
Muss dann hier doch nochmal Nachfragen, da das PopUp nicht selbstständig schließt, die aktuelle definition sieht so aus:

Ich denke es liegt daran das ich beim "off" zwei Werte habe, da es zwei Staten geben kann wo das PopUp geschlossen werden soll, oder wie muss ich das lösen?

<!-- =========Anrufe PopUp================= -->
<!-- ====================================== -->
<div data-type="popup"
     data-device="Anruferliste"
data-get="1-state"
     data-get-on="=> ((o))"
     data-get-off='[=> X,=>]'
     data-height="500px"
     data-width="500px">
<div class="dialog">
        <header>Anruf</header>
           
<div data-type="image"
data-device="Anruferliste"
data-get="1-number"
data-path="http://192.168.188.47:8085/fhem/www/tablet/Anrufe/"
data-suffix=".jpg"
data-height="400px"
data-width="400px"></div>
 
<div data-type="label"
data-device="Anruferliste"
data-get="1-name"></div>
            <div data-type="label"
data-device="Anruferliste"
data-get="1-number"></div>
</div>
</div>


Danke
Titel: Antw:PopUp Widget mit Telefonanruf
Beitrag von: Tommy82 am 10 Januar 2019, 22:52:49
Hi, keiner eine Idee was ich falsch mache?


Gesendet von iPhone mit Tapatalk
Titel: Antw:PopUp Widget mit Telefonanruf
Beitrag von: OdfFhem am 11 Januar 2019, 04:51:23
Ausprobiert habe ich es nicht, aber als Array müsste data-get-off wahrscheinlich eher so aussehen:

data-get-off='["=> X","=>"]'


Alternativ könnte es aber vielleicht auch so funktionieren:

data-get-off="(=> X|=>)"


Das zugehörige Wiki schweigt sich derzeit noch aus, ob data-get-off neben einem einzelnen Wert auch ein Array bzw. einen regulären Ausdruck verarbeiten kann.
Titel: Antw:PopUp Widget mit Telefonanruf
Beitrag von: Tommy82 am 11 Januar 2019, 05:37:26
Hi,
danke für den Hinweis, werde die Varianten mal testen.
Titel: Antw:PopUp Widget mit Telefonanruf
Beitrag von: Sailor am 11 Januar 2019, 06:01:47
Moin zusammen,

auch ich habe Interesse an diesem Popup, allerdings mit einem kleinen Zusatzfeature: Ich möchte auch darüber telefonieren können.

Eine theoretische Open-Source Lösung gibt es ja schon:
https://www.doubango.org/sipml5/ (https://www.doubango.org/sipml5/)
https://sipjs.com/guides/make-call/ (https://sipjs.com/guides/make-call/)

Aber ich bekomme es einfach nicht gebacken...  :-[

Habt Ihr da mehr Fähigkeiten? *Hoffnung stirbt zuletzt

Gruss
    Sailor
Titel: Antw:PopUp Widget mit Telefonanruf
Beitrag von: roman1528 am 11 Januar 2019, 10:29:00
Moin.
Hier mal mein Anruf-PopUp. Zwar ohne Bild (kommt noch) aber vielleicht hilft es.
<div data-type="popup"
data-device="FritzBoxCallMonitor"
data-get="event"
data-get-on="(ring|call)"
data-get-off="disconnect"
data-mode="fade"
data-width="300"
data-height="300">
<div class="dialog" id="call">
<header>ANRUF</header>
<table>
<tr>
<td>
<div data-type="symbol"
data-device="FritzBoxCallMonitor"
data-get="event"
data-states='["ring","connect","call"]'
data-icons='["mi-ring_volume fa-blink","mi-phone_in_talk","mi-call fa-blink"]'
data-colors='["firebrick","#aa6900","#32a054"]'
class="bigger top-space">
</div>
</td>
<td>
<div data-type="symbol"
data-device="FritzBoxCallMonitor"
data-get="direction"
data-states='["incoming","outgoing"]'
data-icons='["mi-call_received","mi-call_made"]'
data-colors='["#0088CC","#0088CC"]'
class="bigger top-space">
</div>
</td>
</tr>
<tr>
<td colspan="2">
<div data-type="label"
data-device="FritzBoxCallMonitor"
data-get="external_number"
class="bigger top-space">
</div>
</td>
</tr>
<tr>
<td colspan="2">
<div data-type="label"
data-device="FritzBoxCallMonitor"
data-get="external_name"
class="bigger top-space">
</div>
</td>
</tr>
</table>
</div>
</div>


Grüße^^
Titel: Antw:PopUp Widget mit Telefonanruf
Beitrag von: roman1528 am 11 Januar 2019, 10:45:57
Zitat von: Sailor am 11 Januar 2019, 06:01:47
allerdings mit einem kleinen Zusatzfeature: Ich möchte auch darüber telefonieren können.

Das klingt sehr verlockend... habe ich nur leider keine Zeit zu im Moment.
Sollte ich das mal an's laufen bringen mach ich nen Thread auf^^

Grüße^^
Titel: Antw:PopUp Widget mit Telefonanruf
Beitrag von: Sailor am 11 Januar 2019, 10:52:43
Hallo Roman

Zitat von: roman1528 am 11 Januar 2019, 10:45:57
Das klingt sehr verlockend... habe ich nur leider keine Zeit zu im Moment.
Sollte ich das mal an's laufen bringen mach ich nen Thread auf^^


Super!!!  ;D

Gruss
    Sailor
Titel: Antw:PopUp Widget mit Telefonanruf
Beitrag von: Tommy82 am 13 Januar 2019, 19:25:29
Zitat von: OdfFhem am 11 Januar 2019, 04:51:23
Ausprobiert habe ich es nicht, aber als Array müsste data-get-off wahrscheinlich eher so aussehen:

data-get-off='["=> X","=>"]'


Alternativ könnte es aber vielleicht auch so funktionieren:

data-get-off="(=> X|=>)"


Das zugehörige Wiki schweigt sich derzeit noch aus, ob data-get-off neben einem einzelnen Wert auch ein Array bzw. einen regulären Ausdruck verarbeiten kann.

Funktioniert leider beides nicht
Titel: Antw:PopUp Widget mit Telefonanruf
Beitrag von: OdfFhem am 13 Januar 2019, 20:48:47
Ich habe es gerade mal selbst ausprobiert und folgende Variante funktioniert bei mir ohne Probleme:

<div data-type="popup"
  data-device="Anrufliste"
  data-get="1-state"
  data-get-on="=> ((o))"
  data-get-off="(=> X|=>)"
  data-height="500px"
  data-width="500px">
  <div class="dialog">
    .
    .
    .
  </div>
</div>


Bei einem eingehenden Anruf geht das Popup unmittelbar auf und nach dem Beenden des Gesprächs (angenommen bzw. verpasst) verschwindet das Popup wieder.

Es sieht also so aus, dass reguläre Ausdrücke verwendet werden können ...
Titel: Antw:PopUp Widget mit Telefonanruf
Beitrag von: Tommy82 am 13 Januar 2019, 20:59:10
Hast recht, damit funktioniert es jetzt.

Danke für die Hilfe
Titel: Antw:PopUp Widget mit Telefonanruf
Beitrag von: mmartinez am 12 Februar 2020, 15:38:32
Zitat von: Sailor am 11 Januar 2019, 06:01:47
Moin zusammen,

auch ich habe Interesse an diesem Popup, allerdings mit einem kleinen Zusatzfeature: Ich möchte auch darüber telefonieren können.

Eine theoretische Open-Source Lösung gibt es ja schon:
https://www.doubango.org/sipml5/ (https://www.doubango.org/sipml5/)
https://sipjs.com/guides/make-call/ (https://sipjs.com/guides/make-call/)

Aber ich bekomme es einfach nicht gebacken...  :-[

Habt Ihr da mehr Fähigkeiten? *Hoffnung stirbt zuletzt

Gruss
    Sailor

Habe auch nach intensiver Recherche NICHTS (realisiertes) gefunden.
Möchte über ein Popup, welches auf dem Wand-Tablet (FTUI) erscheint wenn ein "Klingelknopf" der 2N IP Verso gedrückt wird, das Gegensprechen ermöglichen. Ich denke dafür müsste in fhem eine SIP-SoftPhone Funktionalität implementiert werden. Anscheinend hat das noch niemand realisiert bzw. es ist einfach nicht möglich???

Beste Grüße in die Runde
Titel: Antw:[Gelöst]PopUp Widget mit Telefonanruf
Beitrag von: Tommy82 am 15 Februar 2020, 16:54:38
Vieleicht bringt dich das weiter?
https://wiki.fhem.de/wiki/SIP-Client
Titel: Antw:[Gelöst]PopUp Widget mit Telefonanruf
Beitrag von: Wzut am 15 Februar 2020, 17:55:55
@Tommy82, gute Idee wird aber mmartinez nicht zum Ziel führen da das SIP Modul kein Telefon ist.
Also entweder eine SIP Phone Andorid App benutzen oder warten bis pah seine Version der FHEM Türsprechstelle fertig hat :
https://forum.fhem.de/index.php/topic,105483.0.html 
Titel: Antw:[Gelöst]PopUp Widget mit Telefonanruf
Beitrag von: Sailor am 17 Februar 2020, 08:48:35
Zitat von: Wzut am 15 Februar 2020, 17:55:55
@Tommy82, gute Idee wird aber mmartinez nicht zum Ziel führen da das SIP Modul kein Telefon ist.
Also entweder eine SIP Phone Andorid App benutzen oder warten bis pah seine Version der FHEM Türsprechstelle fertig hat :
https://forum.fhem.de/index.php/topic,105483.0.html

Korrekt, aber auch PAHs Ansatz scheint darauf hinauszulaufen, den RasPi, auf dem der fhem-Server läuft auch gleichzeitig als SIP Telefon zu nutzen.

Aber das ist ja genau das, was wir nicht wollen: Wir wollen durch einen x-beliebigen Rechner aus per Browser telefonieren, welcher eben gerade nicht identisch ist mit dem Host für den fhem-Server.

Gruss
   Sailor
Titel: Antw:[Gelöst]PopUp Widget mit Telefonanruf
Beitrag von: mmartinez am 23 Februar 2020, 10:57:39
Ja, der Ansatz von PAH ist leider nicht die Lösung!
Die Lösung besteht aus einem Asterisk auf dem Raspberry und einem WebRTC-tauglichen Javascript SIP-Client den man im TUI-PopUp oder auf einer beliebigen html-Seite im Browser zum Gegensprechen verwenden würde.
Asterisk habe ich installiert und jetzt kann man mit diversen SoftPhone-Apps über Asterisk miteinander telefonieren. Dann haben wir es mit den Javascript SIP-Clients SIPML5 und ctxSIP versucht - leider ohne Erfolg.
Hat jemand Erfahrung mit Javascript SIP-Clients???

Titel: Antw:[Gelöst]PopUp Widget mit Telefonanruf
Beitrag von: tarum am 09 November 2022, 18:49:29
Hallo zusammen,

vielleicht ist hier ein guter Ansatz für das Themahttps://github.com/Bonze255/smarthomeNG_plugins/tree/master/doorbird