FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: DarkT am 31 Juli 2018, 07:02:17

Titel: [Gelöst] Startzeitpunkt eines Rechners in einem reading speichern
Beitrag von: DarkT am 31 Juli 2018, 07:02:17
Hallo zusammen,

ich habe in der folgenden Art meine Rechner zuHause in FHEM integriert:


defmod pr_VDR PRESENCE function {checkFritzMACpresent("FritzBox","aa:bb:cc:dd:ee:ff:gg")} 60 60
attr pr_VDR alias VDR
attr pr_VDR devStateIcon .*absent:it_pc .*present:it_pc@green
attr pr_VDR event-on-change-reading state
attr pr_VDR group Rechner
attr pr_VDR room Z_System->Server
attr pr_VDR userReadings uptime


Ich möchte jetzt, dasss das userreading uptime mit dem aktuellen Startzeitpunkt (und von mir aus auch Zeitpunkt des Beendens) gefüllt wird. Dazu habe ich mir das folgende Notify überlegt:


defmod ntf_state_vdr notify pr_VDR:state:.* {fhem("setreading pr_VDR uptime " . POSIX::strftime("%H:%M:%S %d.%m.%y",localtime(time)))}


Wenn ich den Anweisungsteil manuell ausführe, dann wird der Zeitstempel aktualisiert.

Es scheint aber, dass das Notify nicht getriggert wird. Mache ich was falsch?
Titel: Antw:Wie kann man den Startzeitpunkt eines Rechners in einem reading speichern
Beitrag von: CoolTux am 31 Juli 2018, 07:29:07
Und warum machst du ein notify und machst nicht mit userReading weiter?


attr pr_VDR userReadings uptime:presence:.* { POSIX::strftime("%H:%M:%S %d.%m.%y",localtime(time)) }


Sollte so in etwa gehen.
Titel: Antw:Wie kann man den Startzeitpunkt eines Rechners in einem reading speichern
Beitrag von: Ellert am 31 Juli 2018, 08:00:52
Stimmt das Suchmuster mit dem Event überein?
Titel: Antw:Wie kann man den Startzeitpunkt eines Rechners in einem reading speichern
Beitrag von: DarkT am 31 Juli 2018, 08:02:33
Zitat von: CoolTux am 31 Juli 2018, 07:29:07
Und warum machst du ein notify und machst nicht mit userReading weiter?


attr pr_VDR userReadings uptime:presence:.* { POSIX::strftime("%H:%M:%S %d.%m.%y",localtime(time)) }


Sollte so in etwa gehen.

Manche Dinge sind in meinem Kopf komplizierte als in Wirklichkeit :)

Ich werde das mal testen. Danke
Titel: Antw:Wie kann man den Startzeitpunkt eines Rechners in einem reading speichern
Beitrag von: DarkT am 31 Juli 2018, 08:26:56
Ich verzweifele langsam...

Ich habe jetzt ein userreading eingerichtet:


attr pr_LaptopLisa userReadings backupTime:backupState_LAPTOP_Lisa:.* {POSIX::strftime("%H:%M:%S %d.%m.%y",localtime(time))}


Das sollte sich doch ändern, wenn ich in dem dummy backupState_LAPTOP_Lisa z.B. den STATE ändere.

Dummy:


defmod backupState_LAPTOP_Lisa dummy
attr backupState_LAPTOP_Lisa alias Laptop Lisa
attr backupState_LAPTOP_Lisa devStateIcon .*OK:ampel_gruen .*OLD:ampel_rot
attr backupState_LAPTOP_Lisa group Backup
attr backupState_LAPTOP_Lisa room Z_System->Backup


Wenn ich jetzt:


set backupState_LAPTOP_Lisa OK


mache, dann ändert sich die backupTime in meinem Device pr_LaptopLisa aber nicht.

Titel: Antw:Wie kann man den Startzeitpunkt eines Rechners in einem reading speichern
Beitrag von: 87insane am 31 Juli 2018, 08:27:43
Hi,

