Moin,
ich erbitte etwas Nachhilfeunterricht.
In dem folgenden List ist im Reading "STATE" der Inhalt, den ich im Reading "state" haben möchte.
Ich dachte, dass das mit dem Userreadings 2ter Teil ganz unten geht, tut es aber nicht, da kommt nix.
Wer weiß, wie das geht und was ich falsch denke ?
Erbitte eine Lösung.
Internals:
DEF ups 192.168.188.7
DeviceName 192.168.188.7:3493
FD 114
FUUID 60959034-f33f-a76b-7984-6cebf4f8dfac8acc
NAME USV
NR 764
PARTIAL
STATE Power 232.0 V~ , Charge 100 % , U-Batt. 13.7 V , You have 9.6 Minutes to go.
TYPE NUT
UpsName ups
buffer
lastStatus OL
pollValState 0
READINGS:
2021-05-08 08:12:07 battery.charge 100
2021-05-08 08:12:07 battery.runtime 577
2021-05-08 08:12:07 battery.voltage 13.7
2021-05-08 08:12:07 input.voltage 232.0
2021-05-08 08:12:57 runtime-minutes 9.6
2021-05-08 08:12:57 state
2021-05-08 08:12:07 ups.load 51
helper:
battery.charge 100
battery.charge.low 10
battery.charge.warning 50
battery.date not set
battery.mfr.date 2016/05/01
battery.runtime 577
battery.runtime.low 120
battery.type PbAc
battery.voltage 13.7
battery.voltage.nominal 12.0
device.mfr APC
device.model Back-UPS ES 700G
device.serial 5B1617T47962
device.type ups
driver.name usbhid-ups
driver.parameter.pollfreq 30
driver.parameter.pollinterval 15
driver.parameter.port auto
driver.parameter.synchronous no
driver.version 2.7.4
driver.version.data APC HID 0.96
driver.version.internal 0.41
input.sensitivity high
input.transfer.high 266
input.transfer.low 180
input.voltage 232.0
input.voltage.nominal 230
ups.beeper.status enabled
ups.delay.shutdown 20
ups.firmware 871.O4 .I
ups.firmware.aux O4
ups.load 51
ups.mfr APC
ups.mfr.date 2016/05/01
ups.model Back-UPS ES 700G
ups.productid 0002
ups.serial 5B1617T47962
ups.status OL
ups.timer.reboot 0
ups.timer.shutdown -1
ups.vendorid 051d
Attributes:
asReadings battery.charge,battery.voltage,battery.runtime,input.voltage,ups.load
disable 0
event-on-change-reading .*
icon power
pollState 10
pollVal 60
room U_USV_PC_FB
stateFormat Power input.voltage V~ , Charge battery.charge % , U-Batt. battery.voltage V , You have runtime-minutes Minutes to go.
userReadings runtime-minutes {sprintf("%.1f",ReadingsNum($NAME, "battery.runtime", 0) / 60)}, state {ReadingsVal($NAME, "STATE","")}
Hi,
irgendwie verwirrt mich Deine Frage, aber:
2021-05-08 08:12:57 runtime-minutes 9.6
Ist doch das Ergebnis vom
userReadings runtime-minutes {sprintf("%.1f",ReadingsNum($NAME, "battery.runtime", 0) / 60)}, state {ReadingsVal($NAME, "STATE","")}
Ich würde mir keine Gedanken machen um state irgendwie zu bügeln, normal schreibt da das Device seine Zustände rein. Was nutzt Dir state anders als das jetzige Reading - oder Dein STATE was in der Webansicht prominent dasteht?
Gruß Otto
STATE ist ausserdem ein internal, das natürlich mit InternalVal() auszulesen ist.
Jetzt habe ich es kapiert ::)
stand zu weit hinten, habe ich am Morgen übersehen
{ReadingsVal($NAME, "STATE","")} -> {InternalVal($NAME, "STATE","")}
Aber das ist doch Daten im Kreis schubsen? denn der Ursprung von STATE ist ja das hier:
stateFormat Power input.voltage V~ , Charge battery.charge % , U-Batt. battery.voltage V , You have runtime-minutes Minutes to go.
Warum jetzt diese Daten wieder aus STATE lesen und nach state schieben? das versteh ich nicht ... und ich würde das nicht tun, nicht nach state...