60_Watches - Modul für eine Analog/Digital-Uhr

Begonnen von DS_Starter, 19 November 2018, 23:00:33

Vorheriges Thema - Nächstes Thema

DS_Starter

#135
Ja, danke. Jetzt ist es eindeutig was du meinst. Das hat mit dem JS jetzt nichts zu tun.

Ich denke das ist deiner besonderen Art geschuldet wie du Test / Prod adressierst.
Mein Link ist so definiert:


href="/fhem?detail=...."


Bei dir ist es aber nicht /fhem sondern /fhem_live bzw. /fhem_test.

Es gibt bestimmt eine FHEMWEB Variable welche ich statt "/fhem" verwenden kann. Vielleicht schaffe ich es heute noch, dann melde ich mich nochmal.

LG,
Heiko
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

khk123

#136
Das entsprechende Attr für den Aufruf kannst du im FHEMWEB-Device setzten. Bei mir dementsprechend "attr WEB_HTTPS webname fhem_live".

Zur Info: Da ich über ein Reverse-Proxy auf meine beiden FHEM-Systeme zugreife, unterscheide ich über diesen Weg. Ich wollte halt alle anderen Definitionen in beiden Systemen gleich haben.

Lass dir Zeit. Es hat keine Eile, da ein Aufruf über list ja funktioniert.

Viele Grüße
Karlheinz
FHEM6.2, RasPi4, RasPi Zero W,
CUL V3, HM, ZWave, IT, vcontrol, owntracks, alexa

khk123

Ich denke du findest die entsprechende Definition in

$FW_ME

When using FHEMWEB, you have to specify a base path in all requests; this value is stored in the variable $FW_ME and defaults to /fhem. The user may change it by setting the webname attribute.
FHEM6.2, RasPi4, RasPi Zero W,
CUL V3, HM, ZWave, IT, vcontrol, owntracks, alexa

DS_Starter

Jepp, genau die ist es. Habe ich auch in meinen anderen Modulen wie 49_SSCam so verwendet.
Frag mich mal warum hier nicht ...  :o

Liegt wieder im contrib zum Test.
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

khk123

Prima, geht! Ich glaube die Zeile 570 würde auch noch diese Änderung vertragen. ;-)

          $ret .= qq{Watch <a href="/fhem?detail=$d">$d</a> is disabled};

Viele Grüße und danke für die schnelle Änderung.
Karlheinz
FHEM6.2, RasPi4, RasPi Zero W,
CUL V3, HM, ZWave, IT, vcontrol, owntracks, alexa

DS_Starter

Klar, hab ich auch noch nachgezogen. Liegt im contrib und ich checke die Änderung dann auch noch ein.

Heiko
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

khk123

FHEM6.2, RasPi4, RasPi Zero W,
CUL V3, HM, ZWave, IT, vcontrol, owntracks, alexa

Sany

Hallo Heiko,

großes Lob für das Watches-modul. Lassen sich schöne Uhren damit anzeigen.
Auf der fhem-WEB-Oberfläche läuft das prima. Ich möchte meine Oberfläche allerdings auf DOIF-ui_Table umstellen. Da klappt das mit Watches leider nicht. Ich kann zwar eine Uhr innerhalb einer Gruppe anzeigen lassen, bei ui_Table besteht aber die Möglichkeit, eine "Tabelle" als Grundgerüst zu nehmen und verschiedene Sachen auch nebeneinander zu plazieren.
ui_Table kann eigentlich alles möglich anzeigen, eben auch einfach html. Gibt es eine Möglichkeit, dass ich mir ein WatchesDevice definiere und auf das Ergebnis als html zugreife? Ich muss gestehen, die Mechanismen mit Javascript und html und was wo hin muss habe ich noch nicht durchschaut, aber vielleicht kannst Du was dazu sagen.

Hier https://wiki.fhem.de/wiki/DOIF/uiTable_Schnelleinstieg#Eigene_uiTable-Funktionen_programmieren ist gleich am Anfang der Beispieldefinition ein Weg gezeigt, eine Funktion, die html zurückliefert, einzubinden.

Würde mich freuen, wenn Du da mal einen BLick drauf werfen könntest.

Vielen Dank!

Sany
fhem als LXC auf Proxmox auf einem minix Z100 , weitere LXC mit ZigBee2MQTT, MariaDB und Grafana. Homematic, FS20, mySensors, MQTT2, Tasmota, Shelly, Z-Wave  ....

DS_Starter

#143
Hallo Sany,

Zitat
Gibt es eine Möglichkeit, dass ich mir ein WatchesDevice definiere und auf das Ergebnis als html zugreife?

Eigentlich sollte das machbar sein. Allerdings hatte ich es bisher nicht für den Nutzer so vorgesehen.
Um eine html zurück zu bekommen, könnte man theoretisch folgende Funktion nutzen


  FHEM::Watches::modernWatch ("BlueHand")