ich weiß das ist jetzt ein wenig mehr aber mir ist der Anwendungszweck noch nicht bekannt bei dir...
Ich hatte mir mal für meinen alten Trockner mit Strom-Mess-Steckdose eine Benachrichtigung gebaut.
Diese benötigt auch einen Start und Endzeitpunkt. Hinzu berechnet es mir den Verbrauch des Gerätes...

Hänge den Code einfach mal an:
# Trockner

define n_s_trockner_start notify s_trockner:power:.* {\
     if (ReadingsNum("s_trockner", "power", 0) > 45 && ReadingsVal("s_trockner", "running", "off") eq "off") {\
          fhem("setreading s_trockner running on");;\
          fhem("set p.nachrichten message | ".strftime("%H:%M", localtime)." Uhr: Der Trockner startet");;\
      }\
     if (ReadingsNum("s_trockner", "power", 0) < 40 && ReadingsVal("s_trockner", "running", "off") eq "on") {\
          fhem("setreading s_trockner running off");;\
          fhem("set klingel_vorne on");;\
          fhem("set p.nachrichten message Verbrauch: ".ReadingsVal("s_trockner","trocknungsgang","")." Watt. Zeit: ".strftime("%H:%M",
          localtime(ReadingsAge('s_trockner','total_temp',0)-3600))." Std. | ".strftime("%H:%M", localtime)." Uhr: Der Trockner ist fertig");;\
      }\
}


Hinzu das Attribut für den Trockner:
attr s_trockner userReadings total_temp:running.*on.* { ReadingsVal("s_trockner","total",0) },trocknungsgang:running.*off.* { ReadingsVal("s_trockner","total",0) - ReadingsVal("s_trockner","total_temp",0) }

Am Anfang meldet mir die Dose bzw. Fhem das der Trockner startet.
Am Ende bekomme ich eine Zusammenfassung gesendet. Diese beinhaltet: Verbrauch und Trocknungszeit
Hinzu klingelt meine Haustür Schelle einmal, da ich den Trockner sonst nie höre und er sich tot piepst.
Titel: Antw:Wie kann man den Startzeitpunkt eines Rechners in einem reading speichern
Beitrag von: DarkT am 31 Juli 2018, 08:39:43
Danke für den Code, 87insane.

Wenn ich das richtig verstehe bei den userreadings, dann werden die NUR dann neu berechnet, wenn sich ein reading ändert.

Wie bekomme ich es aber hin, dass die auch dann neu berechnet werden, wenn sich das reading eines anderen Devices ändert? Muss ich dann doch ein notify nehmen?
Titel: Antw:Wie kann man den Startzeitpunkt eines Rechners in einem reading speichern
Beitrag von: 87insane am 31 Juli 2018, 08:50:06
Naja... Das ist ja denkbar einfach in diesem Fall.

Bei meiner Trockner-Geschichte gehe ich von z.B.
if (ReadingsNum("s_trockner", "power", 0) > 45 && ReadingsVal("s_trockner", "running", "off") eq "off")
aus.

Wenn ich also nicht von s_trockner und dem Reading power ausgehen würde sondern von z.B.
dem Gerät blabla123 und dem Reading ichBinEinReading, dann würde auch einfach nur das geändert bzw. angepasst. Es
ist mir noch immer nicht bekannt was du genau vorhast... Ab und an sind die Lösungen einfacher als man denkt.

Ich selber bin noch in der Anfängerphase und bin um jede Hilfe hier froh!

In dem Trocknerbeispiel reagiert er ja auch durch ein Notify. Er muss ja irgendeinen Trigger haben... Erklär am besten wirklich mal den Anwendungsfall.
Auf einer Seite haben wir den Trigger (notify) auf der anderen Seite haben wir die Bedingungen (if)...
Titel: Antw:Wie kann man den Startzeitpunkt eines Rechners in einem reading speichern
Beitrag von: DarkT am 31 Juli 2018, 08:57:24
Zitat von: 87insane am 31 Juli 2018, 08:50:06
Es ist mir noch immer nicht bekannt was du genau vorhast... Ab und an sind die Lösungen einfacher als man denkt.

