Hey Leute,
ich habe leider ein Problem im Log stehen und bekomme es nicht weg. Habe schon viel gelesen, weiß aber einfach nicht wo das Problem liegt.
Das Log meldet: "PERL WARNING: Redundant argument in sprintf at (eval 5766) line 1."
Das einzige sprintf, welches ich benutze ist dieses:
Zitatattr Heizen valueFormat { '/system/appliance/systemPressure' => '{ sprintf("%0.2f Bar",$VALUE/14,5038) }','/system/sensors/temperatures/supply_t1' => "%0.1f °C" }
Es soll die PSI in Bar umrechnen und mit zwei Nachkommastellen anzeigen. Das funktioniert auch einwandfrei!
Das attr gehört zu:
Zitatdefine Heizen readingsGroup Heizung:<%sani_boiler_temp>,<Heizungsdruck>,/system/appliance/systemPressure Heizung:<%sani_supply_temp>,<Vorlauftemp>,/system/sensors/temperatures/supply_t1 Heizung:<%icoTempHeizung>,<Brenner>,/heatSources/flameStatus
attr Heizen eventMap on:An off:Aus
attr Heizen group Heizung
attr Heizen room Heizung
attr Heizen valueFormat { '/system/appliance/systemPressure' => '{ sprintf("%0.2f Bar",$VALUE/14,5038) }','/system/sensors/temperatures/supply_t1' => "%0.1f °C" }
attr Heizen valueStyle style="text-align:right"
Sieht da jemand einen Fehler? Wie gesagt, es funktioniert so, macht mir aber den Log voll.
Gehört übrigens zum km200 einer Buderus Heizung.
Danke für eure Hilfe und Gruß
Manuel
Was mir auffällt:
sprintf("%0.2f Bar",$VALUE/14,5038)
könnte wegen dem KOMMA (14,5038) auch wie folgt interpretiert werden:
sprintf("%0.2f Bar",PARAMETER1,PARAMETER2)
[PARAMETER1=$VALUE/14 / PARAMETER2=5038]
also ein Parameter mehr als notwendig... ;)
Evtl. dann so machen:
sprintf("%0.2f Bar",$VALUE/14.5038)
Gruß, Joachim
Oh man, die kleinsten Dinge übersieht man gerne.
Vielen Dank!
Hallo
habe meinen Raspberry neu aufgesetzt und seit dem hab ich ein problem mir einem sprintf, welches vorher nicht aufgetreten ist
mein "userReadings" ist dieses
Dauer_Letzer_Ladung {sprintf("%02d Std %02d Min",SYSMON_decode_time_diff((ReadingsVal($NAME,"pulseTimeIncrement",0))*1))},Dauer_Aller_Ladungen {sprintf("%d Tage %02d Std %02d Min",SYSMON_decode_time_diff((ReadingsVal($NAME,"pulseTimeOverall",0))*1))},Nicht_Geladen_Seit {sprintf("%d Tage %02d Std %02d Min",SYSMON_decode_time_diff((ReadingsVal($NAME,"pauseTimeIncrement",0))*1))}
in meinem log welches überläuft steht immer
2020.02.23 23:55:00 1: PERL WARNING: Redundant argument in sprintf at (eval 14302) line 1.
2020.02.23 23:55:00 3: eval: {sprintf("%02d Std %02d Min",SYSMON_decode_time_diff((ReadingsVal($NAME,"pulseTimeIncrement",0))*1))}
ich blick da mal wieder nicht durch. Eventuell kann mir da einer einen Tipp geben ?
Hallo in der Hoffnung das mir da doch noch einer auf die Sprünge hilft hier ein list von Device
Internals:
.lastTimeDauer_Aller_Ladungen 1582695060.76235
.lastTimeDauer_Letzer_Ladung 1582695060.76235
.lastTimeNicht_Geladen_Seit 1582695240.86193
.lastTimecountsOverall 1582694940.65921
.lastTimecountsPerDay 1582694940.65921
.lastTimepauseTimeEdge 1582694940.65921
.lastTimepauseTimeIncrement 1582695240.86193
.lastTimepauseTimeOverall 1582695240.86193
.lastTimepauseTimePerDay 1582695240.86193
.lastTimepulseTimeEdge 1582694940.65921
.lastTimepulseTimeIncrement 1582694940.65921
.lastTimepulseTimeOverall 1582694940.65921
.lastTimepulseTimePerDay 1582694940.65921
.lastTimestate 1582694940.65921
.lastTimetickDay 1582671600.70431
.lastTimetickHour 1582693200.72423
.lastTimetickMonth 1582647272.90834
.lastTimetickUpdated 1582695240.86193
.lastTimetickWeek 1582647272.90834
.lastTimetickYear 1582647272.90834
.lastTimevalue 1582694940.65921
DEF EScooter:ON EScooter:OFF
FUUID 5d8e6973-f33f-af43-fc5d-7eed5298c6477bd7
NAME EScooterCounter
NR 1184
NTFY_ORDER 50-EScooterCounter
STATE Letze Ladedauer:<strong> 00 Std 01 Min </strong>
<br/>Geladen vor:<strong> 3 Tage 20 Std 52 Min </strong><br/
<br/>Ladedauer Ges.:<strong> 0 Tage 03 Std 17 Min </strong><br/>
TYPE HourCounter
VERSION 1.0.1.2 - 24.12.2014
.attraggr:
.attreocr:
.*
.attrminint:
.*:600
.userReadings:
HASH(0x4dd9c28)
HASH(0x55ce988)
HASH(0x57443e8)
READINGS:
2020-02-26 06:34:00 Dauer_Aller_Ladungen 0 Tage 03 Std 17 Min
2020-02-26 06:33:00 Dauer_Letzer_Ladung 00 Std 01 Min
2020-02-26 06:34:00 Nicht_Geladen_Seit 3 Tage 20 Std 52 Min
2020-02-26 06:34:00 countsOverall 2
2020-02-26 06:34:00 countsPerDay 0
2020-02-26 06:34:00 pauseTimeEdge 86732
2020-02-26 06:34:00 pauseTimeIncrement 334378
2020-02-26 06:34:00 pauseTimeOverall 562824
2020-02-26 06:34:00 pauseTimePerDay 23640
2020-02-26 06:34:00 pulseTimeEdge 4147
2020-02-26 06:34:00 pulseTimeIncrement 4147
2020-02-26 06:34:00 pulseTimeOverall 11849
2020-02-26 06:34:00 pulseTimePerDay 0
2020-02-26 06:34:00 state 0
2020-02-20 15:33:08 tickChanged 4
2020-02-26 00:00:00 tickDay 2
2020-02-26 06:00:00 tickHour 16
2020-02-25 17:14:32 tickMonth 0
2020-02-26 06:34:00 tickUpdated 568
2020-02-25 17:14:32 tickWeek 0
2020-02-25 17:14:32 tickYear 0
2020-02-26 06:34:00 value 0
helper:
OFF_Regexp EScooter:OFF
ON_Regexp EScooter:ON
calledByEvent
changedTimestamp 2020-02-26 06:34:00
forceClear
forceDayChange
forceHourChange
forceMonthChange
forceWeekChange
forceYearChange
isFirstRun
sdRoundHourLast 1582693200
value -1
cmdQueue:
Attributes:
alias Ladezeiten
event-min-interval .*:600
event-on-change-reading .*
group CarPort
icon time_timer
interval 1
room 3. Aussenbereich
sortby 05
stateFormat Letze Ladedauer:<strong> Dauer_Letzer_Ladung </strong>
<br/>Geladen vor:<strong> Nicht_Geladen_Seit </strong><br/
<br/>Ladedauer Ges.:<strong> Dauer_Aller_Ladungen </strong><br/>
userReadings Dauer_Letzer_Ladung {sprintf("%02d Std %02d Min",SYSMON_decode_time_diff((ReadingsVal($NAME,"pulseTimeIncrement",0))*1))},Dauer_Aller_Ladungen {sprintf("%d Tage %02d Std %02d Min",SYSMON_decode_time_diff((ReadingsVal($NAME,"pulseTimeOverall",0))*1))},Nicht_Geladen_Seit {sprintf("%d Tage %02d Std %02d Min",SYSMON_decode_time_diff((ReadingsVal($NAME,"pauseTimeIncrement",0))*1))}
Ich weiß nicht was er mit redundant hat, das ist doch nicht doppelt