"BlueHand" wäre der Name eines definierten Watches-Device. Diese Funktion liefert HTML-Code mit eingebetteten JS zurück.
Wie man das in uiTable einbindet weiß ich allerdings nicht, nutze weder DOIF noch uiTable.
modernWatch könnte auch stationWatch oder digitalWatch je nach Typ des definierten Devices.

Wenn ich den Link richtig interpretiere, müsste man einfach


return(<HTML-code>) angeben, also

return( FHEM::Watches::modernWatch ("BlueHand") )


"BlueHand" wäre natürlich durch ein Device in deinem FHEM zu ersetzen.
Probier mal, vllt. klappt das ja sogar.  ;)

LG,
Heiko
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Sany

#144
funktiniert prima!

ich habs mal im DOIF-Bereich beschrieben, wie man ein Watches-Device dann in uiTable einbauen kann. Passt dort eher hin.
https://forum.fhem.de/index.php/topic,120681.msg1152634.html#msg1152634

Nochmals vielen Dank!

Sany
fhem als LXC auf Proxmox auf einem minix Z100 , weitere LXC mit ZigBee2MQTT, MariaDB und Grafana. Homematic, FS20, mySensors, MQTT2, Tasmota, Shelly, Z-Wave  ....

megadodopublications

Hallo zusammen,

bin gerade über diese hübsche Erweiterung gestolpert. Sehr fein, kann ich mir gut als Basis für die Restlaufzeit der Waschmaschine vorstellen, Anzeige zB in FTUI.

Zwei Fragen:
1.) wenn ich timeAsReading einschalte, bekomme ich beim Countdown sekündlich von currtime ein Event - erstmal ok, aber auf einem belasteten System würde ich mir wünschen, dass nur alle x Zeiteinheiten ein Event generiert wird.
Ein
event-on-change-reading mit currtime:10
war nicht erfolgreich. (ja, nur ein Versuch, ich habe nicht wirklich erwartet, dass es so einfach sein wird..)

2.) die Events werden scheinbar nur generiert, wenn der Timer aktuell von einem Browser angezeigt wird.
Fenster zu - keine Events, aber der Countdown läuft trotzdem weiter... magisch :-)
aber für eine Anzeige in FTUI benötige ich zumindest alle x Zeiteinheiten eines.

Welche Möglichkeiten habe ich?

Vielen Dank vorab
Ralph.

DS_Starter

Hallo Ralph,

oh je, ist schon lange her dass mal eine Frage zu dem Modul gestellt wurde ;-)

Also das Modul funktioniert teilweise mit JavaScipt und Perl-Bestandteilen und ist insofern anders als "normale" Module.
Deswegen ist es auf die laufende Browser (JavaScript) Komponente angewiesen.

Wenn du nur alle 5 Sekunden einen Event haben möchtest, kannst du setzen:


event-min-interval  currtime:5


Wie gesagt, klappt das nur mit laufender Browser-Komponente. Hast du ja auch bereits festgestellt.
Bisschen Magie ist schon dabei :)

Grüße,
Heiko
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter


Brause

Als Anregung mal meine Eieruhr fürs TabletUI.

Der Browser auf dem TabletUI angezeigt wird läuft ja sowieso
Habe ein separates WEB definiert, das im Endeffekt nur die Uhr anzeigt.

defmod WEB_Eier FHEMWEB 8887 global
attr WEB_Eier CORS 1
attr WEB_Eier Css input, #logo, #menu, #textInput {\
display: none !important;;\
}\
\
#content {\
left: 0px !important;;\
top:  0px !important;;\
}\
attr WEB_Eier HTTPS 1
attr WEB_Eier alias WEB_Eier Lokal 8887
attr WEB_Eier defaultRoom EierUhr
attr WEB_Eier group FHEM-WEB
attr WEB_Eier hiddenroom save,Tablet-UI,Unsorted,Everything,Logfile,Commandref,Remote doc,Edit files,Select style,Event monitor
attr WEB_Eier hiddenroomRegexp \b(?!.*Uhr\b)\w+
attr WEB_Eier longpoll websocket
attr WEB_Eier stylesheetPrefix default


und im TabletUI dann als iframe eingebunden.
<iframe src="https://192.168.6.249:8887/fhem" style="width:150;height:50;border:0; border:none;margin-left: 130px;" width="150" height="50"></iframe>

wenn die Uhr nicht angezeigt werden soll, kann man auch höhe und breite von dem Iframe auch auf 0 setzen.

Achso nochwas.
Das Iframe sollte nur in einem Browser/Tablet eingebunden sein, sonst kann es zu lustigen Zeitsprüngen kommen.
Bei mir halt nur auf dem WandTablet in der Küche.

Invers

Ist es möglich, die Uhr positionierbar zu machen?
Mir fehlen dafür die Anfasser im Style f18.
Falls das so nicht möglich ist, wäre dann eine Positionsangabe wie z.B. im Flurplan möglich?
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2