Ich selber bin noch in der Anfängerphase und bin um jede Hilfe hier froh!

Eigentlich habe ich vor so ne Art Übersicht über mein Netzwerk zu machen....


Ich habe mir dazu eine readingsgroup gebaut, die jetzt verschiedene Devices auflistet. Das Problem ist halt, dass die Informationen die ich benötige in verschiedenen Devies untergebracht sind.

Das Presence Device soll den aktuellen Status und den Zeitpunkt des Statsuwechsels erfassen:


defmod pr_LaptopLisa PRESENCE function {checkFritzMACpresent("FritzBox","aa::bb:cc::dd:ee")} 60 60
attr pr_LaptopLisa event-on-change-reading state
attr pr_LaptopLisa userReadings uptime:presence:.* { POSIX::strftime("%H:%M:%S %d.%m.%y",localtime(time)) }


und dann gibt es noch einen Dummy, der durch meine Backup-Software gefüttert wird:


defmod backupState_LAPTOP_Lisa dummy
attr backupState_LAPTOP_Lisa alias Laptop Lisa

setstate backupState_LAPTOP_Lisa OK
setstate backupState_LAPTOP_Lisa 2018-07-31 01:05:00 backupDate 07/30/18 19:52:42


Ich wollte nun die Infos aus diesem Dummy Devices in das Presence Device übernehmen.

Zur Lösung habe ich mir eine notify angelegt:


defmod ntf_backup_lisa notify backupState_LAPTOP_Lisa:.* \
{fhem("setreading pr_LaptopLisa backupTime " . ReadingsVal("backupState_LAPTOP_Lisa","backupDate",""));;\
fhem("setreading pr_LaptopLisa backupState " . ReadingsVal("backupState_LAPTOP_Lisa","state",""));;}
attr ntf_backup_lisa room Z_System->Backup


Das funktioniert soweit auch. Ich hatte aber gehoft, dass mit einem UserReading besser lösen zu können.

Titel: Antw:Wie kann man den Startzeitpunkt eines Rechners in einem reading speichern
Beitrag von: CoolTux am 31 Juli 2018, 09:28:19
Zitat von: DarkT am 31 Juli 2018, 08:26:56
Ich verzweifele langsam...

Ich habe jetzt ein userreading eingerichtet:


attr pr_LaptopLisa userReadings backupTime:backupState_LAPTOP_Lisa:.* {POSIX::strftime("%H:%M:%S %d.%m.%y",localtime(time))}


Das sollte sich doch ändern, wenn ich in dem dummy backupState_LAPTOP_Lisa z.B. den STATE ändere.

Dummy:


defmod backupState_LAPTOP_Lisa dummy
attr backupState_LAPTOP_Lisa alias Laptop Lisa
attr backupState_LAPTOP_Lisa devStateIcon .*OK:ampel_gruen .*OLD:ampel_rot
attr backupState_LAPTOP_Lisa group Backup
attr backupState_LAPTOP_Lisa room Z_System->Backup


Wenn ich jetzt:


set backupState_LAPTOP_Lisa OK


mache, dann ändert sich die backupTime in meinem Device pr_LaptopLisa aber nicht.

Egal mit welcher Version Du hier weiter machst, so lange du nicht verstanden hast was genau passiert und wie es funktioniert wirst du nicht glücklich.
Lese Dir bitte z.B die Beschreibung für userReadings durch.

attr pr_LaptopLisa userReadings backupTime:backupState_LAPTOP_Lisa:.*
Das hier ist Unsinn so lange Du in dem Device vom userReadings nicht ein Reading backupState_LAPTOP_Lisa hast.
Desweiteren hilft es einmal genau zu beschreiben was du erreichen willst und mit welchen Devices. Und genau von diesen Devices gibst du uns ein list
list DEVICENAME
Titel: Antw:Wie kann man den Startzeitpunkt eines Rechners in einem reading speichern
Beitrag von: 87insane am 31 Juli 2018, 09:59:28
Hi,

