Ich habe auf dem MCP3424 Board eine Solarzelle angeschlossen über die ich die Solarenergie erfassen möchte.
Soweit funktioniert das System, aber wenn ich das Eingangssignal entsprechend anpassen möchte wird dies nicht übernommen.
Die Anpassung führe ich unter userReadings durch die das Attribute state umwandeln soll, nur leider ohne Erfolg.
Warum das hier nicht funktioniert wie bei anderen Meßsignalen ist mir ein Rätsel.
Meine Vermutung liegt beim state das wahrscheinlich keine Berechnung in der Form zuläßt.
Internals:
CFGFN /media/hdd/fhem/mycfg/AD_Controller/I2C_MCP3424_rasp03.cfg
DEF MCP3424_WC_C5678:Channel4
DEVICE MCP3424_WC_C5678
NAME AB_D_STG
NOTIFYDEV global,MCP3424_WC_C5678
NR 352
NTFY_ORDER 50-MCP3424_WC_C5678_C8
READING Channel4
STATE Solarstrahlung: 0 W/m²
TYPE readingsProxy
CONTENT:
MCP3424_WC_C5678 1
READINGS:
2018-10-04 16:46:50 state 1.067
Attributes:
alias Solarenergie
devStateStyle style="text-align:left;;font-weight:bold;;"
event-min-interval .*:600
event-on-change-reading state,solar
group InputPorts
icon sani_solar
room AB-Wetterstation,_IO
stateFormat {sprintf(
"Solarstrahlung: %1.f W/m²",
ReadingsVal("$name","solar",0))}
userReadings solar:state.* {ReadingsVal("$name","state",0)*795}
Ich habe eine Lösung gefunden wie ich die Berechnung eines bestimmten Attributes durchführen kann.
Internals:
CFGFN /media/hdd/fhem/mycfg/AD_Controller/I2C_MCP3424_rasp03.cfg
DEF MCP3424_WC_C5678
NAME AB_D_STG
NDEV MCP3424_WC_C5678
NR 389
NTFY_ORDER 50-AB_D_SSTG
STATE Helligkeit: 13952 Lux <br>Solarstrahlung: 681 W/m²
TYPE cloneDummy
READINGS:
2018-10-05 10:23:13 Channel1 0.000
2018-10-05 10:23:13 Channel2 0.000
2018-10-05 10:23:13 Channel3 0.000
2018-10-05 10:23:13 Channel4 0.953
2018-10-05 10:23:13 helligkeit4 13951.92
2018-10-05 10:23:13 solar4 681.395
2018-10-05 10:23:13 state active
Attributes:
alias Sonnen Intensität
devStateStyle style="text-align:left;;font-weight:bold;;"
event-on-change-reading Channel4,helligkeit4,solar4
group .Sensoren Helligkeit
icon sani_solar
room AB-Wetterstation,_IO
sortby 02.01
stateFormat {sprintf(
"Helligkeit: %1.f Lux <br>Solarstrahlung: %1.f W/m²",
ReadingsVal("$name","helligkeit4",0),
ReadingsVal("$name","solar4",0))}
userReadings helligkeit4:Channel4.* {ReadingsVal("$name","Channel4","0")*14640},
solar4:Channel4.* {ReadingsVal("$name","Channel4","0")*715}