neues modul 37_NotifyAndroidTV.pm

Begonnen von justme1968, 20 Januar 2018, 23:32:06

Vorheriges Thema - Nächstes Thema

justme1968

anbei die erste version eines moduls um nachrichten an android tv geräte zu senden. dazu muss auf dem gerät die Notifications for Android TV installiert sein.

verwendung: define <name> NotifyAndroidTV <host>
set <name> msg [options] <message>


die options sind alle optional :). mögliche options sind: bkgcolor, interrupt, position, transparency, duration, offset, icon, title.

mit set <name> msglassen sich die möglichen werte für die optionen anzeigen.

ein aufruf mit allen möglichen optionen könnte so aussehen:set nb msg bkgcolor=amber interrupt=true position=top-left transparency=0% duration=2 offset=10 icon=fhemicon title="der titel" das ist ein test

wenn es ein paar anwender gibt checke ich das modul regulär ein.

gruss
  andre

edit 2018-01-21: crash bei nicht erreichbarem gerät behoben

edit 2018-01-26: das modul ist jetzt offiziell eingecheckt
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

willibutz

Hallo Andre,
geht gut, also ich werde es verwenden, danke

LG willibutz

Laserhelge

Funktioniert prima. Auf so was habe ich schon lange gewartet.

Vielen Dank!!!
FHEM auf Raspberry 4 / CUL / KNX / Loxone Miniserver

vuffiraa

Kaum äußert man den Wunsch nach einem Modul, ist es auch schon da  ;)

Vielen Dank!
Vuffiraa
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

vuffiraa

Hallo Andre,

wenn der Anfang erst mal gemacht ist, sind die ersten Ergänzungen so einfach  ;)

Wenn ich dich unterstützen darf, mache ich mal den Vorschlag, die Default-Optionen in die Internals auszulagern und dort per entsprechende Sets zu modifizieren. Damit kann man dann die Optionen anpassen und muss sie so nicht bei jeder Nachricht mitschicken.

Anbei das passende Diff.

Gruß Ulf
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

ekur

Als Rückmeldung der Funktion:
Funktioniert einwandfrei mit einem Sony KD-43XE8005.
FHEM 5.8 auf Intel NUC, Visualisierung TabletUI auf Lenovo Tab10, Datenlogging MySQL
CUL_HM  HM-CC-RT-DN, HM-RC, HM-LC-BL1-FM, HM-PBI-4-FM, HM-SEC-SD, HM-SEC-SCo
ZWave
OWDevice:DS1420,DS18B20 an Intel NUC

justme1968

@vuffiraa: ich hatte mir auch schon überlegt das über ein paar attribute zu machen. dann überlebt es auch einen neustart.

die drei defaults die aktuell fest eingebaut sind waren nur die die zwingend nötig sind weil sich die app scheinbar diese drei werte merkt und keine eingebauten defaults hat. d.h. wenn man sie nicht setzt werde die werte vom letzten aufruf genommen. und das kann schief gehen wenn z.b. der offset aus dem letzten aufruf nicht zur position aus dem neuen aufruf passt. das hat mich zwischendurch einige zeit gekostet weil meine nachrichten nicht mehr sichtbar waren :)

ich baue für das nächste update etwas ein.


ach ja: hat jemand eigentlich die app fürs handy und kann mal mitschneiden was da alles möglich ist? dinge die mir nicht klar sind:
- kann man auch die vordergrund farbe setzen?
- funktioniert der offset wirklich so? d.h. nur in eine richtung? ich hatte weder mit negativen werten wirklich erfolg, noch scheint ein vertikales verschieben zu gehen
- wie funktioniert das senden von bildern das im google appstore beschrieben ist? ich vermute damit ist nicht das icon gemeint. man kann zwar auch problemlos recht grosse jpg bilder schicken aber als icon sind die so klein das man nichts mehr erkennen kann. das kann also nicht die dort erwähnte funktionalität sein.
- kann die app text mit zeilenumbrüche senden? wenn ja: wie wird das codiert?
- wie funktioniert das mit dem type aus der appstore beschreibung?
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Schnurpi

Hallo Andre,
wie cool ist das denn??  8) Hab es auf einem Philips-TV getestet, funktioniert super!
Setze es gleich ein, um zusätzlich zur akustischen Erinnerung einen Text zu senden, falls vergesen wurde, nach dem Lüften das Fenster zu schließen.

Vielen Dank!

Gruß Maik

vuffiraa

Zitat von: justme1968 am 21 Januar 2018, 14:31:16
@vuffiraa: ich hatte mir auch schon überlegt das über ein paar attribute zu machen. dann überlebt es auch einen neustart.

die drei defaults die aktuell fest eingebaut sind waren nur die die zwingend nötig sind weil sich die app scheinbar diese drei werte merkt und keine eingebauten defaults hat. d.h. wenn man sie nicht setzt werde die werte vom letzten aufruf genommen. und das kann schief gehen wenn z.b. der offset aus dem letzten aufruf nicht zur position aus dem neuen aufruf passt. das hat mich zwischendurch einige zeit gekostet weil meine nachrichten nicht mehr sichtbar waren :)

