Hallo, ich habe ein Device wo ich sehr viel Berechnungen drin habe (userReadings) - zum Beispiel W in kW/h - ich habe nun im Device sehr viele Readings die ich zum Teil gar nicht
angezeigt haben will weil es nur Zwischenergebnisse für weitere Rechnungen sind. Kann ich die irgendwie ausblenden? Und wie kann ich die auf 2 Stellen nach dem Komma abschneiden?
Hier meine Berechnungen:
attr Plenticore userReadings Hausverbrauch_PV { 0.001 * ReadingsNum ("Plenticore","Total_home_consumption_PV", 0);;} , Hausverbrauch_NETZ { 0.001 * ReadingsNum ("Plenticore","Total_home_consumption_Grid", 0);;} , Hausverbrauch_BATTERIE { 0.001 * ReadingsNum ("Plenticore","Total_home_consumption_Battery", 0);;} , Ertrag_monatlich { 0.001 * ReadingsNum ("Plenticore","Monthly_Yield", 0);;} , Ertrag_jaehrlich { 0.001 * ReadingsNum ("Plenticore","Yearly_Yield", 0);;} , Ertrag_taeglich { 0.001 * ReadingsNum ("Plenticore","Dailey_Yield", 0);;} , Leistung_Strang_1 { 0.001 * ReadingsNum ("Plenticore","PowerDC1", 0);;} , Leistung_Strang_2 { 0.001 * ReadingsNum ("Plenticore","PowerDC2", 0);;} , Leistung_gesamt {ReadingsNum ("Plenticore","Leistung_Strang_1",0) + ReadingsNum("Plenticore","Leistung_Strang_2",0);;} , Verbrauch_gesamt { ReadingsNum ("Plenticore","VerbrauchWbattery", 0) + ReadingsNum ("Plenticore","VerbrauchWnetz", 0) + ReadingsNum ("Plenticore","VerbrauchWpv", 0);;} , Verbrauch_EG { ReadingsNum ("Plenticore","Verbrauch_gesamt", 0) - ReadingsNum ("EnergieEG","electricityPower", 0);;} , Hausverbrauch_alle_kWh { ReadingsNum ("Plenticore","Hausverbrauch_PV", 0) + ReadingsNum ("Plenticore","Hausverbrauch_NETZ", 0) + ReadingsNum ("Plenticore","Hausverbrauch_BATTERIE", 0);;} , PV_LeistungkW { ReadingsNum ("Plenticore","Leistung_Strang_1", 0) + ReadingsNum ("Plenticore","Leistung_Strang_2", 0);;} , PV_LeistungW { ReadingsNum ("Plenticore","PowerDC1", 0) + ReadingsNum ("Plenticore","PowerDC2", 0);;}
Hi,
zu Deiner zweiten Frage, ein Beispiel:
{sprintf "%.2f", "27,34567"}
Gruß Otto
Hallo Otto, danke! Und wo müsste ich Deinen Synthax einfügen?
Gesendet von meinem LYA-L29 mit Tapatalk
Na dort wo du die Ausgabe formatieren willst. :)
Stell Dir vor "27,34567" ist eine Perlfunktion welche einfach 27,34567 zurückgibt. Also musst Du stattdessen Deine berechnete Ausgabe an diese Stelle schreiben.
{sprintf "%.2f", ReadingsNum(bla) - ReadingsNum(blubs)}
ergibt (bla-blubs) mit zwei Nachkommastellen.
Gruß Otto
readings deren namen mit einem punkt beginnen werden in fhemweb nicht angezeigt. sie erzeugen aber auch keine events
Super!!! Wieder was wichtiges gelernt. Es funktioniert... Ich danke Euch
Da die Frage immer mal kommt und man diesen kurzen Thread zumindest als Hilfe im Kopf anpinnen könnte - will ich mal noch eine gern verwendete, falsche Version nachreichen:
{sprintf "%.2f", ReadingsNum(bla) - sprintf "%.2f", ReadingsNum(blubs)}
Ergibt zwar auch (bla-blubs) aber ein Ausgabe mit zwei Nachkommastellen wäre auf Grund der nicht perfekten binären Gleitkomma Arithmetik zwar wahrscheinlich aber nicht zwingend.
Also immer erst zu Ende rechnen, dann formatieren!
Das mit dem Punkt hat leider doch nicht funktioniert. Ich habe es so verstanden:
attr EnergyManager reading02Name .Wirkenergie_Bezug_Wh
Aber das Reading wird noch angezeigt, halt mit Punkt davor....
mal ganz abgesehen davon das es auch ohne mögliche floating point probleme falsch ist zwischendurch schon zu runden.
0.4 + 0.4 = 0.8 => gerundet 1
0.4 gerundet => 0 + 0 = 0
wo genau wird es angezeigt?
Im Device unter all den Readings
Gesendet von meinem LYA-L29 mit Tapatalk
zeig mal bitte ein list vom device
Internals:
.getList
.setList
.updateRequestHash 1
BUSY 0
DEF http://192.168.178.75/mum-webservice/data.php 60
FUUID 5cbde246-f33f-05e1-e1bd-8900cf5fe3a49dc4
Interval 60
JSONEnabled 1
LASTSEND 1556048308.72942
LastAuthTry 2019-04-23 12:37:48
MainURL http://192.168.178.75/mum-webservice/data.php
ModuleVersion 3.5.9 - 13.2.2019
NAME EnergyManager
NOTIFYDEV global
NR 1820
NTFY_ORDER 50-EnergyManager
STATE ???
TRIGGERTIME 1556048368.72643
TRIGGERTIME_FMT 2019-04-23 21:39:28
TYPE HTTPMOD
addr http://192.168.178.75:80
auth 0
buf
code 200
compress 1
conn
data
displayurl http://192.168.178.75/mum-webservice/data.php
header Cookie: PHPSESSID=6a14ecabede96d9419471be27dfda2bd
host 192.168.178.75
httpheader HTTP/1.0 200 OK
X-Frame-Options: DENY
X-Content-Security-Policy: allow 'self'
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-type: application/json
Content-Length: 1403
Connection: close
Date: Tue, 23 Apr 2019 19:38:29 GMT
httpversion 1.0
hu_blocking 0
hu_filecount 518
hu_port 80
hu_portSfx
ignoreredirects 0
loglevel 4
path /mum-webservice/data.php
protocol http
redirects 0
timeout 2
url http://192.168.178.75/mum-webservice/data.php
value 0
.attraggr:
.attrminint:
.readingParseList:
01
02
03
04
.userReadings:
HASH(0x7f54478)
HASH(0x7addbe8)
HASH(0x9c497f8)
HASH(0x9c47dc0)
HASH(0x9c2fc60)
HTTPCookieHash:
PHPSESSID;/:
Name PHPSESSID
Options path=/
Path /
Value 6a14ecabede96d9419471be27dfda2bd
OLDREADINGS:
QUEUE:
READINGS:
2019-04-23 21:38:30 .Wirkenergie_Bezug_Wh 1712183.8
2019-04-23 21:38:30 .Wirkenergie_Einspeisung_Wh 1835851.7
2019-04-23 21:38:30 Erloes_ENBW_Einspeisung_Euro 220.30
2019-04-23 21:38:30 Wirkenergie_Bezug_kWh 1712.1838
2019-04-23 21:38:30 Wirkenergie_Einspeisung_kWh 1835.8517
2019-04-23 21:38:30 Wirkleistung_Bezug_W 0
2019-04-23 21:38:30 Wirkleistung_Einspeisung_W 7.2
2019-04-23 21:38:30 Zaehlerstand_ENBW_Bezug_1.8.0 1562.1838
2019-04-23 21:38:30 Zaehlerstand_ENBW_Einspeisung_2.8.0 1829.8517
2019-04-23 21:38:30 statErloes_ENBW_Einspeisung_Euro Hour: 0.000000 Day: 2.827552 Month: 2.827552 Year: 2.827552 (since: 2019-04-23_10:34:02 )
2019-04-23 21:38:30 statErloes_ENBW_Einspeisung_EuroDay 2.827552
2019-04-23 21:38:30 statErloes_ENBW_Einspeisung_EuroHour 0.000000
2019-04-23 20:59:55 statErloes_ENBW_Einspeisung_EuroHourLast 0.000000
2019-04-23 20:59:55 statErloes_ENBW_Einspeisung_EuroLast Hour: 0.000000 Day: - Month: - Year: -
2019-04-23 21:38:30 statErloes_ENBW_Einspeisung_EuroMonth 2.827552
2019-04-23 21:38:30 statErloes_ENBW_Einspeisung_EuroYear 2.827552
2019-04-23 21:38:30 statWirkenergie_Bezug_kWh Hour: 0.0017 Day: 2.6443 Month: 2.6443 Year: 2.6443 (since: 2019-04-23 )
2019-04-23 21:38:30 statWirkenergie_Bezug_kWhDay 2.6443
2019-04-22 23:59:55 statWirkenergie_Bezug_kWhDayLast 0.0721
2019-04-23 21:38:30 statWirkenergie_Bezug_kWhHour 0.0017
2019-04-23 20:59:55 statWirkenergie_Bezug_kWhHourLast 0.0061
2019-04-23 20:59:55 statWirkenergie_Bezug_kWhLast Hour: 0.0061 Day: 0.0721 Month: - Year: - (since: 2019-04-22_18:00:37 )
2019-04-23 21:38:30 statWirkenergie_Bezug_kWhMonth 2.6443
2019-04-23 21:38:30 statWirkenergie_Bezug_kWhYear 2.6443
2019-04-23 21:38:30 statWirkenergie_Einspeisung_kWh Hour: 0.0038 Day: 23.6244 Month: 23.6244 Year: 23.6244 (since: 2019-04-23 )
2019-04-23 21:38:30 statWirkenergie_Einspeisung_kWhDay 23.6244
2019-04-22 23:59:55 statWirkenergie_Einspeisung_kWhDayLast 0.2348
2019-04-23 21:38:30 statWirkenergie_Einspeisung_kWhHour 0.0038
2019-04-23 20:59:55 statWirkenergie_Einspeisung_kWhHourLast 0.0028
2019-04-23 20:59:55 statWirkenergie_Einspeisung_kWhLast Hour: 0.0028 Day: 0.2348 Month: - Year: - (since: 2019-04-22_18:00:37 )
2019-04-23 21:38:30 statWirkenergie_Einspeisung_kWhMonth 23.6244
2019-04-23 21:38:30 statWirkenergie_Einspeisung_kWhYear 23.6244
REQUEST:
data
header
ignoreredirects 0
retryCount 0
type update
url http://192.168.178.75/mum-webservice/data.php
value 0
defptr:
readingBase:
.Wirkenergie_Bezug_Wh reading
.Wirkenergie_Einspeisung_Wh reading
Wirkleistung_Bezug_W reading
Wirkleistung_Einspeisung_W reading
readingNum:
.Wirkenergie_Bezug_Wh 02
.Wirkenergie_Einspeisung_Wh 04
Wirkleistung_Bezug_W 01
Wirkleistung_Einspeisung_W 03
readingOutdated:
requestReadings:
update:
.Wirkenergie_Bezug_Wh reading 02
.Wirkenergie_Einspeisung_Wh reading 04
Wirkleistung_Bezug_W reading 01
Wirkleistung_Einspeisung_W reading 03
helper:
_98_statistics ErloesEuro
sslargs:
Attributes:
enableCookies 1
getHeader1 Content-Type: application/json
reAuthRegex "authentication":false
reading01JSON 1-0:1.4.0*255
reading01Name Wirkleistung_Bezug_W
reading02JSON 1-0:1.8.0*255
reading02Name .Wirkenergie_Bezug_Wh
reading03JSON 1-0:2.4.0*255
reading03Name Wirkleistung_Einspeisung_W
reading04JSON 1-0:2.8.0*255
reading04Name .Wirkenergie_Einspeisung_Wh
room Energie
sid01Data " "
sid01URL http://192.168.178.75/start.php
userReadings Wirkenergie_Bezug_kWh { 0.001 * ReadingsNum ("EnergyManager",".Wirkenergie_Bezug_Wh", 0);} , Wirkenergie_Einspeisung_kWh { 0.001 * ReadingsNum ("EnergyManager",".Wirkenergie_Einspeisung_Wh", 0);} , Zaehlerstand_ENBW_Bezug_1.8.0 { ReadingsNum ("EnergyManager","Wirkenergie_Bezug_kWh", 0) - 150;} , Zaehlerstand_ENBW_Einspeisung_2.8.0 { ReadingsNum ("EnergyManager","Wirkenergie_Einspeisung_kWh", 0) - 6;} , Erloes_ENBW_Einspeisung_Euro {sprintf "%.2f",0.12 * ReadingsNum ("EnergyManager","Wirkenergie_Einspeisung_kWh", 0);}
userattr get01JSON get01Name get02JSON get02Name get03JSON get03Name get04JSON get04Name getHeader1 reading01JSON reading01Name reading02JSON reading02Name reading03JSON reading03Name reading04JSON reading04Name sid01Data sid01URL
Was zeigt denn
list global showInternalValues
Wenn der Wert 1 ist versuch es mal mit 0.
Gruß Otto