neues modul 37_NotifyAndroidTV.pm

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

Vorheriges Thema - Nächstes Thema

justme1968

sorry. habs repariert. ab morgen im update.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Schlimbo

Danke für die schnelle Umsetzung. Habe gerade die Image Funktion getestet.
Anscheinend gehen relative Pfade noch nicht:
set <name> image=./www/snapshots/Cam_snapshot.jpg Test Image
Als Fehlermeldung bekomme ich:
Zitatimage not found: ./www/images/default/./www/snapshots/Cam_snapshot.jpg

Auch ist es nicht möglich ein Image ohne Text zu versenden:
set <name>  image=/opt/fhem/www/snapshots/Cam_snapshot.jpg
hier bekomme ich
Zitatusage: set notifyShieldTV msg [bkgcolor=amber|black|cyan|green|grey|indigo|pink|red|teal] [duration=<duration>] [icon=<icon>] [image=<image>] [imageurl=<imageurl>] [interrupt=false|true] [offset=<offset>] [offsety=<offsety>] [position=bottom-left|bottom-right|center|top-left|top-right] [title=<title>] [transparency=0%|100%|25%|50%|75%|default] [type=complete|icononly|nameonly|noicon|short|titleonly] [width=default|extrawide|narrow|small|wide] <message>

Könntest du da noch was machen?

Zu den Type Parameter "noicon", dies sollte besser zu "noimage" umbenannt werden, da er in der APP auch mit "Title and details without image" beschrieben ist.

Es gibt auch die Möglichkeit Nachrichten dauerhaft anzuzeigen (duration: Unlimited) Diese Nachrichten verschwinden auf dem TV Gerät erst bei Betätigung der Fernbedienung.
Hierzu ist es nötig duration auf 15 zu setzen und gleichzeitig interrupt auf true:
set <name> interrupt=1 duration=15 Diese Nachricht wird dauerhaft angezeigt

Schlimbo

Meine Teste haben ergeben, der einzige Parameter der zwingend benötigt wird ist "icon", dieser kann jedoch auch entfallen, wenn stattdessen ein "image" oder "imageurl" Parameter vorhanden ist.

Schlimbo

Fände es auch super, wenn es die Möglichkeit gäbe, über Attribute, default Parameter einzustellen, die dann verwendet werden, wenn die Parameter beim "set" nicht explizit gesetzt wurden.

justme1968

relative pfade waren bisher immer relativ zu $FW_icondir/default. d.h. dein relativer pfad hätte ../../... sein müssen. ich habe aber die automatische ergänzung für image jetzt komplett rausgenommen.

die prüfung auf pflicht parameter habe ich jetzt auf  !msg && !image &&!imageurl  umgestellt. die prüfung ist weniger um tatsächlich zu prüfen als viel mehr um auf die schnelle den usage text zum spicken bekommen.

ist bei "Title and details without image" wirklich das bild gemeint oder doch nur das kleine icon? ein bild wird doch sowieso nur gezeigt wenn man es explizit setzt.

für duration sind aktuell keine erlaubten werte hinterlegt. d.h. es ist alles möglich und man müsste es nur dokumentieren. wenn ich Unlimited hinterlege muss ich auch alle anderen möglichen werte hinterlegen. das wird unhandlich. wie macht die app das welche werte sind erlaubt?

die default attribute waren schon drin, aber noch deaktiviert weil mir das aktuelle namensschema nicht gefällt. ich habe es jetzt aber mal freigeschaltet. ich werde aber vermutlich die benennung nochmal ändern sobald mit etwas besseres einfällt.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Schlimbo

#35
Zitat von: justme1968 am 07 Februar 2018, 22:59:46
die prüfung auf pflicht parameter habe ich jetzt auf  !msg && !image &&!imageurl  umgestellt. die prüfung ist weniger um tatsächlich zu prüfen als viel mehr um auf die schnelle den usage text zum spicken bekommen.
Könntest du da noch icon mit aufnehmen, damit Type: "icononly" funktioniert.
Zitat von: justme1968 am 07 Februar 2018, 22:59:46
ist bei "Title and details without image" wirklich das bild gemeint oder doch nur das kleine icon? ein bild wird doch sowieso nur gezeigt wenn man es explizit setzt.
So sehe ich es zumindest aus der APP Beschreibung, auch bei der Test Message aus der APP heraus wird bei Type4 das icon angezeigt, allerdings finde ich die Type Funktion sowieso etwas seltsam in der APP umgesetzt, wie ich schon bei meinem vorherigen Post beschrieben habe, reicht es nicht nur den Type zu setzen. Wird der Type zum Beispiel auf "titleonly" gesetzt und ich sende auch einen "msg" Parameter mit, wird auf dem TV trotzdem beides angezeigt. Type passt anscheinend nur die Fenster Form für die Nachricht an um die Parameter muss man sich aber noch selbst kümmern.
Zitat von: justme1968 am 07 Februar 2018, 22:59:46
für duration sind aktuell keine erlaubten werte hinterlegt. d.h. es ist alles möglich und man müsste es nur dokumentieren. wenn ich Unlimited hinterlege muss ich auch alle anderen möglichen werte hinterlegen. das wird unhandlich. wie macht die app das welche werte sind erlaubt?
In der App kann ein Wert von 0-14 oder "Unlimited(only interaction mode)" ausgewählt werden, wobei Unlimited im Telegramm mit duration=15 übertragen wird.
Es funktionieren für die Anzeigedauer aber generell auch Werte größer 15s
Würde deshalb die frei Eingabe für diesen Parameter im Modul auch so lassen, du könntest ja auf "duration=unlimited" im Modul reagieren und es dann in "interrupt=1 duration=15" umwandeln.

Schlimbo

Beim "set" wird ein Leerzeichen ja als Trennzeichen zwischen den Parametern verwendet,
gibt es trotzdem die möglich als Titel mehrere Wörter Anzugeben (inkl Leerzeichen)?

Laserhelge

Hi Schlimbo,

ich hab es so gelöst, dass ich den Titel vorher in eine Variable gespeichert habe

   z.B.   $title = "Anruf".chr(20)."(privat)";

und diese dann beim set verwende.

Wie man bei dem Beispiel schon sieht, muss man als Leerzeichen ein chr(20) verwenden, sonst funktioniert es nicht.
FHEM auf Raspberry 4 / CUL / KNX / Loxone Miniserver

justme1968

einfach im set anführungszeichen verwenden.

set <name> msg title="test titel" test

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Schlimbo

Danke für die Info, werde ich heute abend mal ausprobieren.

Zitat von: justme1968 am 07 Februar 2018, 22:59:46
die prüfung ist weniger um tatsächlich zu prüfen als viel mehr um auf die schnelle den usage text zum spicken bekommen.
Könntest du den Spickzettel auch noch in die Commandref aufnehmen?
Find es einfacher in der Commandref zu schauen, als einen set mit ungültigen Wert abzufeuern.

justme1968

ich habe icon auch noch in die parameter prüfung aufgenommen und duration=unlimited eingebaut.

zur commandref: die möglichen parameter stehen ja schon drin. die werte selber auch noch einzutragen ist irgendwie blöd weil die immer von hand gepflegt werden müssen. der hilfe text wird automatisch erzeugt und passt immer zu den wirklich im code verwendeten werten.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

cpet

Ich bekomme jetzt als Ausgabe :

$VAR1 = {
          'offset' => 0,
          'offsety' => 0,
          'transparency' => '0%'
        };


wenn ich einen set Befehl ausführe
RPI 3 mit 1x SCC 868MHz für FS20; 1x SCC 433MHz SlowRF; 1x SCC 868MHz Homematic;
Rollladen-/Markisensteuerung, Fußboden-Heizungssteuerung 
diverse Licht-/Schaltungssteuerungen
ALEXA-Integration;
Statusmeldungen über  Fernseher

justme1968

kann es sein das deine version nicht aktuell ist?
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

cpet

#43
Sollte die neueste sein, außer es wurde heute über Update nicht die neueste verteilt  ;)

# $Id: 37_NotifyAndroidTV.pm 16111 2018-02-07 21:55:48Z justme1968 $

steht in der obersten Zeile des Moduls
RPI 3 mit 1x SCC 868MHz für FS20; 1x SCC 433MHz SlowRF; 1x SCC 868MHz Homematic;
Rollladen-/Markisensteuerung, Fußboden-Heizungssteuerung 
diverse Licht-/Schaltungssteuerungen
ALEXA-Integration;
Statusmeldungen über  Fernseher

justme1968

die neueste ist# $Id: 37_NotifyAndroidTV.pm 16114 2018-02-08 07:47:08Z justme1968 $

da ist der fix drin. war scheinbar ein paar minuten zu spät für den update heute.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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