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

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

Vorheriges Thema - Nächstes Thema

Loredo

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
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

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
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

choenig

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

oggy

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.

Loredo

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.
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

Ma_Bo

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
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, Google Home usw. usw.

wolfram

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

Loredo

Jaein, ich muss das msgSchema noch aktualisieren.
Der bessere Support dort war einer der Hauptgründe Matthias' Variante umzuschreiben und zu erweitern.
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

choenig

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

Loredo

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.
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

choenig

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

Loredo

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.
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

oggy

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.

Loredo

#13
Ich habe den Support für den Data Push an private Apps eingebaut.
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

choenig

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

Loredo

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.
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

choenig


choenig

#17
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!

Loredo

Ja, die Signalwörter "jetzt auch" sind gut versteckt ;-)
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

Reinschki

#19
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

Loredo

Danke, ich habe gerade einen Bugfix dafür eingecheckt.
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

fabschub

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


Loredo

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.
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

fabschub

Problem tritt nach Update nicht mehr auf. Besten Dank.

Ave09

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

OppiM

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


Loredo

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.
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

... 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).
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

Thyraz

Hab meine Lametric gerade auch auf dein Modul umgestellt. :)
Läuft einwandfrei. Danke dir.
Fhem und MariaDB auf NUC6i5SYH in Proxmox Container (Ubuntu)
Zwave, Conbee II, Hue, Harmony, Solo4k, LaMetric, Echo, Sonos, Roborock S5, Nuki, Prusa Mini, Doorbird, ...

OppiM

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

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, ...

siggi85

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. :)

Mickey

#46
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
Zu mir:
Ich bin leider fast blind (EU Rentner) und nicht zu "faul" was nachzulesen. Bitte seht mir nach, wenn ich einmal zu viel frage oder auch mal Schreibfehler mache. Danke, Michael

siggi85

#47
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. :)

Thyraz

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
Fhem und MariaDB auf NUC6i5SYH in Proxmox Container (Ubuntu)
Zwave, Conbee II, Hue, Harmony, Solo4k, LaMetric, Echo, Sonos, Roborock S5, Nuki, Prusa Mini, Doorbird, ...

stoxx

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
Vielleicht hat ja jemand  ;) eine Idee,
grüße
stoxx
FHEM 5.8 auf Raspberry mit CUL, FS20, FHT, HMS, BLE, Z-Wave ..

siggi85

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
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.

tatu123

#51
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

siggi85

#52
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)

wiedemer

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

Thyraz

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...
Fhem und MariaDB auf NUC6i5SYH in Proxmox Container (Ubuntu)
Zwave, Conbee II, Hue, Harmony, Solo4k, LaMetric, Echo, Sonos, Roborock S5, Nuki, Prusa Mini, Doorbird, ...

slupus

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

ares

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?

slupus

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.

ares

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.

slupus

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.

ares

#60
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.

Toto1973

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!
Raspberry PI2, Rademacher DuoFern Stick, CUL, 2 x SCC,  JeeLink 868 Mhz, JeeLink 433 Mhz, 3x Magic UFO LED WiFi Controller, 4x MAX BC-RT-TRX-CyG, 2x MAX Fensterkontakt, 5x Rademacher Gurtwickler, 6x TX29DTH-it, 2x TX25-it als Helligkeitssensor, 1X HM-ES-PM, 6x Sonoff, 7x G-Homa, PIR-1000

ares

set LaMetric1 msg "The lazy fox jumps over the quick brown dog" sound=cat icon=i1134

wolfram

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