geht es dir rein um FHEM und hast du alle benötigt Daten schon in irgendeiner Form vorliegen?
Was du vorhast im groben, glaube ich verstanden zu haben.

Am Ende willst du alle sinnvollen Daten aus deinem Home Netzwerk gesammelt an einer Stelle haben oder eine Warnung wenn mal z.B. ein BU nicht läuft.
Mir ist noch nicht klar:

- Woher kommen die Daten?
- Wie kommen diese dahin?
- Was willst du alles auswerten?
- List Devices wie es bisher ist und am besten schon mal umdenken. Für mich hört sich das an als würdest du aktuell einen falschen Weg nehme wollen.

Welche Rechner z.B. laufen könnte FHEM via ARP oder Ping oder sonst was auch direkt feststellen. Ob es sinnig ist über die FritzBox zu gehen? In meinem Netzwerk z.B. würde ich nicht über den Router gehen. Aber gut das ist ja meine Sache. Um so mehr du schreibst, um so mehr Fragen tuen sich bei mir auf. Am besten (auch wenn es viel Text wäre) schreib mal alles auf von A-Z.

Titel: Antw:Wie kann man den Startzeitpunkt eines Rechners in einem reading speichern
Beitrag von: DarkT am 31 Juli 2018, 10:34:35
Zitat von: CoolTux am 31 Juli 2018, 09:28:19
Egal mit welcher Version Du hier weiter machst, so lange du nicht verstanden hast was genau passiert und wie es funktioniert wirst du nicht glücklich.
Lese Dir bitte z.B die Beschreibung für userReadings durch.

Ja, Du hast recht CoolTux. Ich habe das mit den userreadings tasächlich noch nicht verstanden gahabt, mir ist aber mittlerweile klar, dass die userreadings nur aktualisiert werden, wenn auch die readings des Devices sich ändern. Danke dafür.

Zum Ablauf:

Ich habe (hier exemplarisch eines) PRESENCE Module, die mit Hilfe der Fritzbox checken ob eine Rechner im Netzwerk angemeldet ist.


Internals:
   .triggerUsed 1
   DEF        function {checkFritzMACpresent("FritzBox","44:1C:A8:29:53:2F")} 60 60
   INTERVAL_NORMAL 60
   INTERVAL_PRESENT 60
   MODE       function
   NAME       pr_LaptopLisa
   NOTIFYDEV  global
   NR         91
   NTFY_ORDER 50-pr_LaptopLisa
   STATE      absent
   TYPE       PRESENCE
   .attraggr:
   .attreocr:
     state
   .attrminint:
   .userReadings:
     HASH(0x4c97580)
   READINGS:
     2018-07-31 10:26:30   .absenceThresholdCounter 0
     2018-07-31 10:26:30   .presenceThresholdCounter 0
     2018-07-31 01:05:00   backupState     OK
     2018-07-31 01:05:00   backupTime      07/30/18 19:52:42
     2018-07-29 23:04:29   model           function
     2018-07-31 10:26:30   presence        absent
     2018-07-31 10:26:30   state           absent
     2018-07-31 08:50:12   uptime          08:50:12 31.07.18
   helper:
     CURRENT_STATE present
     call       {checkFritzMACpresent("FritzBox","aa:bb:cc:dd:ee:ff")}
Attributes:
   alias      Laptop Lisa
   devStateIcon .*absent:it_pc .*present:it_pc@green
   event-on-change-reading state
   group      Rechner
   room       Z_System->Server
   userReadings uptime:presence:.* { POSIX::strftime("%H:%M:%S %d.%m.%y",localtime(time)) }


dann gibt es noch einen Backup-Dummy, der den aktuellen Backup-Status des Rechners verwaltet:


