[Neues Modul] 70_LaMetric2.pm für LaMetric Smart Clock

Begonnen von Loredo, 01 Dezember 2018, 18:40:25

Vorheriges Thema - Nächstes Thema

Thyraz

#30
Kleiner Tip falls jemand an die Original Icons ran muss:

Einfach im Browser die URL nach dem Schema aufbauen:

https://developer.lametric.com/content/apps/icon_thumbs/34.png
https://developer.lametric.com/content/apps/icon_thumbs/87.gif


Die Icon Nummer einfach ohne "a" bzw. "i" davor verwenden.

Damit kann man vorhandene Icons runterladen und editieren bzw. einfach in base64 umwandeln womit sie auch offline verfügbar sind.
Außerdem muss man soweit ich weiß die Variante verwenden, wenn man Icons für die IUhranzeige festlegen will wie in der Commandref beschrieben:


set lametric app clock clockface icon='data:image/png;;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAOklEQVQYlWNUVFBgwAeYcEncv//gP04FMEmsCmCSiooKjHAFMEF0SRQTsEnCFcAE0SUZGBgYGAl5EwA+6RhuHb9bggAAAABJRU5ErkJggg=='


Ich verwende das z.B. um nach einer einmaligen Notification mit Sound und Text bei bestimmten Erinnerungen das Icon weiter in der Uhranzeige darzustellen.

Zum Beispiel das Waschmaschinen-Icon wenn die Wäsche fertig ist, oder ein Fenster-Icon wenn Fenster schon länger geöffnet sind und es draußen kalt ist.
Das Icon wird dann eben wieder aus der Uhranzeige gelöscht, sobald die Waschmaschine ausgeschaltet / neu gestartet oder das Fenster geschlossen wird.
Fhem und MariaDB auf NUC6i5SYH in Proxmox Container (Ubuntu)
Zwave, Conbee II, Hue, Harmony, Solo4k, LaMetric, Echo, Sonos, Roborock S5, Nuki, Prusa Mini, Doorbird, ...

wolfram

Hallo Thyraz,

das ist ne klasse Idee mit dem Icon!
Hast du vielleicht ein Beispiel-Notify/DoIf wie Du das gelöst hast? Ich würde das auch gern so einbauen.

Viele Grüße
wolf

siggi85

Nutze das Modul auch seit gestern mit meiner neuen Lametric. Danke dafür! :)

Aber kann es sein, dass man mit dem Modul noch keine Channels mitgeben kann, falls man eine private App mit mehreren Channels kreiert hat? Habe bisher nicht geschafft einzelne Channel unterschiedlichen mit Informationen zu bestücken.

Loredo

#33
Wie hast du die private App erstellt?
Apps bestehen eigentlich aus einem oder mehreren Frames, ich kenne keine Methode, die "Channel" heißt.

Zwei Beispiele für mehrere Frames findest du in der CommandRef:


set lametric app MyPrivateFHEMapp push token=ASDFGHJKL23456789 Show this message to my app.\nThis is a second frame.
set lametric app MyPrivateFHEMapp push token=ASDFGHJKL23456789 title="This is the head frame" This text goes to the 2nd frame.
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

siggi85

So wie ich das verstehe sind Channels quasi mehrere Datensätze in einer App. Sowie Temepratur und Luftfeuchtigkeit in der Wetter App. Zumindest glaube ich das.  ???

Zitat von: Loredo am 08 Februar 2019, 11:03:45
Wie hast du die private App erstellt?

In der Web Oberfläche von https://developer.lametric.com eine Indicator App erstellen und auf Push konfigurieren. Dann kann man unten mehrere Channels auswählen und benamen. Der angesprochene Channel wird dann aber wohl nicht als Parameter verpackt sondern in den HTTP Aufruf angehängt. Daher müsste ggf. das Modul angepasst werden, falls das mit dem FHEM Modul funktionieren soll.
https://developer.lametric.com/api/v1/dev/widget/update/com.lametric.xxxxxxxxxxxxxxxxxxxxxxxxxxxx/2?channels=Sound,Surround

In meinem Beispiel die Channels "Sound" und "Surround". In Sound steht die aktuelle Lauftstärke und in Surround soll die aktelle Suround Einstellung stehen (DTS, Dolbdy, etc.) die ich von außen per PUSH einspiele.

Loredo

Ah, gefunden.


Channels scheinen neu zu sein, sind aber noch nicht in der Developer Doku auffindbar wie es scheint. Die scheinen mir auch noch nicht ganz fertig implementiert zu sein, zumindest ist im Dev Portal der "Default" Haken bei allen Channels setzbar, was irgendwie nicht viel Sinn macht (man weiß aber ja auch nicht, ob der richtig benannt ist und was ganz anderes tut - Doku fehlt halt).


Ich habe nur implementiert, was offiziell dokumentiert ist.
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

Loredo

