Hallo,
für die LaMetric Smart Clock gibt es ja eine ganze Reihe von inoffiziellen Modulen, weit verstreut über Forum und Github.
Nachdem ich nun ein solches Gerät erstanden habe, habe ich gerade ein offizielles FHEM Modul eingecheckt.
Es unterstützt bereits alle wichtigen Funktionen, lediglich die Steuerung von Apps ist noch nicht eingebaut. Auch ist es weitgehend abwärtskompatibel zu den bisherigen Modulen, die eine statische Notation für die Notifications verwendet haben. Das LaMetric2 Modul unterstützt jetzt vollständig parseParams und macht regen Gebrauch davon.
Ab morgen dann per Update verfügbar.
Gruß
Julian
PS: Ich habe ein kryptisches Changelog mitgekritzelt für die, die es interessiert:
# Changes for version 2.0.0:
# - Code refactoring using perltidy
# - use HTTPS connectivity as default
# - Evaluate state changes based on command results to avoid additional query
# - pre-configure device attributes during initial define
# - add missing HTTP request headers for non-GET methods
# - new attribute notificationSound
# - new implementation of msg setter for flexible use of messaging options
# (using parseParams); backwards compatible to legacy static setter
# - allow better integration with FHEM msg-command
# - Multi-line support for msg setter when using new format
# - introduce message title handling as separate frame
# - Use an internal notificationIcon if no attribute was set
# - Allow to overwrite default values from device attributes withing every msg command
# - Setters to support new features
# - screensaver
# - metric
# - goal
# - New setters to be FHEM (AV media) standards compliant
# - brightness (rename reading displayBrightness to brightness)
# - mute (to mute/unmute explicitly)
# - muteT (to toggle volume)
# - bluetooth (rename reading bluetoothActive to bluetooth)
# - volume (rename reading audioVolume to volume)
# - volumeUp
# - volumeDown
# - channel
# - channelUp
# - channelDown
# - Harmonize setters and readings to reflect FHEM standards
# - brightnessMode (to separate function that from the brightness setter)
# - statusRequest (refresh kept for backwards compatibility)
# - write model to INTERNAL and attributes to accommodate FHEM device statistics
# - presence: present/absent
# - Add FHEM web frontend widgets to setters
Bitte beachten: Derzeit gibt es zwei tatsächlich recht kritische Bugs in der Firmware, für die das Modul nichts kann. Siehe: https://twitter.com/loredo/status/1068447566948433920 (https://twitter.com/loredo/status/1068447566948433920)
Guten Morgen Julian,
vielen Dank für das *offizielle* Modul :)
Ich nutz' mein LaMetric schon lange mit dem original Modul von Matthias Kleine. Das lief einwandfrei. Ich hoffe, dass ich zeitnah dazu komme, auf Dein Modul upzugraden. Dann werde ich berichten :)
LG
Christian
ich habe das Modul mal Quick-N-Dirty (einfach Geräte mit altem Modul gelöscht und neue mit dem selben Namen eingerichtet) eingerichtet. Bis jetzt läuft es sehr gut. Ein fettes Danke für das Modul.
Danke für die Rückmeldung!
Die richtigen Vorteile gibts zwar erst, wenn man auch von der neuen Notation Gebrauch macht, aber ja, einfach ersetzen geht auch. Da gibts neben den Readings dann zumindest das optimierte Ansprechverhalten.
Auch ich nutze meine LaMetric schon sehr lange mit dem Modul von Matthias.
Bisher kein einziges mal Probleme damit gehabt, aber ich werde die Tage mal dein Modul testen.
Grüße Marcel
Hallo Loredo,
super, ich freue mich, dass hier wieder ein bisschen Bewegung drin ist. Ich habe 2 von den Uhren und bin sehr begeistert. Ich habe gesehen, dass Du auch das msg-Modul verwendest. Kann man die lametric eigentlich auch als "msgContactScreen" verwenden?
Viele Grüße
wolf
Jaein, ich muss das msgSchema noch aktualisieren.
Der bessere Support dort war einer der Hauptgründe Matthias' Variante umzuschreiben und zu erweitern.
Hi,
Zitat von: Loredo am 01 Dezember 2018, 18:40:25
lediglich die Steuerung von Apps ist noch nicht eingebaut.
wie immer: Wer lesen kann ist klar im Vorteil!
Mein Versucht, auf LaMetric2 upzudaten ist daran gescheitert. Dann bau' ich jetzt erstmal wieder zurück.
Wann erwartest Du, dass die Steuerung von apps funktioniert 'wie' früher:
set LaMetric app push FHEMpower [KG.Keller.Stromzaehler:electricityPower] W:i7736
LG
Christian
Mir ist keine App namens "push" bekannt.
Ich vermute du möchtest Notifications senden, dafür sind die unterschiedlichen Setter "msg", "chart", "goal" und "metric" da.
"wie früher" wird die App Steuerung nicht sein, denn zumindest in Matthias' Modulvariante gab es die nicht. Das Umschalten der Apps/Kanäle ist ja schon eingebaut, nur nicht die In-App Steuerung. Das ist der Teil, der noch fehlt.
Hi Julian,
Zitat von: Loredo am 08 Dezember 2018, 11:51:12
Mir ist keine App namens "push" bekannt.
Die App ist auch nicht "push" sondern "FHEMpower".
Dabei fällt mir auf, dass ich vermutlich doch nicht die eigentliche Version von Matthias Kleine verwende, sondern eine bereits weiterentwickelte Version. Nach ein bisschen suchen habe ich herausgefunden, dass ich die hierher habe: https://forum.fhem.de/index.php/topic,25107.msg762897.html#msg762897:
###############################################################################
#
# A module to send notifications to LaMetric.
#
# written 2017 by Matthias Kleine <info at haus-automatisierung.com>
# app-extensions: written 2018 by Ivan Herger <ivan.herger@gmail.com>
#
###############################################################################
[...]
Zitat von: Loredo am 08 Dezember 2018, 11:51:12
Ich vermute du möchtest Notifications senden, dafür sind die unterschiedlichen Setter "msg", "chart", "goal" und "metric" da.
Nope, ich möchte den Inhalt einer selbstinstallierten App ändern. Das ging in der von Ivan Herger erweiterten Version mit dem o.a. Befehl.
Zitat von: Loredo am 08 Dezember 2018, 11:51:12
"wie früher" wird die App Steuerung nicht sein, denn zumindest in Matthias' Modulvariante gab es die nicht. Das Umschalten der Apps/Kanäle ist ja schon eingebaut, nur nicht die In-App Steuerung. Das ist der Teil, der noch fehlt.
Kein Problem!
Schön wäre nur, wenn ich wieder in der Lage wäre, den Inhalt von selbst entwickelten und installierten Apps setzen kann :). Um z.B. folgendes wieder tun zu können: https://forum.fhem.de/index.php/topic,84918.msg772342.htm.
Es soll halt möglich sein, dass ich beim manuellen Umschalten auf eine App direkt die aktuellen Werte sehe. Wie im Falle von FHEMpower immer meinen aktuellen Stromverbrauch, alle 30 Sekunden aktualisiert. Oder geht das auch auf andere Weise?
LG
Christian
Ich habe den App Control Support gerade eingebaut und eingecheckt (neuer Setter "app"). Standardisierte Setter play/stop/channelUp/channelDown für das Radio sind mit eingebaut.
Dabei wurde der Setter "channel" jetzt in "input" umbenannt, damit channelUp/channelDown der Logik nach auch die Radio App steuern. Dementsprechend gibt es jetzt inputUp und inputDown zum durchschalten der Apps.
das Modul läuft immer noch sehr stabil ....
zusätzlich nutze ich noch den zusätzlichen Weg über eine "private" App, die Mathias letztens auf seinem Youtube-Kanal präsentierte. Darüber werden die KNX-Wettersensorwert auf meine beiden Lametrics gepusht und werden so in der App-Rotation angezeigt.
Ich habe den Support für den Data Push an private Apps eingebaut.
Hi,
Zitat von: Loredo am 09 Dezember 2018, 15:14:07
Ich habe den Support für den Data Push an private Apps eingebaut.
sehr cool, vielen Dank!
Ein kleines Problem besteht noch: In meiner FHEMnightClock (https://forum.fhem.de/index.php/topic,84918.msg772342.html) setze ich nur das Icon, ohne Text (damit es nachts nicht blendet). Leider habe ich es nicht geschafft, »message=« wegzulassen, dann bekomme ich einen Fehler.
Wäre denkbar, das noch irgendwie zu erlauben? Oder hast Du einen Trick, wie das doch möglich ist? Leerzeichen (»message=" "«) funktioniert auch nicht, dann erscheint das Tüdelchen »"«
Der rest funktioniert einwandfrei, Danke nochmal!
LG
Christian
Man kann den Text jetzt auch weglassen (oder message=none explizit hinschreiben). Solange icon gesetzt bleibt und man es nicht auch explizit auf "none" setzt, geht die Nachricht dann durch.
Beides kann jedoch nicht weggelassen werden, man braucht also immer mindestens ein icon oder eine message.
Super, das probier ich nachher noch aus :-)
message=none scheint zu funktionieren, messge ganz weglassen nicht. icon war immer dabei.
Edit: Hab' jetzt erst verstanden, dass es eine neue Version des Moduls gibt. Mit der funktioniert beides :). Danke!
Ja, die Signalwörter "jetzt auch" sind gut versteckt ;-)
Hallo Loredo,
klasse Modul! Habe es bereits sehr gut für meine Ideen mit Lametric verwenden können.
Am Anfang, als ich das Modul Kennenlernen wollte, habe ich alle in der CommandRef aufgeführten "set-Befehle" mal ausprobiert.
Alle haben funktioniert! Jetzt nach den neuesten Updates schmiert mir fhem komplett, beim Befehl
set lametric msg chart=1,2,3,4,5,7 title='Some Data'
ab!?
Hier mal ein List:
Internals:
.API_KEY 0a?????????????????????????????????????????????????????????????
DEF 192.168.178.43 0a?????????????????????????????????????????????????????????????
HOST 192.168.178.43
INTERVAL 60
MODEL LM 37X8
NAME lametric
NR 641
PORT 4343
STATE on
TYPE LaMetric2
VERSION 2.2.1
.attraggr:
.attrminint:
READINGS:
2018-12-10 12:17:47 bluetooth off
2018-12-10 12:17:47 bluetoothAddress 88:83:5D:DF:EE:3D
2018-12-10 12:17:47 bluetoothAvailable 1
2018-12-10 12:17:47 bluetoothDiscoverable 1
2018-12-10 12:17:47 bluetoothName LM1465
2018-12-10 12:17:47 bluetoothPairable 1
2018-12-10 12:17:47 brightness 100
2018-12-10 12:17:47 brightnessMode auto
2018-12-10 12:17:47 deviceMode manual
2018-12-10 12:17:47 deviceName My LaMetric
2018-12-10 12:17:47 deviceOsVersion 2.0.16
2018-12-10 12:17:47 deviceSerialNumber SA???????????????????????
2018-12-10 14:16:28 lastChart 310,200,420,200,410,20
2018-12-12 19:36:43 lastCommand device/notifications (POST)
2018-12-12 19:36:43 lastCommandResult success
2018-12-10 13:54:57 lastGoal 46 %
2018-12-12 19:36:42 lastMessage 260 Liter
2018-12-10 19:35:56 lastMetric 21.4
2018-12-12 19:36:42 lastNotificationIconType info
2018-12-12 19:36:42 lastNotificationLifetime 120
2018-12-12 19:36:42 lastNotificationPriority info
2018-12-12 19:36:42 lastNotificationSound off
2018-12-12 19:36:42 lastNotificationTitle
2018-12-12 19:36:42 lastNotificationType msg
2018-12-10 12:17:47 mute off
2018-12-12 17:35:32 power on
2018-12-12 17:35:31 presence present
2018-12-12 11:35:17 screensaver off
2018-12-12 14:34:16 screensaverEndTime 01:00:00
2018-12-12 14:34:16 screensaverStartTime 06:00:00
2018-12-12 17:35:32 state on
2018-12-12 17:35:32 stateAV on
2018-12-12 08:02:37 volume 53
2018-12-10 12:17:47 wifiActive 1
2018-12-10 12:17:47 wifiAddress 88:83:5D:DF:C7:2D
2018-12-10 12:17:47 wifiAvailable 1
2018-12-10 12:17:47 wifiEncryption WPA
2018-12-10 12:17:47 wifiEssid Buencasa
2018-12-10 12:17:47 wifiIp 192.168.178.43
2018-12-10 12:17:47 wifiMode dhcp
2018-12-10 12:17:47 wifiNetmask 255.255.255.0
2018-12-12 19:36:23 wifiStrength 76
helper:
apps:
com.lametric.clock:
package com.lametric.clock
title Clock
vendor LaMetric
version 2.2.1
version_code 39
actions:
clock.alarm:
enabled:
data_type bool
name enabled
time:
data_type string
format [0-9]{2}:[0-9]{2}(?::[0-9]{2})?
name time
wake_with_radio:
data_type bool
name wake_with_radio
clock.clockface:
icon:
data_type string
name icon
triggers:
alarm:
snooze:
data_type bool
name snooze
widgets:
08b8eac21074f8f7e5a29f2855ba8060:
index 0
package com.lametric.clock
settings:
_title Uhr
com.lametric.countdown:
package com.lametric.countdown
title Таймер
vendor LaMetric
version 1.0.6
version_code 12
actions:
countdown.configure:
duration:
data_type int
name duration
start_now:
data_type bool
name start_now
countdown.pause:
countdown.reset:
countdown.start:
triggers:
finished:
duration:
data_type int
name duration
paused:
duration:
data_type int
name duration
reset:
duration:
data_type int
name duration
resumed:
duration:
data_type int
name duration
started:
duration:
data_type int
name duration
widgets:
f03ea1ae1ae5f85b390b460f55ba8061:
index -1
package com.lametric.countdown
settings:
com.lametric.date.ticker:
package com.lametric.date.ticker
title Date Ticker
vendor LaMetric
version 1.0.9
version_code 18
triggers:
widgets:
5c139eaa55f548fd9fa1a60ec1cec6f7:
index -1
package com.lametric.date.ticker
settings:
_title Date Ticker
com.lametric.radio:
package com.lametric.radio
title Radio
vendor LaMetric
version 1.0.13
version_code 25
actions:
radio.next:
radio.play:
radio.prev:
radio.state:
radio.stop:
triggers:
widgets:
589ed1b3fcdaa5180bf4848e55ba8061:
index 2
package com.lametric.radio
settings:
com.lametric.stopwatch:
package com.lametric.stopwatch
title Stopwatch
vendor LaMetric
version 1.0.5
version_code 11
actions:
stopwatch.pause:
stopwatch.reset:
stopwatch.start:
triggers:
widgets:
b1166a6059640bf76b9dfe0455ba8062:
index -1
package com.lametric.stopwatch
settings:
com.lametric.weather:
package com.lametric.weather
title Weather
vendor LaMetric
version 1.0.8
version_code 16
actions:
weather.forecast:
triggers:
widgets:
380375c4b12c16e3adafb48355ba8061:
index 1
package com.lametric.weather
settings:
_title Wetter
inputs:
date_ticker:
app_id ticker
name Date_Ticker
package_id com.lametric.date.ticker
vendor_id com.lametric.date
widget_id 5c139eaa55f548fd9fa1a60ec1cec6f7
radio:
app_id radio
name Radio
package_id com.lametric.radio
vendor_id com.lametric
widget_id 589ed1b3fcdaa5180bf4848e55ba8061
stopwatch:
app_id stopwatch
name Stopwatch
package_id com.lametric.stopwatch
vendor_id com.lametric
widget_id b1166a6059640bf76b9dfe0455ba8062
uhr:
app_id clock
name Uhr
package_id com.lametric.clock
vendor_id com.lametric
widget_id 08b8eac21074f8f7e5a29f2855ba8060
wetter:
app_id weather
name Wetter
package_id com.lametric.weather
vendor_id com.lametric
widget_id 380375c4b12c16e3adafb48355ba8061
таймер:
app_id countdown
name Таймер
package_id com.lametric.countdown
vendor_id com.lametric
widget_id f03ea1ae1ae5f85b390b460f55ba8061
Attributes:
DbLogExclude .*
cmdIcon play:rc_PLAY channelDown:rc_PREVIOUS channelUp:rc_NEXT stop:rc_STOP muteT:rc_MUTE inputUp:rc_RIGHT inputDown:rc_LEFT
defaultOnStatus always
defaultScreensaverEndTime 06:00
defaultScreensaverStartTime 00:00
defaultVolume 50
devStateIcon on:rc_GREEN@green:off off:rc_STOP:on absent:rc_RED playing:rc_PLAY@green:pause paused:rc_PAUSE@green:play muted:rc_MUTE@green:muteT fast-rewind:rc_REW@green:play fast-forward:rc_FF@green:play interrupted:rc_PAUSE@yellow:play
https 1
icon time_statistic
model LM 37X8
notificationGoalEnd 100
notificationGoalIcon a11460
notificationGoalIconType info
notificationGoalLifetime 120
notificationGoalPriority info
notificationGoalStart 0
notificationGoalUnit %
notificationIcon i8919
notificationIconType info
notificationLifetime 120
notificationMetricIcon i9559
notificationMetricIconType info
notificationMetricLang de
notificationMetricLifetime 120
notificationMetricPriority info
notificationPriority info
room Messaging
stateFormat stateAV
webCmd volume:muteT:channelDown:play:stop:channelUp:inputDown:input:inputUp
Was könnte das sein? Geht das Chart bei dir noch? Alles andere funktioniert einwandfrei!
Das habe ich dann im Log stehen:
Perl exited with active threads:
4 running and unjoined
0 finished and unjoined
4 running and detached
Beste Grüße
Reinschki
Danke, ich habe gerade einen Bugfix dafür eingecheckt.
Hallo Loredo,
zunächst danke für die offizielle Unterstützung von Lametric in FHEM. Ich habe in Fhemweb in der Detailansicht meines Lametric-Gerätes ein Darstellungsproblem mit Umlauten. Im Hauptmenü und auch im Menü für die Raumzuweisung wird aus "Räume" "Räume". Das Verhalten habe ich bei keinem anderen Device. Kann das am Modul liegen?
Gruß
Fabian
Ich konnte zwei UTF8 Encoding Dinge im Code verbessern, aber generell ist das mit den Umlauten immer ein schwieriges Thema.
Vielleicht ist es damit jetzt besser ab morgen.
Problem tritt nach Update nicht mehr auf. Besten Dank.
Hey,
die "cycles"-Option scheint nicht zu funktionieren.
Ein simples
set lametric msg Hello cycles=0
führt leider nicht dazu, dass die Msg an der Uhr bestätigt werden muss. Auch Werte >1 zeigen keine Wirkung.
Mache ich was falsch ?
Ansonsten funktioniert alles Bestens. Abfallanzeige, Anrufe vom FB_CallMonitor, Temparaturanzeige über meine myFHEM-App, ... ich bin begeistert!!! :)
Beste Grüße,
Thomas
Hi,
bei mir schmiert FHEM komplett ab, sobald ich mein LaMetric-Device definiere (define LaMetric LaMetric2 192.168.178.120 xxxxxxxxxxxxxxxxxxxxxxx). Der letzte Eintrag im Log ist:
Undefined subroutine &main::timegm called at ./FHEM/70_LaMetric2.pm line 2108
Zum Testen hab ich eine komplett nackte FHEM-Installation benutzt, die auf dem Stand von heute ist.
Gruß,
Michael
Ich habe sowohl die Sticky Message (cycles=0) als auch den Absturz durch das fehlende Perl Modul behoben. Kommt ab morgen über die Update Funktion.
... außerdem wurden die Bugs, die ich an LaMetric gemeldet hatte, in der aktuellen Firmware 2.0.17 gefixt.
Die Workarounds habe ich deshalb aus dem Code entfernt. Lautstärke und Mute lassen sich jetzt damit verlässlich setzen, außerdem bleiben die Screensaver Zeiten erhalten, wenn man zwischen "off" und "on" wechselt. Außerdem ist defaultOnStatus jetzt für neue Geräte per Default auf "illumination" gesetzt (kann wie bisher über das gleichnamige Attribut gesteuert werden).
Hab meine Lametric gerade auch auf dein Modul umgestellt. :)
Läuft einwandfrei. Danke dir.
Zitat von: Loredo am 23 Januar 2019, 16:50:08
Ich habe sowohl die Sticky Message (cycles=0) als auch den Absturz durch das fehlende Perl Modul behoben. Kommt ab morgen über die Update Funktion.
Hi,
funktioniert!
Danke,
Michael
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.
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
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.
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.
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.
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.
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.
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!
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. :)
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.
Den Devicemodus kann man nicht über die API ändern.
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!
Finde ich auch :(
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. :)
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
- ...
Zitat von: Thyraz am 19 Februar 2019, 08:56:09
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
- ...
Habe auch schon überlegt sowas zu bauen. Dann könnte ich im Falle, dass ich einen Film gucke, diesen "eigenen Wechsel-Modus" deaktivieren und die Uhr lassen, und sobald der Film fertig ist den Modus kurz danach wieder aktivieren lassen.
Da ich kurz vor unserem Umzug stehe, lasse ich das erst Mal wie es ist, aber ggf. werde ich das die nächsten Wochen so umsetzen. :)
STOP war mein Fehler, war e nicht !
Hallo,
die Fehlermeldung im Log kommt vermutlich vom Modul:
PERL WARNING: Argument "???" isn't numeric in addition (+) at (eval 33651) line 1.
Und zwar: Bei der Abfrage der Wifi wifiStrength. Bei mir steht 100
Kann das bitte einmal geprüft werden?
Danke, Michael
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.
Noch Mal danke für diese Infos! Ich habe mir damit mittlerweile ein System gebaut, indem ich mehrere Icons hinschicken kann (Klingel, Haustür auf, Fenster, Waschmaschiene, Trockner, Post, etc.), die alle eine unterschiedliche Priorität haben. D.h. Wenn ein Zustand eintrifft der ggf. ein Icon auf der Uhr anzeigen soll, wird immer das Icon mit der höchsten Priorität angezeigt. Und wenn der Zustand sich wieder ändert, wird neu evaluiert und nicht blindlinks das aktuelle Icon gelöscht.
Ich habe die Logik zwar in ioBroker umgesetzt und nutze FHEM nur zur Ausführung, aber das kann man sicher auch in FHEM mit Dummys umsetzen.
Für jedes potentielle Icon ein dummy erstellen, diesen dann im jeweiligen Fall auf true oder false setzen. Einen Notify bauen, der reagiert wenn einer der Dummys geändert wird. Hier dann einen dieser Dummys nach dem anderen Abfragen ob er auf true steht und dann das zugehörige Icon mit der von Thyraz beschriebenen Methode setzen. Hier steht die Reihenfolge der Abfrage dann für die Priorität. Falls alle auf false stehen, wird das Icon einfach mit "icon=" gelöscht.
In den anderen Skripten die die verschiedenen Zustände auslösen oder beenden sollen, einfach den jeweiligen Icon-dummy auf true oder false setzen, den Rest erledigt der beschriebene Notify.
Praktisches Beispiel: Die Haustür geht auf und ein "Warnsymbol" wird auf der Lametric angezeigt. Kurz danach wird die Waschmaschiene fertig, das Symbol bleibt aber dank der Priorisierung auf "Warnsymbol". Sobald die Haustür geschlossen wird, erscheint das "Waschmaschienen" Symbol auf der Lametric.
Umso mehr Icons man sich in verschiedenen Situationen anzeigen lassen möchte, umso mehr macht sowas Sinn. Hoffe die Erklärung war halbwegs verständlich. Ich bin jedenfalls mega zufrieden damit. :)
Falls jemand noch eine kaufen will, gerade kam ein 20% (also wohl 40€) Gutscheincode vom Lametric Newsletter rein.
Wenn ich das recht sehe, wäre der Preis dann 159€.
Gilt 2 Wochen, keine Ahnung ob mehrfach verwendbar.
19563EFC
Hi, erstmal vielen Dank für das Modul. Funktioniert bisher bestens bis auf eine Sache: Wenn ich versuche, im Bildschirmschoner- Modus eine App aufzurufen, passiert nichts - auch wenn ich priority=critical mitgebe.
z.B.
Zitatset lametric app FHEM push token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx== Hallo priority=critical
Ich habe alles wie hier gemacht, nutze aber nicht die Utils sondern das Modul:
https://www.youtube.com/watch?v=jgqJqv58HGI (https://www.youtube.com/watch?v=jgqJqv58HGI)
Vielleicht hat ja jemand ;) eine Idee,
grüße
stoxx
Zitat von: stoxx am 19 April 2020, 22:27:38
Hi, erstmal vielen Dank für das Modul. Funktioniert bisher bestens bis auf eine Sache: Wenn ich versuche, im Bildschirmschoner- Modus eine App aufzurufen, passiert nichts - auch wenn ich priority=critical mitgebe.
z.B.Ich habe alles wie hier gemacht, nutze aber nicht die Utils sondern das Modul:
https://www.youtube.com/watch?v=jgqJqv58HGI (https://www.youtube.com/watch?v=jgqJqv58HGI)
Vielleicht hat ja jemand ;) eine Idee,
grüße
stoxx
Nach deiner Schilderung vermute ich, dass es nicht geht im Screensaver Modus eine App aufzurufen. (selber nicht getestet)
Aber vielleicht könntest du den Screensaver deaktivieren, bevor du die App aufruftst? Vorher solltest du dir den aktuellen Zustand des Screensavers über das entsprechende Reading speichern und nach einer von dir definierten Zeitspanne den letzten Screensaver Modus wiederherstellen.
Hallo zusammen,
ich wollte gerade meine Lametric wie hier im Forum beschrieben und auch in der Comref das Icon der clock zur Signalisierung benutzen.
Hierzu habe ich das Beispiel aus der comref genommen
set lametric app clock clockface icon='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAOklEQVQYlWNUVFBgwAeYcEncv//gP04FMEmsCmCSiooKjHAFMEF0SRQTsEnCFcAE0SUZGBgYGAl5EwA+6RhuHb9bggAAAABJRU5ErkJggg=='
Leider tut sich gar nichts. hat sich da was geändert?
Im Log bekomme ich mit Verbos 5 folgende Ausgabe:
2020.05.15 17:05:58 5: LaMetric2 lametric: called function LaMetric2_SendCommand()
2020.05.15 17:05:58 5: LaMetric2 lametric: GET https://192.168.178.84:4343/api/v2/device/apps? (DATA: (noshutdown=1)
2020.05.15 17:05:58 5: LaMetric2 lametric: called function LaMetric2_SendCommand()
2020.05.15 17:05:58 5: LaMetric2 lametric: GET https://192.168.178.84:4343/api/v2/device/display? (DATA: (noshutdown=1)
2020.05.15 17:05:58 5: LaMetric2 lametric: called function LaMetric2_ReceiveCommand() for service 'device/apps':
ERROR:
HTTP RESPONSE HEADER:
HTTP/1.1 200 OK
CONTENT-TYPE: application/json;charset=UTF8
Access-Control-Allow-Origin: *
Connection: close
Transfer-Encoding: chunked
Date: Fri, 15 May 2020 15:05:56 GMT
Server: lighttpd/1.4.35
HTTP RESPONSE BODY:
{ "com.lametric.clock" : { "actions" : { "clock.alarm" : { "enabled" : { "data_type" : "bool", "name" : "enabled", "required" : false }, "time" : { "data_type" : "string", "format" : "[0-9]{2}:[0-9]{2}(?::[0-9]{2})?", "name" : "time", "required" : false }, "wake_with_radio" : { "data_type" : "bool", "name" : "wake_with_radio", "required" : false } }, "clock.clockface" : { "icon" : { "data_type" : "string", "name" : "icon", "required" : false }, "type" : { "data_type" : "string", "format" : "weather|page_a_day|custom|none", "name" : "type", "required" : false } } }, "package" : "com.lametric.clock", "title" : "Clock", "triggers" : { "alarm" : { "snooze" : { "data_type" : "bool", "name" : "snooze" } } }, "vendor" : "LaMetric", "version" : "2.2.13", "version_code" : "50", "widgets" : { "08b8eac21074f8f7e5a29f2855ba8060" : { "index" : 0, "package" : "com.lametric.clock", "settings" : { "_title" : "Uhr" } } } }, "com.lametric.countdown" : { "actions" : { "countdown.configure" : { "duration" : { "data_type" : "int", "name" : "duration", "required" : false }, "start_now" : { "data_type" : "bool", "name" : "start_now", "required" : false } }, "countdown.pause" : { }, "countdown.reset" : { }, "countdown.start" : { } }, "package" : "com.lametric.countdown", "title" : "\u0422\u0430\u0439\u043c\u0435\u0440", "triggers" : { "finished" : { "duration" : { "data_type" : "int", "name" : "duration" } }, "paused" : { "duration" : { "data_type" : "int", "name" : "duration" } }, "reset" : { "duration" : { "data_type" : "int", "name" : "duration" } }, "resumed" : { "duration" : { "data_type" : "int", "name" : "duration" } }, "started" : { "duration" : { "data_type" : "int", "name" : "duration" } } }, "vendor" : "LaMetric", "version" : "1.0.9", "version_code" : "15", "widgets" : { "f03ea1ae1ae5f85b390b460f55ba8061" : { "index" : 4, "package" : "com.lametric.countdown" } } }, "com.lametric.radio" : { "actions" : { "radio.next" : { }, "radio.play" : { }, "radio.prev" : { }, "radio.state" : { }, "radio.stop" : { } }, "package" : "com.lametric.radio", "title" : "Radio", "triggers" : { }, "vendor" : "LaMetric", "version" : "1.0.20", "version_code" : "32", "widgets" : { "589ed1b3fcdaa5180bf4848e55ba8061" : { "index" : 2, "package" : "com.lametric.radio" } } }, "com.lametric.stopwatch" : { "actions" : { "stopwatch.pause" : { }, "stopwatch.reset" : { }, "stopwatch.start" : { } }, "package" : "com.lametric.stopwatch", "title" : "Stopwatch", "triggers" : { }, "vendor" : "LaMetric", "version" : "1.0.6", "version_code" : "12", "widgets" : { "b1166a6059640bf76b9dfe0455ba8062" : { "index" : -1, "package" : "com.lametric.stopwatch" } } }, "com.lametric.weather" : { "actions" : { "weather.forecast" : { }, "weather.get.cc" : { } }, "package" : "com.lametric.weather", "title" : "Weather", "triggers" : { }, "vendor" : "LaMetric", "version" : "1.0.12", "version_code" : "20", "widgets" : { "380375c4b12c16e3adafb48355ba8061" : { "index" : 1, "package" : "com.lametric.weather", "settings" : { "_title" : "Wetter" } } } } }
2020.05.15 17:05:59 5: LaMetric2 lametric: called function LaMetric2_ReceiveCommand() for service 'device/display':
ERROR:
HTTP RESPONSE HEADER:
HTTP/1.1 200 OK
CONTENT-TYPE: application/json;charset=UTF8
Access-Control-Allow-Origin: *
Connection: close
Transfer-Encoding: chunked
Date: Fri, 15 May 2020 15:05:56 GMT
Server: lighttpd/1.4.35
HTTP RESPONSE BODY:
{ "brightness" : 11, "brightness_limit" : { "max" : 100, "min" : 2 }, "brightness_mode" : "auto", "brightness_range" : { "max" : 100, "min" : 0 }, "height" : 8, "screensaver" : { "enabled" : false, "modes" : { "time_based" : { "enabled" : false, "end_time" : "03:45:00", "local_end_time" : "05:45:00", "local_start_time" : "22:00:00", "start_time" : "20:00:00" }, "when_dark" : { "enabled" : false } }, "widget" : "08b8eac21074f8f7e5a29f2855ba8060" }, "type" : "mixed", "width" : 37 }
2020.05.15 17:06:47 5: LaMetric2 lametric: called function LaMetric2_SetApp() app / clockface
2020.05.15 17:06:58 5: LaMetric2 lametric: called function LaMetric2_CheckState()
2020.05.15 17:06:58 5: LaMetric2 lametric: called function LaMetric2_SendCommand()
2020.05.15 17:06:58 5: LaMetric2 lametric: GET https://192.168.178.84:4343/api/v2/device?fields=name,serial_number,os_version,mode,model,audio,bluetooth,wifi (DATA: (noshutdown=1)
2020.05.15 17:06:58 5: LaMetric2 lametric: called function LaMetric2_ReceiveCommand() for service 'device':
ERROR:
HTTP RESPONSE HEADER:
HTTP/1.1 200 OK
CONTENT-TYPE: application/json;charset=UTF8
Access-Control-Allow-Origin: *
Connection: close
Transfer-Encoding: chunked
Date: Fri, 15 May 2020 15:06:56 GMT
Server: lighttpd/1.4.35
HTTP RESPONSE BODY:
{ "audio" : { "volume" : 100, "volume_limit" : { "max" : 100, "min" : 0 }, "volume_range" : { "max" : 100, "min" : 0 } }, "bluetooth" : { "active" : false, "address" : "18:BB:26:43:FC:50", "available" : true, "discoverable" : true, "low_energy" : { "active" : true, "advertising" : true, "connectable" : true }, "name" : "LM5783", "pairable" : true }, "mode" : "schedule", "model" : "LM 37X8", "name" : "My LaMetric", "os_version" : "2.0.26", "serial_number" : "SA180903578300W00BS9", "wifi" : { "active" : true, "address" : "18:BB:26:43:D6:0A", "available" : true, "encryption" : "WPA", "essid" : "hk2", "ip" : "192.168.178.84", "mode" : "dhcp", "netmask" : "255.255.255.0", "strength" : 58 } }
2020.05.15 17:06:58 5: LaMetric2 lametric: called function LaMetric2_SendCommand()
2020.05.15 17:06:58 5: LaMetric2 lametric: GET https://192.168.178.84:4343/api/v2/device/apps? (DATA: (noshutdown=1)
2020.05.15 17:06:58 5: LaMetric2 lametric: called function LaMetric2_SendCommand()
2020.05.15 17:06:58 5: LaMetric2 lametric: GET https://192.168.178.84:4343/api/v2/device/display? (DATA: (noshutdown=1)
2020.05.15 17:06:58 5: LaMetric2 lametric: called function LaMetric2_ReceiveCommand() for service 'device/apps':
ERROR:
HTTP RESPONSE HEADER:
HTTP/1.1 200 OK
CONTENT-TYPE: application/json;charset=UTF8
Access-Control-Allow-Origin: *
Connection: close
Transfer-Encoding: chunked
Date: Fri, 15 May 2020 15:06:56 GMT
Server: lighttpd/1.4.35
HTTP RESPONSE BODY:
{ "com.lametric.clock" : { "actions" : { "clock.alarm" : { "enabled" : { "data_type" : "bool", "name" : "enabled", "required" : false }, "time" : { "data_type" : "string", "format" : "[0-9]{2}:[0-9]{2}(?::[0-9]{2})?", "name" : "time", "required" : false }, "wake_with_radio" : { "data_type" : "bool", "name" : "wake_with_radio", "required" : false } }, "clock.clockface" : { "icon" : { "data_type" : "string", "name" : "icon", "required" : false }, "type" : { "data_type" : "string", "format" : "weather|page_a_day|custom|none", "name" : "type", "required" : false } } }, "package" : "com.lametric.clock", "title" : "Clock", "triggers" : { "alarm" : { "snooze" : { "data_type" : "bool", "name" : "snooze" } } }, "vendor" : "LaMetric", "version" : "2.2.13", "version_code" : "50", "widgets" : { "08b8eac21074f8f7e5a29f2855ba8060" : { "index" : 0, "package" : "com.lametric.clock", "settings" : { "_title" : "Uhr" } } } }, "com.lametric.countdown" : { "actions" : { "countdown.configure" : { "duration" : { "data_type" : "int", "name" : "duration", "required" : false }, "start_now" : { "data_type" : "bool", "name" : "start_now", "required" : false } }, "countdown.pause" : { }, "countdown.reset" : { }, "countdown.start" : { } }, "package" : "com.lametric.countdown", "title" : "\u0422\u0430\u0439\u043c\u0435\u0440", "triggers" : { "finished" : { "duration" : { "data_type" : "int", "name" : "duration" } }, "paused" : { "duration" : { "data_type" : "int", "name" : "duration" } }, "reset" : { "duration" : { "data_type" : "int", "name" : "duration" } }, "resumed" : { "duration" : { "data_type" : "int", "name" : "duration" } }, "started" : { "duration" : { "data_type" : "int", "name" : "duration" } } }, "vendor" : "LaMetric", "version" : "1.0.9", "version_code" : "15", "widgets" : { "f03ea1ae1ae5f85b390b460f55ba8061" : { "index" : 4, "package" : "com.lametric.countdown" } } }, "com.lametric.radio" : { "actions" : { "radio.next" : { }, "radio.play" : { }, "radio.prev" : { }, "radio.state" : { }, "radio.stop" : { } }, "package" : "com.lametric.radio", "title" : "Radio", "triggers" : { }, "vendor" : "LaMetric", "version" : "1.0.20", "version_code" : "32", "widgets" : { "589ed1b3fcdaa5180bf4848e55ba8061" : { "index" : 2, "package" : "com.lametric.radio" } } }, "com.lametric.stopwatch" : { "actions" : { "stopwatch.pause" : { }, "stopwatch.reset" : { }, "stopwatch.start" : { } }, "package" : "com.lametric.stopwatch", "title" : "Stopwatch", "triggers" : { }, "vendor" : "LaMetric", "version" : "1.0.6", "version_code" : "12", "widgets" : { "b1166a6059640bf76b9dfe0455ba8062" : { "index" : -1, "package" : "com.lametric.stopwatch" } } }, "com.lametric.weather" : { "actions" : { "weather.forecast" : { }, "weather.get.cc" : { } }, "package" : "com.lametric.weather", "title" : "Weather", "triggers" : { }, "vendor" : "LaMetric", "version" : "1.0.12", "version_code" : "20", "widgets" : { "380375c4b12c16e3adafb48355ba8061" : { "index" : 1, "package" : "com.lametric.weather", "settings" : { "_title" : "Wetter" } } } } }
2020.05.15 17:06:59 5: LaMetric2 lametric: called function LaMetric2_ReceiveCommand() for service 'device/display':
ERROR:
HTTP RESPONSE HEADER:
HTTP/1.1 200 OK
CONTENT-TYPE: application/json;charset=UTF8
Access-Control-Allow-Origin: *
Connection: close
Transfer-Encoding: chunked
Date: Fri, 15 May 2020 15:06:56 GMT
Server: lighttpd/1.4.35
HTTP RESPONSE BODY:
{ "brightness" : 11, "brightness_limit" : { "max" : 100, "min" : 2 }, "brightness_mode" : "auto", "brightness_range" : { "max" : 100, "min" : 0 }, "height" : 8, "screensaver" : { "enabled" : false, "modes" : { "time_based" : { "enabled" : false, "end_time" : "03:45:00", "local_end_time" : "05:45:00", "local_start_time" : "22:00:00", "start_time" : "20:00:00" }, "when_dark" : { "enabled" : false } }, "widget" : "08b8eac21074f8f7e5a29f2855ba8060" }, "type" : "mixed", "width" : 37 }
2020.05.15 17:07:09 4: HMCCU: [d_ccu : 5167] Build URL = http://192.168.178.36:2001
2020.05.15 17:07:17 5: LaMetric2 lametric: called function LaMetric2_SetApp() app / clock
2020.05.15 17:07:17 5: LaMetric2 lametric: called function LaMetric2_SendCommand()
2020.05.15 17:07:17 5: LaMetric2 lametric: POST https://192.168.178.84:4343/api/v2/device/apps/com.lametric.clock/widgets/08b8eac21074f8f7e5a29f2855ba8060/actions (DATA: {"id":"clock.clockface","params":{"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAOklEQVQYlWNUVFBgwAeYcEncv//gP04FMEmsCmCSiooKjHAFMEF0SRQTsEnCFcAE0SUZGBgYGAl5EwA+6RhuHb9bggAAAABJRU5ErkJggg=="}} (noshutdown=1)
2020.05.15 17:07:17 5: LaMetric2 lametric: called function LaMetric2_ReceiveCommand() for service 'device/apps/com.lametric.clock/widgets/08b8eac21074f8f7e5a29f2855ba8060/actions':
ERROR:
HTTP RESPONSE HEADER:
HTTP/1.1 201 Created
CONTENT-TYPE: application/json;charset=UTF8
Access-Control-Allow-Origin: *
Connection: close
Transfer-Encoding: chunked
Date: Fri, 15 May 2020 15:07:15 GMT
Server: lighttpd/1.4.35
HTTP RESPONSE BODY:
{ "success" : { "data" : { }, "path" : "/api/v2/device/apps/com.lametric.clock/widgets/08b8eac21074f8f7e5a29f2855ba8060/actions" } }
Der Vollständigkeit halber noch ein List vom Device
Internals:
CFGFN
DEF 192.168.178.84 <geschwärzt>
FUUID 5ebc3da6-f33f-638b-18ed-2ba194155bb7959f
FVERSION 70_LaMetric2.pm:v2.3.3-s19708/2019-06-25
HOST 192.168.178.84
INTERVAL 60
MODEL LM 37X8
NAME lametric
NR 112003
PORT 4343
STATE on
TYPE LaMetric2
VERSION v2.1.0
Helper:
DBLOG:
bluetooth:
logdb:
TIME 1589394856.61014
VALUE off
bluetoothAddress:
logdb:
TIME 1589394856.61014
VALUE 18:BB:26:43:FC:50
bluetoothAvailable:
logdb:
TIME 1589394856.61014
VALUE 1
bluetoothDiscoverable:
logdb:
TIME 1589394856.61014
VALUE 1
bluetoothName:
logdb:
TIME 1589394856.61014
VALUE LM5783
bluetoothPairable:
logdb:
TIME 1589394856.61014
VALUE 1
brightness:
logdb:
TIME 1589480020.64366
VALUE 11
brightnessMode:
logdb:
TIME 1589394856.95459
VALUE auto
deviceMode:
logdb:
TIME 1589397076.96989
VALUE schedule
deviceName:
logdb:
TIME 1589394856.61014
VALUE My LaMetric
deviceOsVersion:
logdb:
TIME 1589394856.61014
VALUE 2.0.26
deviceSerialNumber:
logdb:
TIME 1589394856.61014
VALUE <geschwärzt>
lastCommand:
logdb:
TIME 1589552080.71702
VALUE device/apps/com.lametric.clock/widgets/08b8eac21074f8f7e5a29f2855ba8060/actions (POST)
lastCommandResult:
logdb:
TIME 1589552080.71702
VALUE { "success" : { "data" : { }, "path" : "/api/v2/device/apps/com.lametric.clock/widgets/08b8eac21074f8f7e5a29f2855ba8060/actions" } }
lastMessage:
logdb:
TIME 1589475156.04373
VALUE test
lastNotificationIconType:
logdb:
TIME 1589475156.04373
VALUE info
lastNotificationLifetime:
logdb:
TIME 1589475156.04373
VALUE 120
lastNotificationPriority:
logdb:
TIME 1589475156.04373
VALUE info
lastNotificationSound:
logdb:
TIME 1589475156.04373
VALUE off
lastNotificationTitle:
logdb:
TIME 1589475156.04373
VALUE
lastNotificationType:
logdb:
TIME 1589475156.04373
VALUE msg
mute:
logdb:
TIME 1589394856.61014
VALUE off
power:
logdb:
TIME 1589471487.23546
VALUE on
presence:
logdb:
TIME 1589394856.61014
VALUE present
screensaver:
logdb:
TIME 1589480020.64366
VALUE off
screensaverEndTime:
logdb:
TIME 1589471487.23546
VALUE 04:45:00
screensaverStartTime:
logdb:
TIME 1589471487.23546
VALUE 21:00:00
state:
logdb:
TIME 1589552080.23445
VALUE app clock clockface icon='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAOklEQVQYlWNUVFBgwAeYcEncv//gP04FMEmsCmCSiooKjHAFMEF0SRQTsEnCFcAE0SUZGBgYGAl5EwA+6RhuHb9bggAAAABJRU5ErkJggg=='
stateAV:
logdb:
TIME 1589471487.23546
VALUE on
volume:
logdb:
TIME 1589394856.61014
VALUE 100
wifiActive:
logdb:
TIME 1589394856.61014
VALUE 1
wifiAddress:
logdb:
TIME 1589394856.61014
VALUE <geschwärzt>
wifiAvailable:
logdb:
TIME 1589394856.61014
VALUE 1
wifiEncryption:
logdb:
TIME 1589394856.61014
VALUE WPA
wifiEssid:
logdb:
TIME 1589394856.61014
VALUE <geschwärzt>
wifiIp:
logdb:
TIME 1589394856.61014
VALUE 192.168.178.84
wifiMode:
logdb:
TIME 1589394856.61014
VALUE dhcp
wifiNetmask:
logdb:
TIME 1589394856.61014
VALUE 255.255.255.0
wifiStrength:
logdb:
TIME 1589552518.11889
VALUE 52
READINGS:
2020-05-13 20:34:16 bluetooth off
2020-05-13 20:34:16 bluetoothAddress 18:BB:26:43:FC:50
2020-05-13 20:34:16 bluetoothAvailable 1
2020-05-13 20:34:16 bluetoothDiscoverable 1
2020-05-13 20:34:16 bluetoothName LM5783
2020-05-13 20:34:16 bluetoothPairable 1
2020-05-14 20:13:40 brightness 11
2020-05-13 20:34:16 brightnessMode auto
2020-05-13 21:11:16 deviceMode schedule
2020-05-13 20:34:16 deviceName My LaMetric
2020-05-13 20:34:16 deviceOsVersion 2.0.26
2020-05-13 20:34:16 deviceSerialNumber <geschwärzt>
2020-05-15 16:14:40 lastCommand device/apps/com.lametric.clock/widgets/08b8eac21074f8f7e5a29f2855ba8060/actions (POST)
2020-05-15 16:14:40 lastCommandResult { "success" : { "data" : { }, "path" : "/api/v2/device/apps/com.lametric.clock/widgets/08b8eac21074f8f7e5a29f2855ba8060/actions" } }
2020-05-14 18:52:36 lastMessage test
2020-05-14 18:52:36 lastNotificationIconType info
2020-05-14 18:52:36 lastNotificationLifetime 120
2020-05-14 18:52:36 lastNotificationPriority info
2020-05-14 18:52:36 lastNotificationSound off
2020-05-14 18:52:36 lastNotificationTitle
2020-05-14 18:52:36 lastNotificationType msg
2020-05-13 20:34:16 mute off
2020-05-14 17:51:27 power on
2020-05-13 20:34:16 presence present
2020-05-14 20:13:40 screensaver off
2020-05-14 17:51:27 screensaverEndTime 04:45:00
2020-05-14 17:51:27 screensaverStartTime 21:00:00
2020-05-14 17:51:27 state on
2020-05-14 17:51:27 stateAV on
2020-05-13 20:34:16 volume 100
2020-05-13 20:34:16 wifiActive 1
2020-05-13 20:34:16 wifiAddress <geschwärzt>
2020-05-13 20:34:16 wifiAvailable 1
2020-05-13 20:34:16 wifiEncryption WPA
2020-05-13 20:34:16 wifiEssid <geschwärzt>
2020-05-13 20:34:16 wifiIp 192.168.178.84
2020-05-13 20:34:16 wifiMode dhcp
2020-05-13 20:34:16 wifiNetmask 255.255.255.0
2020-05-15 16:21:58 wifiStrength 52
helper:
apps:
com.lametric.clock:
package com.lametric.clock
title Clock
vendor LaMetric
version 2.2.13
version_code 50
actions:
clock.alarm:
enabled:
data_type bool
name enabled
time:
data_type string
format [0-9]{2}:[0-9]{2}(?::[0-9]{2})?
name time
wake_with_radio:
data_type bool
name wake_with_radio
clock.clockface:
icon:
data_type string
name icon
type:
data_type string
format weather|page_a_day|custom|none
name type
triggers:
alarm:
snooze:
data_type bool
name snooze
widgets:
08b8eac21074f8f7e5a29f2855ba8060:
index 0
package com.lametric.clock
settings:
_title Uhr
com.lametric.countdown:
package com.lametric.countdown
title Таймер
vendor LaMetric
version 1.0.9
version_code 15
actions:
countdown.configure:
duration:
data_type int
name duration
start_now:
data_type bool
name start_now
countdown.pause:
countdown.reset:
countdown.start:
triggers:
finished:
duration:
data_type int
name duration
paused:
duration:
data_type int
name duration
reset:
duration:
data_type int
name duration
resumed:
duration:
data_type int
name duration
started:
duration:
data_type int
name duration
widgets:
f03ea1ae1ae5f85b390b460f55ba8061:
index 4
package com.lametric.countdown
settings:
com.lametric.radio:
package com.lametric.radio
title Radio
vendor LaMetric
version 1.0.20
version_code 32
actions:
radio.next:
radio.play:
radio.prev:
radio.state:
radio.stop:
triggers:
widgets:
589ed1b3fcdaa5180bf4848e55ba8061:
index 2
package com.lametric.radio
settings:
com.lametric.stopwatch:
package com.lametric.stopwatch
title Stopwatch
vendor LaMetric
version 1.0.6
version_code 12
actions:
stopwatch.pause:
stopwatch.reset:
stopwatch.start:
triggers:
widgets:
b1166a6059640bf76b9dfe0455ba8062:
index -1
package com.lametric.stopwatch
settings:
com.lametric.weather:
package com.lametric.weather
title Weather
vendor LaMetric
version 1.0.12
version_code 20
actions:
weather.forecast:
weather.get.cc:
triggers:
widgets:
380375c4b12c16e3adafb48355ba8061:
index 1
package com.lametric.weather
settings:
_title Wetter
inputs:
radio:
app_id radio
name Radio
package_id com.lametric.radio
vendor_id com.lametric
widget_id 589ed1b3fcdaa5180bf4848e55ba8061
stopwatch:
app_id stopwatch
name Stopwatch
package_id com.lametric.stopwatch
vendor_id com.lametric
widget_id b1166a6059640bf76b9dfe0455ba8062
uhr:
app_id clock
name Uhr
package_id com.lametric.clock
vendor_id com.lametric
widget_id 08b8eac21074f8f7e5a29f2855ba8060
wetter:
app_id weather
name Wetter
package_id com.lametric.weather
vendor_id com.lametric
widget_id 380375c4b12c16e3adafb48355ba8061
таймер:
app_id countdown
name Таймер
package_id com.lametric.countdown
vendor_id com.lametric
widget_id f03ea1ae1ae5f85b390b460f55ba8061
Attributes:
cmdIcon play:rc_PLAY channelDown:rc_PREVIOUS channelUp:rc_NEXT stop:rc_STOP muteT:rc_MUTE inputUp:rc_RIGHT inputDown:rc_LEFT
defaultOnStatus illumination
defaultScreensaverEndTime 06:00
defaultScreensaverStartTime 00:00
defaultVolume 50
devStateIcon on:rc_GREEN@green:off off:rc_STOP:on absent:rc_RED playing:rc_PLAY@green:pause paused:rc_PAUSE@green:play muted:rc_MUTE@green:muteT fast-rewind:rc_REW@green:play fast-forward:rc_FF@green:play interrupted:rc_PAUSE@yellow:play
https 1
icon time_statistic
model LM 37X8
notificationGoalEnd 100
notificationGoalIcon a11460
notificationGoalIconType info
notificationGoalLifetime 120
notificationGoalPriority info
notificationGoalStart 0
notificationGoalUnit %
notificationIcon i8919
notificationIconType info
notificationLifetime 120
notificationMetricIcon i9559
notificationMetricIconType info
notificationMetricLang en
notificationMetricLifetime 120
notificationMetricPriority info
notificationPriority info
room LaMetric2
stateFormat stateAV
verbose 5
webCmd volume:muteT:channelDown:play:stop:channelUp:inputDown:input:inputUp
VG
tatu123
Probier mal:
set lametric app clock clockface icon='data:image/gif;;base64,R0lGODlhCAAIAKIAACQiJIyKjMzOzPQCFLS2tPTGzPxabAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJCgAAACwAAAAACAAIAAADEwi6PPbNFBNlpSoEwUUOREgwZAIAIfkECQoAAAAsAAAAAAgACACCJCIkjIqMzM7M/FpstLa09MbMAAAAAAAAAxMIujw+rbg2JJ0qBMFFDkRIMGQCACH5BAkKAAAALAAAAAAIAAgAAAMUCLpsPqy8JuFyxoIQhBcKR4wEYyYAIfkECQoAAAAsAAAAAAgACAAAAxQIumw2o724ypRwhSC6UBshEkyZAAAh+QQJCgAAACwAAAAACAAIAIIkIiSMioz0AhS0trT8WmzMzswAAAAAAAADFAi6TCKkvbgclFeFUHrRwSAOTJkAACH5BAkKAAAALAAAAAAIAAgAAAMTCLo8Y6a9ImGNKgTBRQ5ESDBkAgA7'
EDIT: Mir ist aufgefallen, dass es nur funktioniert, wenn 2 Semikolon vor "base64" stehen. (das zweite Semikolon musste ich bisher immer manuell dazuschreiben wenn ich die base64 Werte bestehender Icons ermittelt habe)
Könnt Ihr mir hier helfen?
Ich habe eine Loxone, die mit FHEM gekoppelt mein SmartHome steuert.
Jetzt habe ich in der Loxone einen einzigen, zentralen Wecker, den ich aktiviere/deaktiviere oder über den ich die Weckzeit einstelle und daraufhin das Schlafzimmerlicht, das Badlicht und den Denon in Zone "Bad" steure.
Funktion:
Ist die Weckzeit erreicht, dann sende ich direkt ein Signal an die LaMetric, dass die wecken soll. - Klappt wunderbar.
Aktuell habe ich (aufgrund einer fehlenden Lösung) hard-codiert in der Loxone eingestellt, dass die 5 Minuten später nochmal das Signal zum Wecken an die LaMetric schicken soll.
Das würde ich gerne "optimieren", weiß aber nicht wie und ich denke, dieses Modul hier könnte u.U. helfen...
Ist es möglich, den "Snooze"-Status der LaMetric abzufragen und daraufhin ein Notify zu schicken?
Gruß + Danke
Ralf
Sorry schon vorab für Offtopic, aber hier laufen die meisten LaMetric User herum. ;)
https://github.com/FD-/LaMetric-SDK
Es hat wohl jemand geschafft native Apps auf die Uhr zu bekommen.
Also sowohl zu compilieren als auch ohne Hacks aufzuspielen.
Werde mal die Firmware entpacken und schauen ob man genug Infos zusammenbekommt was an Funktionen in den Header Files steckt.
Wäre zu cool wenn man ne App hinbekommen würde, die auch die Schwarz-Weiß Pixel gezielt ansteuern kann.
C++ ist leider gar nicht meins, aber mal sehen...
Ich würde gerne mehrere Frames mit je einem eigenen Icon nutzen. Hat jemand einen Tipp, wie ich das umsetzen kann?
set lametric app FHEM push token=*** icon=i8919 eins\n icon=i4285 zwei
zeigt Frame eins mit Icon an, Frame zwei ohne Icon
set lametric app FHEM push token=*** icon=i8919 eins\nicon=i4285 zwei
Frame eins wird nicht angezeigt, Frame zwei mit Icon
Zitat von: slupus am 26 Februar 2022, 21:49:54
Ich würde gerne mehrere Frames mit je einem eigenen Icon nutzen. Hat jemand einen Tipp, wie ich das umsetzen kann?
Mit My Data (DIY) lassen sich 1-20 Frames anzeigen, die sich die LaMetric selbst aus fhem holt:
https://help.lametric.com/support/solutions/articles/6000225467-my-data-diy
Im Anhang ein einfaches schnell gestricktes Beispiel, das mir Daten von vorher importen Werten aus https://corona-ampel-bayern.de/ mit zum Status passenden icons anzeigt.
Test: https://192.168.xxx.yyy/fhem?cmd=LaMetric_MyData
Zugriff über eine eigenes abgesichertes FHEMWEB-Device.
{
"frames" : [
{
"icon": "4238",
"text": "6.93"
},
{
"icon": "24582",
"text": "1349.03"
},
{
"icon": "45126",
"text": "79.37%"
}
]
}
Bisher habe ich LaMetric2 noch nicht im Einsatz, das steht aber ganz oben auf meiner ToDo-Liste.
Lässt sich das Beispiel auch komplett ohne zusätzliche App umsetzen?
Danke, ares, für dein Beispiel. Ich bekomme zumindest in FHEM eine Seite mit dem JSon angezeigt, allerdings zeigt mir die MyData App auf der LaMetric keine Daten an.
Kannst du evtl. auch dein FHEMWEB Device teilen oder mit einen Tipp geben, weshalb die Daten nicht angezeigt werden?
Ich glaube, ohne App auf der LaMetric wird es nicht gehen.
Zitat von: slupus am 03 April 2022, 20:05:36
Danke, ares, für dein Beispiel. Ich bekomme zumindest in FHEM eine Seite mit dem JSon angezeigt, allerdings zeigt mir die MyData App auf der LaMetric keine Daten an.
Kannst du evtl. auch dein FHEMWEB Device teilen oder mit einen Tipp geben, weshalb die Daten nicht angezeigt werden?
Ich glaube, ohne App auf der LaMetric wird es nicht gehen.
Die Anzeige in FHEM ist der erste Schritt.
Ich habe mir für den Zugang ein neues FHEMWEB-Device erstellt:
defmod WEBapi FHEMWEB 8088 global
attr WEBapi allowedHttpMethods GET
attr WEBapi csrfToken HierDeinToken
attr WEBapi styleData {\
"f18": {\
"Pinned.menu": "true",\
"hidePin": "true",\
"cols.bg": "FFFFE7",\
"cols.fg": "000000",\
"cols.link": "278727",\
"cols.evenrow": "F8F8E0",\
"cols.oddrow": "F0F0D8",\
"cols.header": "E0E0C8",\
"cols.menu": "D7FFFF",\
"cols.sel": "A0FFFF",\
"cols.inpBack": "FFFFFF",\
"savePinChanges": true,\
"hideLogo": true,\
"hideInput": true,\
"hideTextInput": true,\
"hideMenu": true,\
"fixedInput": true,\
"wrapcolumns": true,\
"widePortrait": true\
}\
}
attr WEBapi webname LaMetric
Danach sollte folgende Seite (IP und Token anpassen) das JSON-Ergebnis ohne "FHEM-Menü" anzeigen.
http://192.168.xxx.xxx:8088/LaMetric?XHR=1&fwcsrf=HierDeinToken&cmd=LaMetric_MyData
Danach installierst Du die App My Data (DIY) von LaMetric ... https://apps.lametric.com/apps/my_data__diy_/8942
In der App dann einfach den bereits getesteten Aufruf einfügen:
http://192.168.xxx.xxx:8088/LaMetric?XHR=1&fwcsrf=HierDeinToken&cmd=LaMetric_MyData
Der Code sollte nur als erstes Beispiel für eigene Versuche dienen. Ich fand die Möglichkeit aber recht angenehm und für mich funktioniert es bisher problemlos.
Zusätzlich setze ich noch mit
einem DOIF in leicht änderbarer Reihenfolge das Icon der Uhr und zeige z.B. bei einem Anruf mit Lauftext den Anrufer an.
Danke für das Beispiel, damit funktioniert es nun auch bei mir!
Dann kann ich jetzt kreativ werden ;) Habe schon ein paar Ideen, ähnlich deiner Anzeige des Anrufers.
Zitat von: slupus am 03 April 2022, 20:42:47
Danke für das Beispiel, damit funktioniert es nun auch bei mir!
Dann kann ich jetzt kreativ werden ;) Habe schon ein paar Ideen, ähnlich deiner Anzeige des Anrufers.
Den Anrufer möchte ich aber sofort sehen wenn es klingelt, das geht über eine normale Nachricht.
Auch das Icon der Uhr ändere ich anders. Mit einem DOIF lässt sich ein Icon nach Dringlichkeit sortiert anzeigen... erst wenn die Haustür geschlossen wird zeige ich an, dass der Trockner noch ausgeleert werden soll.
Eventuell hilft folgender Code aber auch als Idee/Einstieg für das Icon der Uhr (LaMetric1 ist mein einziges Device, der Name sollte besser als Parameter übergeben werden):
Edit: Den code ohne Switch schreiben oder Switch für Perl installieren:
sudo apt-get install libswitch-perl
sub LaMetric_ClockFace($$)
{
use Switch;
my ($icon, $name) = @_;
my $done = 'done';
switch ($icon) {
case 'none' {# ohne Icon
{fhem "set LaMetric1 app clock clockface type='none' icon=''"};
}
case 'weather' {# Wetter
{fhem "set LaMetric1 app clock clockface type='weather' icon=''"};
}
case 'page_a_day' {# Kalendertag
{fhem "set LaMetric1 app clock clockface type='page_a_day' icon=''"};
}
case '20456' {# Lockdoor
{fhem "set LaMetric1 app clock clockface type='custom' icon='data:image/gif;;base64,R0lGODlhCAAIAJEAACQiJPz+/PQCFAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJFAAAACwAAAAACAAIAAACEIwPEJkryxxs4DFFY5245wIAIfkECQoAAAAsAAAAAAgACACBJCIk/P78hFokAAAAAhGMDxApsspceu09ICHOlMdXAAAh+QQJCgAAACwAAAAACAAIAIEkIiT8/vyEWiQAAAACEYwPECC9ylxaTbwnYb3Rzv4UACH5BAlkAAAALAAAAAAIAAgAgSQiJPz+/IRaJAAAAAIRjA8QwhK52lPNQSBhnZHxnRQAIfkECWQAAAAsAAAAAAgACACBJCIk/P78hFokAAAAAhGMDxDCErnaU81BIGGdkfGdFAA7'"};
}
case '10919' {# HueON
{fhem "set LaMetric1 app clock clockface type='custom' icon='data:image/png;;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAX0lEQVQYlYWO0QmAMAwFL9VBqpDJ7Cj64Q7tXkJA3KR+SKVWxIP83Et4kcF7AHY7MhWjegFwj7Dbrqmcq6/IRot7mWZJ/n7oi1jWGVUFwMyA+FHRcFcATCFkgBSjFHcCLc4e+yKQ14oAAAAASUVORK5CYII='"};
}
case '17544' {# washing machine
{fhem "set LaMetric1 app clock clockface type='custom' icon='data:image/png;;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAZ0lEQVQYlWNUVFBgWL1mzX8GLCA0JISRCVlAa7cPAwMDA8Pu3bsRgooKCgz/cQBFBQUGFpjCs2fPwnW6uroyGBsbMzAwMCAU7N69m+FERTmE09EJV4DiBmwAboKrqysDQ0cngk2sIwHWNEdqAvlVtwAAAABJRU5ErkJggg=='"};
}
case '10934' {# Dryer
{fhem "set LaMetric1 app clock clockface type='custom' icon='data:image/png;;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAXklEQVQYlYWOsQ3AIAwEjyiDmDYtM7hLSaYMG1iMwExQAYlElKus1/n1zotwp1RZcMXotmdw2AmAmc3Qi1A/8CLsXSyljE9VJYQAMAUzI+c8mrvw2rBiNKgqq/t3ZANlM0XINcHBVwAAAABJRU5ErkJggg=='"};
}
case 'todo_xxx' {# https://help.lametric.com/support/discussions/topics/6000062573
#{fhem ""};
}
else {
{fhem "set LaMetric1 app clock clockface type='none' icon=''"};
$done = 'error';
}
}
readingsBeginUpdate($defs{'LaMetric1_clockface'});
readingsBulkUpdate($defs{'LaMetric1_clockface'}, 'set_icon', $icon);
readingsBulkUpdate($defs{'LaMetric1_clockface'}, 'set_name', $name);
readingsBulkUpdate($defs{'LaMetric1_clockface'}, 'set_done', $done);
readingsEndUpdate($defs{'LaMetric1_clockface'}, 1);
return;
}
defmod LaMetric1_clockface DOIF ([HM_Sec_SCo_Haustuer:state] ne 'closed') ({LaMetric_ClockFace ('20456', 'Haustuer')})\
DOELSEIF ([HUEDevice1:reachable] eq '1') ({LaMetric_ClockFace ('10919', 'HueON')})\
DOELSEIF ([K.Waschmaschine:Geraetestatus] eq 'Ende') ({LaMetric_ClockFace ('17544', 'Waschmaschine')})\
DOELSEIF ([K.Trockner.Betrieb:state] eq 'finished') ({LaMetric_ClockFace ('10934', 'Trockner')})\
DOELSE ({LaMetric_ClockFace ('none', 'none')})
attr LaMetric1_clockface DbLogExclude .*
attr LaMetric1_clockface devStateIcon Haustuer:fts_door_open@red\
Waschmaschine:scene_washing_machine\
Trockner:scene_clothes_dryer\
Wetter:weather_station\
Kalender:time_calendar
attr LaMetric1_clockface do always
attr LaMetric1_clockface icon time_statistic
attr LaMetric1_clockface room LaMetric
attr LaMetric1_clockface stateFormat set_name
Was mir derzeit im Modul fehlt ist eigentlich nur die Möglichkeit, das Icon der Uhr nicht vorab manuell zu Base64 konvertieren zu müssen.
Sehr schön wär, das Icon bei der ersten Verwendung automatisch zu konvertieren und im Cache abzuspeichern. Das würde sicher vielen Zeit sparen.
So oft verwendet man aber keine neuen Icons, daher ist der Aufwand zu verschmerzen.
Ich suche jetzt schon seit 2 Stunden nach Infos.
Wie setze ich denn eine Message ab mit Ton?
Ohne Ton funktionirt es ja so:
set lematric msg Das ist ein Test!
set LaMetric1 msg "The lazy fox jumps over the quick brown dog" sound=cat icon=i1134
Guten Morgen zusammen, hat jemand denn schon die neue Lametric Sky: https://lametric.com/de-DE/sky/overview ?
Ich habe sie gestern erhalten, wenn auch für meinen Geschmack zu teuer. Nun habe ich versucht das "intelligente Licht" in fhem einzubinden und habe bei der Definition die Meldung "it seems to be not a valid Token" erhalten. Den API Key kann man direkt in der Lametric App abrufen, aber er wird halt nicht aktzeptiert.
Gibt es Ansätze die Sky mit einbinden zu können?
Liebe Grüße
wolf