[gelöst] Woher kommt der Timestamp?

Begonnen von Gisbert, 16 Februar 2025, 09:44:13

Vorheriges Thema - Nächstes Thema

Gisbert

Hallo,

ich hab eine readingsGroup für den Batteriezustand, die ich aus dem Wiki kopiert habe. Mit der Definition kommt auch ein sekundengenauer Timestamp mit, der mir aber zu lang ist, da er auf dem Handy ohne Scrollen nicht ganz angezeigt wird.

Ich hätte gerne den Timestamp minutengenau dargestellt - ich weiß nur nicht wie. Bei anderen Fällen könnte ich mir meist selbst behelfen und mit Hilfe der commandref eine Lösung finden.

define Battery.State readingsGroup (Garagentor.Kontakt|HandsenderGarage|TH.Haushaltsraum|TH.Kuhlmannweg8|Wassermelder):([Bb]attery|[Bb]attery[Ss].*)
attr Battery.State alias Battery state
attr Battery.State room Home HM
attr Battery.State valueFormat {return "0" if( $VALUE eq "low" );;\
return "100" if( $VALUE eq "ok" );;}
attr Battery.State valueIcon {'battery.0' => 'measure_battery_0@red', \
'battery.100' => 'measure_battery_100@green', \
'batteryState.0' => 'measure_battery_0@red', \
'batteryState.100' => 'measure_battery_100@green', \
'Battery.0' => 'measure_battery_0@red', \
'Battery.100' => 'measure_battery_100@green', \
'batteryLevel.0' => 'measure_battery_0@red', \
'batteryLevel.100' => 'measure_battery_100@green',}
#  CFGFN      ./FHEM/HomematicAktorenSensoren.cfg
#  DEF        (Garagentor.Kontakt|HandsenderGarage|TH.Haushaltsraum|TH.Kuhlmannweg8|Wassermelder):([Bb]attery|[Bb]attery[Ss].*)
#  FUUID      5c430dca-f33f-b139-eb1f-20fed27be2220e10
#  NAME      Battery.State
#  NR        873
#  NTFY_ORDER 50-Battery.State
#  STATE      Initialized
#  TYPE      readingsGroup
#  changed    0
#  mayBeVisible 1
#  CONTENT:
#    Garagentor.Kontakt 1
#    HandsenderGarage 1
#    TH.Haushaltsraum 1
#    TH.Kuhlmannweg8 1
#    Wassermelder 1
#  CONTENT2:
#  DEVICES:
#    ARRAY(0x5564c21b2bc0)
#    ARRAY(0x5564c31e39c8)
#    ARRAY(0x5564bda1ea50)
#    ARRAY(0x5564c1594d48)
#    ARRAY(0x5564c2f26f18)
#  fhem:
#    lastDefChange 29
#    last_update 1739695007.79656
#  helper:
#    DEF       
#    valueFormat {return "0" if( $VALUE eq "low" );
#return "100" if( $VALUE eq "ok" );}
#    bm:
#      readingsGroup_Attr:
#        cnt        2
#        dmx        -1000
#        dtot      0
#        dtotcnt    0
#        mTS        16.02. 09:25:23
#        max        0.00100612640380859
#        tot        0.00186419486999512
#        mAr:
#          set
#          Battery.State
#          valueFormat
#          {return "0" if( $VALUE eq "low" );
#return "100" if( $VALUE eq "ok" );
#"%.10f";}
#      readingsGroup_Define:
#        cnt        5
#        dmx        -1000
#        dtot      0
#        dtotcnt    0
#        mTS        16.02. 09:11:42
#        max        0.0119278430938721
#        tot        0.0471556186676025
#        mAr:
#          HASH(0x5564b30954e0)
#          Battery.State readingsGroup (Garagentor.Kontakt|HandsenderGarage|TH.Haushaltsraum|TH.Kuhlmannweg8|Wassermelder):([Bb]attery|[Bb]attery[Ss]:r10)
#      readingsGroup_Get:
#        cnt        23
#        dmx        -1000
#        dtot      0
#        dtotcnt    0
#        mTS        16.02. 09:37:04
#        max        7.29560852050781e-05
#        tot        0.000779151916503906
#        mAr:
#          HASH(0x5564b30954e0)
#          Battery.State
#          ?
#      readingsGroup_Notify:
#        cnt        286199
#        dmx        -1000
#        dtot      0
#        dtotcnt    0
#        mTS        15.02. 15:57:03
#        max        0.0145878791809082
#        tot        21.2112565040588
#        mAr:
#          HASH(0x5564b30954e0)
#          HASH(0x5564b4274c48)
#      readingsGroup_Set:
#        cnt        23
#        dmx        -1000
#        dtot      0
#        dtotcnt    0
#        mTS        16.02. 09:13:44
#        max        8.10623168945312e-05
#        tot        0.000891447067260742
#        mAr:
#          HASH(0x5564b30954e0)
#          Battery.State
#          ?
#    positions:
#      Garagentor.Kontakt.battery 1:1
#      HandsenderGarage.battery 2:1
#      TH.Haushaltsraum.battery 3:1
#      TH.Kuhlmannweg8.battery 4:1
#      Wassermelder.battery 5:1
#    valueIcon:
#      Battery.0  measure_battery_0@red
#      Battery.100 measure_battery_100@green
#      battery.0  measure_battery_0@red
#      battery.100 measure_battery_100@green
#      batteryLevel.0 measure_battery_0@red
#      batteryLevel.100 measure_battery_100@green
#      batteryState.0 measure_battery_0@red
#      batteryState.100 measure_battery_100@green
#    values:
#      formated:
#        undef
#        ARRAY(0x5564b892fd78)
#      orig:
#        undef
#        ARRAY(0x5564b7bc3bb0)
#      prefixsuffix:
#        undef
#        ARRAY(0x5564c2ff38c0)
#


Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

Gisbert

Screenshot beigefügt (im 1. Beitrag), rechts fehlt minimal etwas Platz. Bei Beschränkung auf minutengenaue Angabe wäre genug Platz da.
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

TomLee

Hallo,

wenn man nur einen Wert "einliest", wird der Zeitstempel automatisch dargestellt, wenn man die Spalte mit dem Attribut notime nicht deaktiviert. Liest man mehr Werte aus gibts die Spalte gar nicht.

Es lesen sich Beiträge aus 2013 so, das Gedanken mal da waren sowas wie ein timestampFormat-Attribut einzubauen, ist aber wohl nie passiert.
Mit dem Attribut valueFormat bekommst den Zeitstempel meinem Verständnis nach nicht formatiert. Umständlich in jedem Device ein userReadings definieren mit dem Zeitstempel als Inhalt und das dann in der rG einlesen und mit ValueFormat anpassen ginge.

Hinten sollte doch mehr Platz gewonnen werden für die Sekunden, wenn Du vorne nur den Devicenamen anzeigst, oder?
attr Battery.State mapping %DEVICE
Gruß Thomas

Gisbert

Hallo Thomas,

vielen Dank für deine Erklärung und die vorgeschlagene Lösung - es hat funktioniert.

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome