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

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

Vorheriges Thema - Nächstes Thema

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