[gelöst][Codeschnipsel] Modul Watches Anzeige in ui_Table

Begonnen von Sany, 26 April 2021, 13:41:06

Vorheriges Thema - Nächstes Thema

Sany

Frage an Damian oder wer auch sonst helfen kann:
ich habe mir eine Uhr mit dem Modul Watches definiert. Das ist eine JS-Application. In der Device-Übersicht sehe ich die Uhr, im angegebenen room/group erscheint sie auch. Nun würde ich die gerne in einer ui_Table darstellen. Einfach ein [myWatch] führt nicht zu gewünschenten Ergebnis. Gibt es eine Möglichkeit?

meine Def für die Watch:
defmod myWatch Watches Digital
attr myWatch digitalBorderDistance 0
attr myWatch digitalColorBackground 1F1F1F
attr myWatch digitalColorDigits E0E0E0
attr myWatch digitalDigitAngle 8.0
attr myWatch digitalDigitDistance 5.0
attr myWatch group watch
attr myWatch hideDisplayName 1
attr myWatch room DOIF_UI
attr myWatch sortby c
attr myWatch timeSource server


ich möchte das auf einem Tablet mit fully nutzen. Der läuft in Vollbildanzeige mit ausgeblendeten Statusleisten, also ohne Zeitanzeige. Außerdem kann ich die fhem-Server-Zeit anzeigen, was mir auch lieber wäre als die Zeit vom Tablet.

Danke schon mal

Sany
fhem auf Zotac ZBox nano als LXC auf Proxmox, weitere LXC mit ZigBee2MQTT, MariaDB und Grafana. Homematic, FS20, mySensors, MQTT2, Tasmota, Shelly, Z-Wave  ....

Damian

Also wenn Watch den HTML-Code zurückgeben würde, dann könnte man es in uiTable visualisieren. Allerdings wird der Code offenbar irgendwo im Modul dargestellt. Ich benutze als Uhr auch Javacode über uiTable, siehe https://wiki.fhem.de/wiki/DOIF/uiTable_Schnelleinstieg#Eigene_uiTable-Funktionen_programmieren
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Sany

ich habs mal beim Modulautor adressiert.... bin gespannt. Wäre eine schöne Ergänzung zu uiTable.
fhem auf Zotac ZBox nano als LXC auf Proxmox, weitere LXC mit ZigBee2MQTT, MariaDB und Grafana. Homematic, FS20, mySensors, MQTT2, Tasmota, Shelly, Z-Wave  ....

Ellert

#3
Im Prinzip sollte es so funktionieren: https://wiki.fhem.de/wiki/DOIF/uiTable#Darstellung_einer_Analoguhr (Bahnhofsuhr)

In der Commandref zu Watches gibt es Links zu den Uhren, dort ist beschrieben wie sie einzubinden sind

Sany

Guten Morgen,

ja, es funktioniert. DS_Starter ist der Modulautor, und er hat mir eine bisher nicht veröffentlichte Funktion genannt, die wunschgemäß html zurückliefert. Vorraussetzung ist ein fertig konfiguriertes Device, welches die gewünschte Uhr erzeugt. Details in der cRef: https://fhem.de/commandref.html#Watches

Wenn das funktiniert muss an in uiTable in der gewünschten "Zelle" nur folgendes eingeben:
FHEM::Watches::<Style> ("<definiertes Watches Device>")
mit Style = modernWatch,stationWatch,digitalWatch (je nach dem, wie die Uhr konfiguriert ist)

Bespiel mit Digital-Anzeige:
defmod myWatch Watches Digital
attr myWatch digitalBorderDistance 0
attr myWatch digitalColorBackground 1F1F1F
attr myWatch digitalColorDigits E0E0E0
attr myWatch digitalDigitAngle 8.0
attr myWatch digitalDigitDistance 5.0
attr myWatch hideDisplayName 1
attr myWatch room Uhr
attr myWatch timeSource server

und eine uiTable:
defmod di_UI_UhrDatum DOIF subs{\
\
sub getWochentag\
{\
my ($tagZahl) = @_;;\
my @Wochentage = qw(Sonntag Montag Dienstag Mittwoch Donnerstag Freitag Samstag);;\
\
return $Wochentage[$tagZahl];;\
}\
}\
\
\
{\
if([+[1]:00]){\
set_Reading ("Datum",getWochentag($wday)."<br>".$mday.".".$month.".".$year,1);;\
    }\
}
attr di_UI_UhrDatum group Uhr
attr di_UI_UhrDatum room Test,DOIF_UI
attr di_UI_UhrDatum uiTable { \
package ui_Table;;\
\
$SHOWNOSTATE=1;;\
$SHOWNODEVICELINE = "Test";;\

$TR{0..5} = "style='font-size:85%'";;\


}\
\
FHEM::Watches::digitalWatch ("myWatch")|[$SELF:Datum]

setstate di_UI_UhrDatum 2021-04-27 09:00:00 Datum Dienstag<br>27.4.2021


Das sieht dann so aus wie im angehängten Bild.

Viel Spaß damit!

Zur Vollständigkeit meine Frage im Watches-Thread:
https://forum.fhem.de/index.php/topic,93454.msg1152555.html#msg1152555
fhem auf Zotac ZBox nano als LXC auf Proxmox, weitere LXC mit ZigBee2MQTT, MariaDB und Grafana. Homematic, FS20, mySensors, MQTT2, Tasmota, Shelly, Z-Wave  ....