FHEM Forum

FHEM - Entwicklung => Wunschliste => Thema gestartet von: maeb3 am 28 Februar 2013, 09:17:14

Titel: Anzeige der "FHEM-Uptime"
Beitrag von: maeb3 am 28 Februar 2013, 09:17:14
Hallo,

ich fände es prima, wenn man irgendwo einen Parameter hätte, aus dem man die Uptime oder die letzte Start-/Reboot-Zeit von FHEM (nicht von der Fritzbox!) ablesen könnte. Gerade in den Experimentierphasen, in den sich viele von uns noch befinden, würde das sehr helfen (z.B. um einen unplanmäßigen Neustart schnell zu erkennen).

Optimalerweise ließe sich die Uptime dann auch noch irgendwo einblenden (z.B. unterhalb des FHEM-Menüs).

Grüße,
 Matthias
Titel: Aw: Anzeige der "FHEM-Uptime"
Beitrag von: Dietmar63 am 28 Februar 2013, 10:25:19
kannst du dir leicht selbst bauen:

Immer wenn die fhem.cfg verarbeitet wird schreibst du per at eine dummy-Variable, die aus time() per heraus gefüllt wird.
Natürlich nur dann wenn die dummyVariable noch nicht gefüllt ist. Wenn du willst kannst du dir gleich noch eine email schreiben - sollte nicht so schwer sein.


define StartUp dummy
define StartUpTimeSet       at +00:00:00  {fhem("set StartUp " . strftime("%H:%M:%S",localtime(time())))}
Titel: Aw: Anzeige der "FHEM-Uptime"
Beitrag von: Dietmar63 am 28 Februar 2013, 10:39:38
besser:


define StartUp dummy
define StartUpTimeSet       at +00:00:05  {fhem("set StartUp " . strftime("%d.%m.%Y %H:%M",localtime(time())));; mail('v.n@@web.de','FHEM','restart done!')}



(siehe Anhang / see attachement)


brauchbar? mail musst du eventuell anpassen, oder fortlassen.
Titel: Aw: Anzeige der "FHEM-Uptime"
Beitrag von: justme1968 am 28 Februar 2013, 11:42:26
oder mit notify an global:INITIALIZED hängen:define StartUp dummy
define StartUpTimeSet notify global:INITIALIZED{fhem("set StartUp " . strftime("%H:%M:%S",localtime(time())))}                                      
Titel: Aw: Anzeige der "FHEM-Uptime"
Beitrag von: justme1968 am 28 Februar 2013, 11:42:42
oder mit notify an global:INITIALIZED hängen:define StartUp dummy
define setStartUpTime notify global:INITIALIZED{fhem("set StartUp " . strftime("%H:%M:%S",localtime(time())))}                                      
Titel: Aw: Anzeige der "FHEM-Uptime"
Beitrag von: Dietmar63 am 28 Februar 2013, 11:47:21
Wieder etwas gelernt - global:INITIALIZED kannte ich noch nicht.
Titel: Aw: Anzeige der "FHEM-Uptime"
Beitrag von: punker am 28 Februar 2013, 14:23:20
Hi,
habe auch versucht euer Beispiel einzubauen, aber es kommt nur folgendes:

(http://www7.pic-upload.de/28.02.13/ihbs1xgserux.jpg)

was mach ich falsch?
Titel: Aw: Anzeige der "FHEM-Uptime"
Beitrag von: Dietmar63 am 28 Februar 2013, 15:51:45
ich könnte mir vorstellen, dass ein Leerzeichen zwischen D{ fehlt:


INITIALIZED{fhem("
so
INITIALIZED {fhem("
Titel: Aw: Anzeige der "FHEM-Uptime"
Beitrag von: justme1968 am 28 Februar 2013, 15:54:55
ja. mein fehler. hab beim posten nicht aufgepasst.

da gehört ein leerzeichen rein.

gruss
  andre
Titel: Aw: Anzeige der "FHEM-Uptime"
Beitrag von: punker am 28 Februar 2013, 17:52:34
Danke euch für die Hilfe, aber das fehlende Leerzeichen hatte ich schon vorher selber entdeckt!
Läuft aber deswegen immer noch nicht - Ergebnis ist dasselbe!
Titel: Aw: Anzeige der "FHEM-Uptime"
Beitrag von: Reinerlein am 28 Februar 2013, 18:18:17
Hi Dietmar,

du könntest es so schreiben:define StartUp dummy
define setStartUpTime notify global:INITIALIZED {readingsSingleUpdate($main::defs{StartUp}, 'state', TimeNow(), 1)}
Damit erhältst du ein Device, dessen State einmalig auf die aktuelle Uhrzeit gesetzt wird.

Wenn du auch noch die Uptime brauchst, dann musst du mit dieser Zeit rechnen. Da hast du aber das Problem, dass du ein Event brauchst.
Da könntest du jetzt sowas machen wie ein at alle 60sekunden oder so... Dann wäre deine Uptime-Anzeige Minutengenau :-)

Grüße Reinerlein
Titel: Aw: Anzeige der "FHEM-Uptime"
Beitrag von: maeb3 am 28 Februar 2013, 21:37:05
Hallo zusammen,

funktioniert prima bei mir.

Danke,
 Matthias