Hauptmenü

Zeitstempel umrechnen

Begonnen von juergen012, 18 September 2023, 11:01:52

Vorheriges Thema - Nächstes Thema

juergen012

Hallo, da ich alleine nicht weiterkomme, stelle ich hier mal eine Frage ein.
Ich habe Ochtoprint über MQTT eingebunden. Device ist in Fhem angelegt. Jetzt bekomme ich diverse Readings. Dabei sind auch Readings über die Druckzeit, sowie über die Restzeit.
PROGRESS_printer_data_progress_printTime  PROGRESS_printer_data_progress_printTimeLeft. Leider sind die Readings im Unix Format. Meine Versuche, sie in menschenlesbare Formen zu bringen, sind gescheitert. Versucht habe ich u.a. Folgendes:
userReadings
Druckzeit {FmtTime (ReadingsVal("$name","PROGRESS_printer_data_progress_printTime",0))},
Restzeit {FmtTime (ReadingsVal("$name","PROGRESS_printer_data_progress_printTimeLeft",0))}
.
Klappt aber nicht. Was mache ich falsch???
List vom device:
Internals:
   FUUID      63dfad9a-f33f-b02d-7e1b-759c60323d5c2743
   IODev      Mqtt2_Server
   LASTInputDev Mqtt2_Server
   MSGCNT     5243
   Mqtt2_Server_CONN Mqtt2_Server_172.16.10.100_40579
   Mqtt2_Server_MSGCNT 5243
   Mqtt2_Server_TIME 2023-09-16 20:06:35
   NAME       Mqtt2_Anycubic
   NR         368
   STATE      Düse: 0 °C / Bett: 0 °C / Fortschritt: 0 %
   TYPE       MQTT2_DEVICE
   eventCount 5271
   JSONMAP:
     PRINTER_STATE__event 0
     PRINTER_STATE__timestamp 0
     PRINTER_STATE_state_id PrinterState
     PRINTER_STATE_state_string 0
     PROGRESS__timestamp timestamp
     PROGRESS_location 0
     PROGRESS_path FileName
     PROGRESS_progress Progress
     TEMP_BED__timestamp 0
     TEMP_BED_actual TemperatureBedCurrent
     TEMP_BED_target TemperatureBedTarget
     TEMP_NOZZLE__timestamp 0
     TEMP_NOZZLE_actual TemperatureNozzleCurrent
     TEMP_NOZZLE_target TemperatureNozzleTarget
   OLDREADINGS:
   READINGS:
     2023-09-16 20:09:07   Druckzeit       01:40:30
     2023-09-16 19:51:08   FileName        ArschmitOhren/AI3M_Arsch_Ohren.gcode
     2023-09-15 15:11:53   IODev           Mqtt2_Server
     2023-09-16 19:51:08   PROGRESS_printer_data_currentZ 10.0
     2023-09-15 19:52:41   PROGRESS_printer_data_job_averagePrintTime 10041.389559323
     2023-09-16 19:51:08   PROGRESS_printer_data_job_estimatedPrintTime 1947.3599224448267
     2023-09-16 19:51:08   PROGRESS_printer_data_job_filament_tool0_length 2376.320539999995
     2023-09-16 19:51:08   PROGRESS_printer_data_job_filament_tool0_volume 0.0
     2023-09-16 19:51:08   PROGRESS_printer_data_job_file_date 1693845919
     2023-09-16 19:51:08   PROGRESS_printer_data_job_file_display AI3M_Arsch_Ohren.gcode
     2023-09-16 19:51:08   PROGRESS_printer_data_job_file_name AI3M_Arsch_Ohren.gcode
     2023-09-16 19:51:08   PROGRESS_printer_data_job_file_origin local
     2023-09-16 19:51:08   PROGRESS_printer_data_job_file_path ArschmitOhren/AI3M_Arsch_Ohren.gcode
     2023-09-16 19:51:08   PROGRESS_printer_data_job_file_size 3017420
     2023-09-15 19:52:41   PROGRESS_printer_data_job_lastPrintTime 10041.389559323
     2023-09-16 19:51:08   PROGRESS_printer_data_job_user admin
     2023-09-16 19:51:08   PROGRESS_printer_data_progress_completion 100.0
     2023-09-16 19:51:08   PROGRESS_printer_data_progress_filepos 3017420
     2023-09-16 19:51:08   PROGRESS_printer_data_progress_printTime 2430
     2023-09-16 19:51:08   PROGRESS_printer_data_progress_printTimeLeft 0
     2023-09-16 19:50:40   PROGRESS_printer_data_progress_printTimeLeftOrigin linear
     2023-09-16 19:51:08   PROGRESS_printer_data_resends_count 0
     2023-09-16 19:51:08   PROGRESS_printer_data_resends_ratio 0
     2023-09-16 19:51:08   PROGRESS_printer_data_resends_transmitted 100559
     2023-09-16 19:51:08   PROGRESS_printer_data_state_error
     2023-09-16 19:51:08   PROGRESS_printer_data_state_flags_cancelling false
     2023-09-16 19:51:08   PROGRESS_printer_data_state_flags_closedOrError false
     2023-09-16 19:51:08   PROGRESS_printer_data_state_flags_error false
     2023-09-16 19:51:08   PROGRESS_printer_data_state_flags_finishing true
     2023-09-16 19:51:08   PROGRESS_printer_data_state_flags_operational true
     2023-09-16 19:51:08   PROGRESS_printer_data_state_flags_paused false
     2023-09-16 19:51:08   PROGRESS_printer_data_state_flags_pausing false
     2023-09-16 19:51:08   PROGRESS_printer_data_state_flags_printing true
     2023-09-16 19:51:08   PROGRESS_printer_data_state_flags_ready false
     2023-09-16 19:51:08   PROGRESS_printer_data_state_flags_resuming false
     2023-09-16 19:51:08   PROGRESS_printer_data_state_flags_sdReady false
     2023-09-16 19:51:08   PROGRESS_printer_data_state_text Finishing
     2023-09-16 19:51:14   PrinterState    OPERATIONAL
     2023-09-16 20:09:07   Progress        0
     2023-09-16 20:09:07   Restzeit        01:00:00
     2023-09-16 20:09:07   TemperatureBedCurrent 0
     2023-09-16 20:06:35   TemperatureBedTarget 0.0
     2023-09-16 20:09:07   TemperatureNozzleCurrent 0
     2023-09-16 20:06:24   TemperatureNozzleTarget 0.0
     2023-09-16 19:51:08   timestamp       1694886668
     2023-09-16 19:03:30   zeit            19:52:41
   hmccu:
Attributes:
   DbLogExclude .*
   autocreate 1
   jsonMap    TEMP_BED__timestamp:0
TEMP_BED_actual:TemperatureBedCurrent
TEMP_BED_target:TemperatureBedTarget
TEMP_NOZZLE__timestamp:0
TEMP_NOZZLE_actual:TemperatureNozzleCurrent
TEMP_NOZZLE_target:TemperatureNozzleTarget
PRINTER_STATE_state_id:PrinterState
PRINTER_STATE_state_string:0
PRINTER_STATE__event:0
PRINTER_STATE__timestamp:0
PROGRESS_progress:Progress
PROGRESS_location:0
PROGRESS_path:FileName
PROGRESS__timestamp:timestamp

   readingList octoPrint/temperature/tool0:.* { json2nameValue($EVENT, 'TEMP_NOZZLE_', $JSONMAP) }
octoPrint/temperature/bed:.* { json2nameValue($EVENT, 'TEMP_BED_', $JSONMAP) }
octoPrint/event/PrinterStateChanged:.* { json2nameValue($EVENT, 'PRINTER_STATE_', $JSONMAP) }
octoPrint/progress/printing:.* { json2nameValue($EVENT, 'PROGRESS_', $JSONMAP) }
   room       MQTT2_DEVICE,Octoprint
   stateFormat Düse: TemperatureNozzleCurrent °C / Bett: TemperatureBedCurrent °C / Fortschritt: Progress %
   userReadings Druckzeit {FmtTime (ReadingsVal("$name","PROGRESS_printer_data_progress_printTime",0))},
Restzeit {FmtTime (ReadingsVal("$name","PROGRESS_printer_data_progress_printTimeLeft",0))}
   verbose    2
Beste Grüße
Jürgen K.
Fhem unter Proxmox

Otto123

Zitat von: juergen012 am 18 September 2023, 11:01:52Leider sind die Readings im Unix Format.
Das sind doch einfach nur Sekunden?
Zitat von: juergen012 am 18 September 2023, 11:01:52Was mache ich falsch???
Bei deinem Ansatz müsstest Du sie Sommerzeit "abziehen" :) FmtTime nimmt an, es wäre localtime.
Wenn Du es nicht einfach zu Fuß machen willst, kannst Du es so mit gmtime machen:
{strftime("%H:%M:%S",gmtime(ReadingsNum($name,"PROGRESS_printer_data_progress_printTime",0) ) )}
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

juergen012

PRIMA ! Vielen Dank. Läuft jetzt!!
Fhem unter Proxmox