#36
Hab nochmal im Code geschaut: Hatte die Channels bereits eingebaut. Die kann man einfach per channels=xyz1,xyz2 übergeben. Das wird dann an die URL angehängt.
Edit: Zur commandRef hinzugefügt.
Edit2: Der Parameter wurde nicht richtig verarbeitet, ist in einer gefixten Version ab morgen verfügbar.
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

siggi85

Zitat von: Loredo am 08 Februar 2019, 15:19:13
Edit2: Der Parameter wurde nicht richtig verarbeitet, ist in einer gefixten Version ab morgen verfügbar.

Dachte auch ich hatte das schon getestet. Danke für deine schnelle Hilfe! Werde so schnell ich kann testen und gebe dann Rückmeldung!

siggi85

Zitat von: siggi85 am 08 Februar 2019, 20:49:16
Dachte auch ich hatte das schon getestet. Danke für deine schnelle Hilfe! Werde so schnell ich kann testen und gebe dann Rückmeldung!

Habe gestern bisschen rumprobiert, aber hat mit Channels leider nicht so richtig funktioniert. Habe dann noch Mal mit Frames getestet, aber auch das hat anders funktioniert als ich mir das vorstelle. Momentan habe ich aufgrund unseres anstehenden Umzuges aber sowieso wenig Zeit, daher lege ich das Projekt erst mal auf Eis. Mit den Notifications nud der eindimensionalen App funktioniert das Wichtgste für das Erste. :)

siggi85

Mir ist in den ersten Tagen mit der Uhr noch eine kleine Anforderung entstanden. Ist es möglich über die API den Devicemode zu ändern? Falls ja, wäre es möglich das im Modul zu implementieren?

Aktuell habe ich ihn standardmäßig auf "auto" und lass mir abwechselnd die Uhrzeit und die Tage bis zum Umzug anzeigen  ;). Ich würde aber gerne den Mode ändern können, denn wenn ich zB was auf dem Fernseher gucke, würde ich den Modus gerne auf "manual" und die Uhr stellen (damit der regelmäßige Bildschirmwechsel nicht vom Film ablenkt  8)). Das stellen auf die Uhr ist kein Problem, aber das ändern des Modes scheint aktuell noch nicht mit dem Modul möglich zu sein.

Loredo

Den Devicemodus kann man nicht über die API ändern.
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

siggi85

Zitat von: Loredo am 11 Februar 2019, 20:42:38
Den Devicemodus kann man nicht über die API ändern.

Schade.  :( Aber danke für die Info!

Loredo

Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

siggi85

Zitat von: Thyraz am 24 Januar 2019, 10:26:33
Kleiner Tip falls jemand an die Original Icons ran muss:

Einfach im Browser die URL nach dem Schema aufbauen:

https://developer.lametric.com/content/apps/icon_thumbs/34.png
https://developer.lametric.com/content/apps/icon_thumbs/87.gif


Die Icon Nummer einfach ohne "a" bzw. "i" davor verwenden.

Damit kann man vorhandene Icons runterladen und editieren bzw. einfach in base64 umwandeln womit sie auch offline verfügbar sind.
Außerdem muss man soweit ich weiß die Variante verwenden, wenn man Icons für die IUhranzeige festlegen will wie in der Commandref beschrieben:


set lametric app clock clockface icon='data:image/png;;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAOklEQVQYlWNUVFBgwAeYcEncv//gP04FMEmsCmCSiooKjHAFMEF0SRQTsEnCFcAE0SUZGBgYGAl5EwA+6RhuHb9bggAAAABJRU5ErkJggg=='


Ich verwende das z.B. um nach einer einmaligen Notification mit Sound und Text bei bestimmten Erinnerungen das Icon weiter in der Uhranzeige darzustellen.

Zum Beispiel das Waschmaschinen-Icon wenn die Wäsche fertig ist, oder ein Fenster-Icon wenn Fenster schon länger geöffnet sind und es draußen kalt ist.
Das Icon wird dann eben wieder aus der Uhranzeige gelöscht, sobald die Waschmaschine ausgeschaltet / neu gestartet oder das Fenster geschlossen wird.

Wollte mich noch Mal für den Tipp bedanken! Das hast du kurz und bündig beschrieben und funktioniert echt super.  :)

Thyraz

Freut mich. :)

Kleine Idee zur Sache mit dem Devicemode:
Man kann die Uhr ja an sich im "Eine App anzeigen" Modus lassen und die Apps über die API wechseln.

Klar, ist etwas umständlicher zu programmieren, da man ein zyklisches AT oder ein wiederholendes DOIF braucht.
Aber man, man könnte z.B. bestimmte Apps länger darstellen als andere, oder die Uhr jedesmal zwischen den anderen Apps zeigen.

Also z.B:
- Uhr 5s
- Wetter 2s
- Uhr 5s
- Innentemperatur 2s
- Uhr 5s
- ...
Fhem und MariaDB auf NUC6i5SYH in Proxmox Container (Ubuntu)
Zwave, Conbee II, Hue, Harmony, Solo4k, LaMetric, Echo, Sonos, Roborock S5, Nuki, Prusa Mini, Doorbird, ...