Internals:
   DEF       
   NAME       backupState_LAPTOP_Lisa
   NR         160
   STATE      OK
   TYPE       dummy
   .attraggr:
   .attrminint:
   READINGS:
     2018-07-31 01:05:00   backupDate      07/30/18 19:52:42
     2018-07-31 08:30:32   state           OK3
Attributes:
   alias      Laptop Lisa
   devStateIcon .*OK:ampel_gruen .*OLD:ampel_rot
   group      Backup
   room       Z_System->Backup


Die Dummys werden über das folgende at (und dem dahinter liegen Perl Skript) gefüllt:


Internals:
   COMMAND    {system('python3 /opt/fhem/script/backup_state.py')}
   DEF        *01:00:00 {system('python3 /opt/fhem/script/backup_state.py')}
   NAME       check_backup
   NR         153
   PERIODIC   yes
   RELATIVE   no
   REP        -1
   STATE      Next: 01:00:00
   TIMESPEC   01:00:00
   TRIGGERTIME 1533078000
   TRIGGERTIME_FMT 2018-08-01 01:00:00
   TYPE       at
   .attraggr:
   .attrminint:
   READINGS:
     2018-07-31 01:00:08   state           Next: 01:00:00
Attributes:
   room       Z_System->Backup



#!/usr/bin/python
# -*- coding: utf-8 -*-


import urbackup_api
import time
import datetime

server = urbackup_api.urbackup_server("http://kodi:55414/x", "admin", "251195geheim")

clients = server.get_status()
diff_time = 3*24*60*60 # 3 days
file = open("/opt/fhem/script/backup_state.cfg", "w");

for client in clients:   
    if client["lastbackup"]=="-" or client["lastbackup"]==0:
        lastbackup = "Never"
    else:
        lastbackup = datetime.datetime.fromtimestamp(client["lastbackup"]).strftime("%x %X")

    file.write("setreading backupState_{device} backupDate {date}\r\n".format(device=client["name"].replace("-","_"),date=lastbackup))

    if client["lastbackup"]=="-" or client["lastbackup"] < time.time() - diff_time:
        print("Last file backup at {lastbackup} of client {clientname} is older than three days".format(
              lastbackup=lastbackup, clientname=client["name"] ) )
        file.write("set backupState_{device} OLD\r\n".format(device=client["name"].replace("-","_")))
    else:
        lastbackup = datetime.datetime.fromtimestamp(client["lastbackup"]).strftime("%x %X")
        print("Last file backup at {lastbackup} of client {clientname} is OK".format(
              lastbackup=lastbackup, clientname=client["name"] ) )
        file.write("set backupState_{device} OK\r\n".format(device=client["name"].replace("-","_")))
   
file.close();


Ziel des Skriptes ist die Erstellung einer Datei backup_state.cfg, die z.B. wie folgt aussieht


setreading backupState_LAPTOP_Lisa backupDate 07/30/18 19:52:42
set backupState_LAPTOP_Lisa OK


Dieses Skript wird dann zyklisch in das System integriert:


Internals:
   COMMAND    {fhem('include /opt/fhem/script/backup_state.cfg')}
   DEF        *01:05:00 {fhem('include /opt/fhem/script/backup_state.cfg')}
   NAME       check_backup_inc
   NR         154
   PERIODIC   yes
   RELATIVE   no
   REP        -1
   STATE      Next: 01:05:00
   TIMESPEC   01:05:00
   TRIGGERTIME 1533078300
   TRIGGERTIME_FMT 2018-08-01 01:05:00
   TYPE       at
   .attraggr:
   .attrminint:
   READINGS:
     2018-07-31 01:05:00   state           Next: 01:05:00
Attributes:
   room       Z_System->Backup


Abschliessend soll dan ganze dann in einer Readings Group angezeitg werden:


Internals:
   DEF        <Rechner>,<Online>,<>,<Backup>,<> pr_LaptopLisa:state,uptime,backupState,backupTime pr_Raspi:state,uptime,backupState,backupTime pr_VDR:state,uptime,backupState,backupTime
   NAME       rgComputer
   NR         184
   NTFY_ORDER 50-rgComputer
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   CONTENT:
     pr_LaptopLisa 1
     pr_Raspi   1
     pr_VDR     1
   CONTENT2:
   DEVICES:
     ARRAY(0x558cd38)
     ARRAY(0x579b470)
     ARRAY(0x5553a90)
     ARRAY(0x56a17f8)
   fhem:
     lastDefChange 30
     last_update 1533025490.03462
   helper:
     DEF       
     positions:
       pr_LaptopLisa.backupState 2:3
       pr_LaptopLisa.backupTime 2:4
       pr_LaptopLisa.state 2:1
       pr_LaptopLisa.uptime 2:2
       pr_Raspi.state 3:1
       pr_Raspi.uptime 3:2
       pr_VDR.state 4:1
       pr_VDR.uptime 4:2
     valueIcon:
       backupState.OK ampel_gruen
       backupState.OLD ampel_rot
       state.absent it_pc
       state.present it_pc@green
     values:
       formated:
         undef
         ARRAY(0x59aee58)
         ARRAY(0x4ca0fe0)
         ARRAY(0x57cda38)
         ARRAY(0x5602320)
       orig:
         undef
         ARRAY(0x56a03f8)
         ARRAY(0x58b3340)
         ARRAY(0x5615d30)
         ARRAY(0x5906da0)
       prefixsuffix:
         undef
         ARRAY(0x5654230)
         ARRAY(0x585a418)
         ARRAY(0x575a6b0)
         ARRAY(0x55b8d40)
Attributes:
   room       Bewohner,Z_System->Server
   sortby     2
   valueIcon  {'state.present' => 'it_pc@green', 'state.absent' => 'it_pc', 'backupState.OK' => 'ampel_gruen', 'backupState.OLD' => 'ampel_rot'}




Hoffe das war jetzt verständlich?

Titel: Antw:Wie kann man den Startzeitpunkt eines Rechners in einem reading speichern
Beitrag von: CoolTux am 31 Juli 2018, 12:17:21
Fangen wir in kleinen schritten an.


Internals:
   .triggerUsed 1
   DEF        function {checkFritzMACpresent("FritzBox","44:1C:A8:29:53:2F")} 60 60
   INTERVAL_NORMAL 60
   INTERVAL_PRESENT 60
   MODE       function
   NAME       pr_LaptopLisa
   NOTIFYDEV  global
   NR         91
   NTFY_ORDER 50-pr_LaptopLisa
   STATE      absent
   TYPE       PRESENCE
   .attraggr:
   .attreocr:
     state
   .attrminint:
   .userReadings:
     HASH(0x4c97580)
   READINGS:
     2018-07-31 10:26:30   .absenceThresholdCounter 0
     2018-07-31 10:26:30   .presenceThresholdCounter 0
     2018-07-31 01:05:00   backupState     OK
     2018-07-31 01:05:00   backupTime      07/30/18 19:52:42
     2018-07-29 23:04:29   model           function
     2018-07-31 10:26:30   presence        absent
     2018-07-31 10:26:30   state           absent
     2018-07-31 08:50:12   uptime          08:50:12 31.07.18
   helper:
     CURRENT_STATE present
     call       {checkFritzMACpresent("FritzBox","aa:bb:cc:dd:ee:ff")}
Attributes:
   alias      Laptop Lisa
   devStateIcon .*absent:it_pc .*present:it_pc@green
   event-on-change-reading state
   group      Rechner
   room       Z_System->Server
   userReadings uptime:presence:.* { POSIX::strftime("%H:%M:%S %d.%m.%y",localtime(time)) }


Bei dieser Konstellation passiert mit dm userReadings gar nichts. Wir haben ihm gesagt er soll beim Reading presence triggern. Das geht aber nicht weil Dein event-on-change-reading lediglich ein Event auf state zu lässt.
Also wenn dann nur

event-on-change-reading presence

oder

event-on-change-reading presence,state

