LaMetric - LED WLAN Anzeige

Begonnen von ceear, 05 Juli 2014, 00:46:48

Vorheriges Thema - Nächstes Thema

Merlin1

Zitat von: haus-automatisierung.com am 30 März 2017, 17:00:18
Hast Du ein System erkannt, wann welcher Buchstabe davor muss?!
Ich glaube immer ein "i" habs aus dem API Guide...

Merlin1

Zitat von: haus-automatisierung.com am 30 März 2017, 18:03:35
Die sind ja lustig, hier ist es a: http://lametric-documentation.readthedocs.io/en/latest/guides/first-steps/first-local-notification.html
und hier ist es i: http://lametric-documentation.readthedocs.io/en/latest/reference-docs/device-notifications.html
In der Tat ... das andere hatte ich nicht gesehen.
Das i scheint zumindest in meinen ersten Tests immer zu funktionieren.
Intern gibts da bestimmt einen Unterschied, vielleicht liegen die auf verschiedenen Servern. a,b,c gehen dann direkt und i über Balancer... Vielleicht sowas in der Art.

flolee

#17
wow, super - danke dir!!

also wie gesagt, die aktive app/widget ändern wäre super (um zb. nach dem wecker in der früh automatisch auf wetter/nachrichten zu stellen oder abends auf die night-app), evtl wäre es auch interessant die screensaver einstellung ändern zu können.
ich hab mir auch icon_type:none hardcoded in die .pm geschrieben, so wirkt es für mich etwas eleganter wenn man mehrere Nachrichten hintereinander schickt und diese nicht immer durch das "i" unterbrochen werden.

danke jedenfalls nochmal für die mühe :)

Airwesterhof

Guten Abend zusammen.

Jawoll ! Ich bin total begeistert und habe schon lange nach einer einfachen Möglichkeit gesucht, von FHEM Texte auf meine Lametric zu senden. Freitext (nach Anleitung) gelingt mir natürlich schon. Als blutiger Anfänger versuche ich mich jetzt der Aufgabe zu stellen, den Wert eines Readings ausgeben zu können...
Wünsche einen schönen Wochenanfang.

Gruß, Marc.

FHEM 5.8 auf RasPI 3 mit CUL 868MHz, CUL 433 MHZ, LaMetric, Sonos,

fabschub

#19
Zitat von: haus-automatisierung.com am 30 März 2017, 17:00:18
Hast Du ein System erkannt, wann welcher Buchstabe davor muss?!

Ein i für die unbewegten und ein a für die animierten Icons. So war zumindest mein Stand, allerdings finde ich nicht mehr, wo ich das aufgeschnappt habe.

Mit dem Modul ist die Verbindung nur über den unverschlüsselten Port (8080) möglich. 4343 funktioniert bei mir nicht. Mit curl kann ich auch verschlüsselt eine Notification senden (mittels --insecure). Vielleicht könnte das Modul diesbezüglich erweitert werden.

Viel interessanter als das Senden von Notifications finde ich eine eigenständige App auf der Uhr, welche mir die Außen- und Raumtemperaturen nebst aktuellem Spritpreis der nächstgelegenen Tankstelle in Rotation mit den anderen von mir auf der Uhr eingestellten Apps ausgibt. Hierzu habe ich mir eine Indicator-App auf developer.lametric.com zusammengeschustert, welche auf ein mittels Subroutine generiertes Json-File zugreift. Das File wird auf einem Apache abgelegt, da ich es nicht mit dem Modul HTTPSRV hinbekommen habe (nicht großartig weiter verfolgt). Vielleicht könnte sich das Modul auch noch in diese Richtung entwickeln?

a13xde

#20
Zitat von: flolee am 01 April 2017, 00:58:28
wow, super - danke dir!!

also wie gesagt, die aktive app/widget ändern wäre super (um zb. nach dem wecker in der früh automatisch auf wetter/nachrichten zu stellen oder abends auf die night-app), evtl wäre es auch interessant die screensaver einstellung ändern zu können.
ich hab mir auch icon_type:none hardcoded in die .pm geschrieben, so wirkt es für mich etwas eleganter wenn man mehrere Nachrichten hintereinander schickt und diese nicht immer durch das "i" unterbrochen werden.

