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.
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) ) )}
PRIMA ! Vielen Dank. Läuft jetzt!!