Dann füllt sich auch schon mal Dein userReadings.

Was ich jetzt noch nicht ganz durch blicke ist wie das userReading Dir genau hilft. Wo verwendest Du es dann weiter?
Titel: Antw:Wie kann man den Startzeitpunkt eines Rechners in einem reading speichern
Beitrag von: DarkT am 31 Juli 2018, 13:19:10
Zitat von: CoolTux am 31 Juli 2018, 12:17:21
...
Was ich jetzt noch nicht ganz durch blicke ist wie das userReading Dir genau hilft. Wo verwendest Du es dann weiter?

Ich möchte dannin der Readingsgroup die Daten der einzelenen rechner anzeigen


Name,    Status,   Startzeit/Endzeit,       BackupStatus,  BackupZeitpunkt
...



Internals:
   DEF        <Rechner>,<Online>,<>,<Backup>,<> pr_LaptopLisa:state,uptime,backupState,backupTime pr_Raspi:state,uptime,backupState,backupTime pr_VDR:state,uptime,backupState,backupTime
   NAME       rgComputer
   NR         184
   NTFY_ORDER 50-rgComputer
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   CONTENT:
     pr_LaptopLisa 1
     pr_Raspi   1
     pr_VDR     1
   CONTENT2:
   DEVICES:
     ARRAY(0x558cd38)
     ARRAY(0x579b470)
     ARRAY(0x5553a90)
     ARRAY(0x56a17f8)
   fhem:
     lastDefChange 30
     last_update 1533025490.03462
   helper:
     DEF       
     positions:
       pr_LaptopLisa.backupState 2:3
       pr_LaptopLisa.backupTime 2:4
       pr_LaptopLisa.state 2:1
       pr_LaptopLisa.uptime 2:2
       pr_Raspi.state 3:1
       pr_Raspi.uptime 3:2
       pr_VDR.state 4:1
       pr_VDR.uptime 4:2
     valueIcon:
       backupState.OK ampel_gruen
       backupState.OLD ampel_rot
       state.absent it_pc
       state.present it_pc@green
     values:
       formated:
         undef
         ARRAY(0x59aee58)
         ARRAY(0x4ca0fe0)
         ARRAY(0x57cda38)
         ARRAY(0x5602320)
       orig:
         undef
         ARRAY(0x56a03f8)
         ARRAY(0x58b3340)
         ARRAY(0x5615d30)
         ARRAY(0x5906da0)
       prefixsuffix:
         undef
         ARRAY(0x5654230)
         ARRAY(0x585a418)
         ARRAY(0x575a6b0)
         ARRAY(0x55b8d40)
Attributes:
   room       Bewohner,Z_System->Server
   sortby     2
   valueIcon  {'state.present' => 'it_pc@green', 'state.absent' => 'it_pc', 'backupState.OK' => 'ampel_gruen', 'backupState.OLD' => 'ampel_rot'}


Die Startzeit/Endzeit wollte ich dann aus dem UserReading auslesen, genauso wie später den Backup-Zeitpunkt
Titel: Antw:Wie kann man den Startzeitpunkt eines Rechners in einem reading speichern
Beitrag von: CoolTux am 31 Juli 2018, 13:21:19
Gut dann haben wir das geklärt. Und wenn Du es so gemacht hast wie ich es geschrieben habe sollte es auch funktionieren.
Titel: Antw:Wie kann man den Startzeitpunkt eines Rechners in einem reading speichern
Beitrag von: DarkT am 31 Juli 2018, 13:36:01
Zitat von: CoolTux am 31 Juli 2018, 13:21:19
Gut dann haben wir das geklärt. Und wenn Du es so gemacht hast wie ich es geschrieben habe sollte es auch funktionieren.

Danke, ich werde es testen :)
Titel: Antw:[Gelöst] Startzeitpunkt eines Rechners in einem reading speichern
Beitrag von: DarkT am 01 August 2018, 07:16:15
Danke an alle Helfer, das Problem ist gelöst.