danke jedenfalls nochmal für die mühe :)

Hallo flolee,

wie hast du das mit dem "icon_type:none" in der 70_LaMetric.pm denn genau gemacht ? Hätte da auch Interesse ;D

PS: Auch ich würde mich über die Möglichkeit freuen die aktive App wechseln zu können !

EDIT: OK, habe es jetzt in der Funktion LaMetric_SetMessage im $body hinzugefügt und es funktioniert, falls es aber eine bessere Möglichkeit gibt immer her damit :)

Viele Grüße

a13xde

Thyraz

Hi,

da ich im Moment überlege mit so ein Gerät zuzulegen mal ein paar Fragen an die Besitzer. :)

Sounds kann man ja scheinbar keine eigenen abspielen bisher, aber wie ist das mit Icons?
Kann man statische und animierte Icons für Notifications selbst erstellen?

Wie läuft das ab wenn eine Notification ankommt: Bleibt die auf dem Display bis man das irgendwie am Gerät bestätigt,
oder verschwindet die nach einer (konfigurierbaren?) Zeit wieder?

Eine eigene FHEM App wäre sicher auch interessant, aber da stellt sich die Frage,
ob man eine App über die API dann auch in den Vordergrund bringen kann.
Ansonsten ist eine Notification ja wahrscheinlich doch zielführender, auch wenn eine App sicher noch mehr Spielereien erlauben würde.
Fhem und MariaDB auf NUC6i5SYH in Proxmox Container (Ubuntu)
Zwave, Conbee II, Hue, Harmony, Solo4k, LaMetric, Echo, Sonos, Roborock S5, Nuki, Prusa Mini, Doorbird, ...

Thyraz

Ok, hab mich mal ein wenig auf deren Seite eingelesen und beantworte mal meine Fragen falls sie noch jemand interessieren. ;)

Eigene Icons (auch animierte) können erstellt werden.

Der Thread hier beantwortet, dass man an sich eine Indicator App erstellen könnte, welche auch auf Button Events am Gerät reagiert (Antwort auf Frage Nr. 7):
http://help.lametric.com/support/discussions/topics/6000017895

Die aktive App über die API zu wechseln scheint auch möglich zu sein mittlerweile:
http://help.lametric.com/support/discussions/topics/6000017826

Man könnte also durchaus eine Info anzeigen lassen, bis sie bestätigt ist.

Fhem und MariaDB auf NUC6i5SYH in Proxmox Container (Ubuntu)
Zwave, Conbee II, Hue, Harmony, Solo4k, LaMetric, Echo, Sonos, Roborock S5, Nuki, Prusa Mini, Doorbird, ...

Thyraz

#23
Heute dürfte meine LaMetric Time ankommen. :)

Hab noch ein wenig weiter in der API Reference gestöbert.
Den Umweg über eine Indicator App statt Notifications ist wohl doch nicht nötig.

Man kann Notifications so abschicken, dass sie dauerhaft dargestellt werden,
bis man sie am Gerät bestätigt, oder über die API aus der Notification Queue löscht.

Zitat
cycles – the number of times message should be displayed. If cycles is set to 0, notification will stay on the screen until user dismisses it manually or you can dismiss it via the API (DELETE /api/v2/device/notifications/:id). By default it is set to 1.
http://lametric-documentation.readthedocs.io/en/latest/reference-docs/device-notifications.html

Den Befehl um ein optionales 4. Argument zu erweitern, welches den Cycle-Count übergibt dürfte schnell erledigt sein.

Was aber auch noch ein cooles Feature wäre:
Einer Cycle=0 Message einen Cancel-Identifier mitgeben zu können um die Notification dann über FHEM wieder löschen zu können, alterativ zum Tastendruck an der LaMetric.
Dazu müsste das Modul sich intern einen Hash bilden um die Cancel-Identifer den Response-IDs zuzuordnen, welche LaMetric als Antwort auf den Msg Befehl zurückliefert.

Darüber könnte man dann über einen cancelMsg Befehl mit dem Identifier die Notification wieder vom Display der LaMetric fernlöschen.

Ein Beispiel wo ich sowas gern nutzen würde:

Wenn die Waschmaschine oder der Trockner fertig ist, soll das Dauerhaft angezeigt werden.
Damit man es auch später sieht, falls man bei der Notification gerade nicht im Raum war.
Das immer am Gerät zu bestätigen ist aber auf Dauer auch nervig.

Da ich aber sowieso in die Waschküche muss für die Wäsche, kann ich an sich die Nachricht auch löschen lassen wenn der Türkontakt dort öffnet.
Da die Tür immer zu ist wenn eine Maschine läuft (Lärm) sollte das so problemlos funktionieren.
Fhem und MariaDB auf NUC6i5SYH in Proxmox Container (Ubuntu)
Zwave, Conbee II, Hue, Harmony, Solo4k, LaMetric, Echo, Sonos, Roborock S5, Nuki, Prusa Mini, Doorbird, ...

Thyraz

#24
Ich hab mir das Modul mal erweitert, dass man mit zwei weiteren Parametern die Wiederholungen des Sounds, sowie die Wiederholungen der Nachrichtenanzeige übergeben kann.

Das entspricht den API Keys "repeat" und "cycle".

Die Doku im Modul ist nicht angepasst, daher hier kurz ein paar Beispiele:

// Ton wird 3x wiederholt, Text läuft 2x durchs Display
set lametric msg 'i2448' 'Testnachricht ...' 'notifications:notification2' '3' '2'

// Parameter am Ende können weggelassen werden, Parameter dazwischen können als Leerstrings übergeben werden für Standardverhalten
set lametric msg 'i2448' 'Testnachricht ...'
set lametric msg 'i2448' 'Testnachricht ...' '' '' '2'


Ein Sonderfall ist noch wenn man cycles (Wiederholung der Textnachricht) auf 0 setzt.
Dann läuft der Text so lange durch, bis er dismissed ist.

Habe aber noch nicht rausbekommen, wie man so eine Nachricht direkt an der Uhr dismissed.
Evtl. bekommt es ja jemand anders raus? ;)

Über die API wird man solche Nachrichten auf alle Fälle canceln können, das ist in der angehängten Datei aber noch nicht implementiert.
Fhem und MariaDB auf NUC6i5SYH in Proxmox Container (Ubuntu)
Zwave, Conbee II, Hue, Harmony, Solo4k, LaMetric, Echo, Sonos, Roborock S5, Nuki, Prusa Mini, Doorbird, ...

Thyraz

Hi, danke für die neue Version.

War mit meinem Umbau zwecks Notification Queue wie gestern per Mail geschrieben schon recht weit,
aber du hast recht es macht mehr Sinn das per Pull Request abzufertigen.

Werde mich die Tage nochmal hinsetzen und mir deine neue Version genauer anschauen und wie ich das dann am Besten integriere.

Grüße,
Tobias
Fhem und MariaDB auf NUC6i5SYH in Proxmox Container (Ubuntu)
Zwave, Conbee II, Hue, Harmony, Solo4k, LaMetric, Echo, Sonos, Roborock S5, Nuki, Prusa Mini, Doorbird, ...

olindner

Moin, erstmal vielen Dank für das neue Modul :) habe gestern mein LaMetric auch eingebunden, hat problemlos nach Anleitung funktioniert ... perfekt.
Nun wollte ich die Neuerungen ausprobieren ...
2017.05.03 09:38:08 1: lametric
2017.05.03 09:38:09 1: UPD FHEM/70_LaMetric.pm
2017.05.03 09:38:09 1: Got 26308 bytes for FHEM/70_LaMetric.pm, expected 24855
2017.05.03 09:38:09 1: aborting.


und scheitere beim update. Mach ich was verkehrt?

Danke und viele Grüße Olaf

Thyraz

@olinder habe das Update direkt über Github bisher noch nicht probiert.
Notfalls die Datei direkt von der Github Seite runterladen und händisch ins FHEM Verzeichnis kopieren.

@Matthias:
Bin gerade am überlegen wie man die Cycle=0 Notifications in der Syntax am Besten umsetzt um sie über FHEM dann wieder beenden zu können.

Eine Idee wäre, dass das Modul bei Zahlenwerten das ganze als cycles übergibt.
Wird dem Modul als Cycles hingegen ein Text übergeben, wird dies als CancelID interpretiert.
Mit der CancelID kann man dann die Nachricht wieder von der LaMetric löschen:

Beispiel:

# Text wird 3 mal angezeigt
set lametric msg "" "Test" "" "" "3"

# Text wird dauerhaft angezeigt bis er quittiert wird (am Gerät oder über FHEM)
set lametric msg "" "Test" "" "" "testID"

# Text über FHEM quittieren
set lametric msgCancel "testID"


So wird nicht noch ein weiterer Parameter an die lange Liste angehängt und man löst gleich das Problem,
dass cycles > 0 und die Angabe einer CancelID wenig Sinn macht.

Klingt das gut so?
Fhem und MariaDB auf NUC6i5SYH in Proxmox Container (Ubuntu)
Zwave, Conbee II, Hue, Harmony, Solo4k, LaMetric, Echo, Sonos, Roborock S5, Nuki, Prusa Mini, Doorbird, ...

Thyraz

#28
Ich glaube da haben wir aneinander vorbei geredet.
Zum Löschen soll natürlich ein extra Befehl verwendet werden (hatte ich analog zum PushOver Modul "msgCancel" genannt).
Der Cancel Identifer wird schon beim Senden angegeben, weil man die Nachricht wie du schon sagst ja wieder identifizieren muss.

Hier nochmal ausführlicher:

# Eine Notification, welche nicht permanent angezeigt werden soll wird ohne Cycle Count, oder mit einem Zahlenwert als Cycle Count erzeugt
set lametric msg "" "Test"
set lametric msg "" "Test" "" "" "3"

# Eine Notification welche hingegen dauerhaft angezeigt werden soll, erhält statt einer Zahl einen Identifier über den man wieder abbrechen kann. Intern mal als "cancelID" bezeichnet.
set lametric msg "" "Test" "" "" "testID"

#Mit diesem Identifer kann ich die Notification dann mit dem msgCancel Befehl vom Device löschen:
set lametric msgCancel "testID"


Welcher modulinterne Identifier zu welcher geräteinternen Notification ID gehört hab ich im Geräte-Hash gepflegt.

$hash->{helper}{cancelIDs}

Key ist der Cancel Identifer, Wert die NotificationID aus dem Response JSON der Lametric.

Ein "deleteAllMessages" wäre aber dadurch natürlich zusätzlich auch noch geschickt.


edit: Was man dazu braucht, ist der Zugriff im HTTP Callback auf die CancelID.
Dazu hab ich dem SendCommand noch einen zusätzlichen, optionalen Parameter "info" hinzugefügt.
Das ist eine Hash-Ref die zusätzliche Informationen an den Callback übergeben kann.
Über httpMethod und service bekommt man im Callback ja heraus welcher Befehl den Request geschickt hat.
Entsprechend weiß man dann auch was man aus dem info Hash-Ref ziehen muss.

Commit kommt bald in meinem Fork.
Fhem und MariaDB auf NUC6i5SYH in Proxmox Container (Ubuntu)
Zwave, Conbee II, Hue, Harmony, Solo4k, LaMetric, Echo, Sonos, Roborock S5, Nuki, Prusa Mini, Doorbird, ...

Thyraz

Ok, die zwei Commits:
- Possibility to pass additional info to HTTP callback
- Send / cancel sticky notifications
https://github.com/Thyraz/fhem-lametric/commits/sticky-notifications

erlauben mal das Senden und Löschen von "Sticky" Notifications über FHEM.

Was dem Ganzen zum produktiven Einsatz noch fehlt,
ist eine Funktion, welche die aktuelle Notification Queue vom Gerät abfragt und mit der internen Liste in $hash->{helper}{cancelIDs} abgleicht.
Sonst bleiben dort Karteileichen übrig wenn man die Notifications über den mittleren Button am Gerät quittiert.

Denke da sollte ich später noch dazu kommen.
Fhem und MariaDB auf NUC6i5SYH in Proxmox Container (Ubuntu)
Zwave, Conbee II, Hue, Harmony, Solo4k, LaMetric, Echo, Sonos, Roborock S5, Nuki, Prusa Mini, Doorbird, ...