ich baue für das nächste update etwas ein.
Das mit dem Neustart ist ein gutes Argument. Bei Attributen habe ich aber immer das Problem, dass die Liste der verfügbaren Attributnamen immer schon so lang ist und man den Überblick verliert, welche nun gerätespezifisch sind. Readings sind die Optionen natürlich auch nicht. Internals passen ganz gut, gehen aber dann verloren. Als Hack könnte man unsichtbare Readings nehmen und damit dann Internals füllen...

Zitatach ja: hat jemand eigentlich die app fürs handy und kann mal mitschneiden was da alles möglich ist? dinge die mir nicht klar sind:
- kann man auch die vordergrund farbe setzen?
- funktioniert der offset wirklich so? d.h. nur in eine richtung? ich hatte weder mit negativen werten wirklich erfolg, noch scheint ein vertikales verschieben zu gehen
- wie funktioniert das senden von bildern das im google appstore beschrieben ist? ich vermute damit ist nicht das icon gemeint. man kann zwar auch problemlos recht grosse jpg bilder schicken aber als icon sind die so klein das man nichts mehr erkennen kann. das kann also nicht die dort erwähnte funktionalität sein.
- kann die app text mit zeilenumbrüche senden? wenn ja: wie wird das codiert?
- wie funktioniert das mit dem type aus der appstore beschreibung?
- Zur Vordergrundfarbe habe ich nichts gefunden.
- Bei offset gibt es noch ein passendes offsety.
- Bilder werden über die Option imageurl gesendet. Dazu passend gibt es auch noch iconurl.
- Zeilenumbrüche werden als <br> übertragen.
- Option type unterstützt die Werte 0 bis 5. Soweit ich das sehen, bestimmt man damit die Größe der Box.

Gruß Ulf
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

Schnurpi

Ich habe gerade versucht eine Nachricht zu senden, wenn das TV-Gerät ausgeschaltet ist. Daraufhin verabschiedert sich FHEM und es hilft nur noch ein Reboot.

Fehlermeldung im Log:
Can't use an undefined value as a subroutine reference at FHEM/HttpUtils.pm line 857, <FH> line 1.


justme1968

#10
@vuffiraa: sehr geil :)

imageurl funktioniert einfach. beim klingeln kommt jetzt nicht nur eine nachricht sondern gleich ein schnappschuss von der cam mit. sehr cool.

funktionieren bei den offsets bei dir auch negative werte?

@Schnurpi: ist in der nächsten version repariert.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

justme1968

@Schnurpi: ich habe ganz oben eine version angehängt bei der der absturz behoben ist.

den imageurl parameter kann man übrigens einfach so verwenden. auch wenn er noch nicht explizit eingebaut ist:set <name> msg imageurl=http://<fhem ip>:8083/fhem/snapshots/test.jpg das ist ein schnappschuss

auch <br> im text sollte gehen. die neue version ersetzt jetzt auch \n durch <br>
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

vuffiraa

Zitat von: justme1968 am 21 Januar 2018, 18:56:43
funktionieren bei den offsets bei dir auch negative werte?

Testzyklus:
curl -F "filename=@decoded.png" -F "title=Titel" -F "msg=Meldung" -F "offset=0" http://192.168.2.43:7676
Box rechts unten
curl -F "filename=@decoded.png" -F "title=Titel" -F "msg=Meldung" -F "offset=10" http://192.168.2.43:7676
Box ungefähr in der Mitte unten
curl -F "filename=@decoded.png" -F "title=Titel" -F "msg=Meldung" -F "offset=-10" http://192.168.2.43:7676
Box ganz rechts am Rand

curl -F "filename=@decoded.png" -F "title=Titel" -F "msg=Meldung" -F "offset=0" -F "position=1" http://192.168.2.43:7676
Box links unten
curl -F "filename=@decoded.png" -F "title=Titel" -F "msg=Meldung" -F "offset=10" -F "position=1" http://192.168.2.43:7676
Box ungefähr in der Mitte unten
curl -F "filename=@decoded.png" -F "title=Titel" -F "msg=Meldung" -F "offset=-10" -F "position=1" http://192.168.2.43:7676
Box ganz links am Rand

Die Offset-Werte scheinen abhängig von der Position interpretiert zu werden.

Gruß Ulf
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

Schnurpi


isdnbus

Hallo das Modul funktionierte vor 2 Tagen wie beschrieben.

Seit heute erhalte ich die folgende Fehlermeldung wenn ich der Message duration=20 voranstelle

error:
duration value must be one of:

Eine ganz normale Textnachricht wird korrekt dargestellt.

Bei
set <name> msg bkgcolor=amber interrupt=true position=top-left transparency=0% duration=2 offset=10 icon=fhemicon title="der titel" das ist ein test

gibt´s folgende Meldung:

error:
icon value must be one of:
duration value must be one of:
title value must be one of:
offset value must be one of: