Skip to content

Latest commit

 

History

History
35 lines (23 loc) · 4.27 KB

HttpMeter_DE.md

File metadata and controls

35 lines (23 loc) · 4.27 KB

HTTP-basierte Stromzähler

Für HTTP-basierte Geräte sind diese allgemeinen Hinweise zu beachten!

Der Parameter bezeichnet die Messgrösse, welche der Zähler dem Smart Appliance Enabler zur Leistungsbestimmung liefert.

Nach Möglichkeit sollte als Parameter Zählerstand eingestellt werden, weil der Smart Appliance Enabler dann diesen Wert nur einmal pro Minute abfragen muss und aus der Differenz zur vorangegangenen Abfrage die Leistung sehr genau berechnen kann. Dazu muss aber der Zählerstand in kWh mit mindestens 4 Nachkommstellen (besser 5) geliefert werden. Bei manchen Adaptern muss diese Genauigkeit erst eingestellt werden (siehe Tasmota).

Wird als Parameter Leistung eingestellt, erfolgt die Abfrage dieses Wertes mehrmals pro Minute, um aus diesen Werten den Durschnitt zu berechnen. Der zeitliche Abstand zwischen diesen Abfragen kann mit dem Abfrage-Intervall festgelegt werden - der Standardwert sind 20 Sekunden.

Wenn die HTTP-Antwort im JSON-Format geliefert wird, sollte das als Format eingestellt werden, weil sich dann durch die Angabe des Pfad für Extraktion der Zahlenwert sehr leicht aus der HTTP-Anwort extrahieren lässt.

Alternativ (oder auch nachgelagert zur JSON-Interpretation) kann ein regulärer Ausdruck zum Extrahieren angegeben werden, falls der Zahlenwert aus einem Text (XML, ...) extrahiert werden muss. Dies gilt auch, wenn die HTTP-Antwort scheinbar nur die Zahl enthält, diese aber auch einen Zeilenumbruch (CR/LF) beinhaltet.

Durch die Konfiguration der zuvor beschriebenen Parameter muss sichergestellt sein, dass der Smart Appliance Enabler aus der HTTP-Antwort die richtige Zahl extrahieren kann.

Für den Parameter Zählerstand wird der Wert in kWh und für den Parameter Leistung in W benötigt. Falls die Werte in anderen Einheiten geliefert werden, muss ein Umrechnungsfaktor angegeben werden, der mit dem gelieferten Wert multipliziert wird, um ihn in die benötigte Einheit umzurechnen. Wird beispielsweise der Parameter Leistung in mW geliefert, muss als Umrechnungsfaktor der Wert 0.001 angegeben werden.

HTTP-basierter Zähler

Log

Wird ein HTTP-Zähler für das Gerät F-00000001-000000000005-00 verwendet, kann man die ermittelte Leistungsaufnahme im Log mit folgendem Befehl anzeigen:

$ grep 'Http' /tmp/rolling-2021-01-01.log | grep F-00000001-000000000005-00
2021-01-01 09:42:50,472 DEBUG [Timer-0] d.a.s.h.HttpTransactionExecutor [HttpTransactionExecutor.java:107] F-00000001-000000000005-00: Sending GET request url=http://espressomaschine/cm?cmnd=Status%208
2021-01-01 09:42:50,516 DEBUG [Timer-0] d.a.s.h.HttpTransactionExecutor [HttpTransactionExecutor.java:168] F-00000001-000000000005-00: Response code is 200
2021-01-01 09:42:50,531 DEBUG [Timer-0] d.a.s.h.HttpHandler [HttpHandler.java:86] F-00000001-000000000005-00: url=http://espressomaschine/cm?cmnd=Status%208 httpMethod=GET data=null path=null
2021-01-01 09:42:50,532 DEBUG [Timer-0] d.a.s.h.HttpHandler [HttpHandler.java:89] F-00000001-000000000005-00: Response: {"StatusSNS":{"Time":"2021-01-01T09:42:50","ENERGY":{"TotalStartTime":"2019-08-18T10:55:03","Total":164.950,"Yesterday":0.482,"Today":0.124,"Power":1279,"ApparentPower":1481,"ReactivePower":747,"Factor":0.86,"Voltage":233,"Current":6.370}}}
2021-01-01 09:42:50,533 DEBUG [Timer-0] d.a.s.h.HttpHandler [HttpHandler.java:58] F-00000001-000000000005-00: value=1279.0 protocolHandlerValue={"StatusSNS":{"Time":"2021-01-01T09:42:50","ENERGY":{"TotalStartTime":"2019-08-18T10:55:03","Total":164.950,"Yesterday":0.482,"Today":0.124,"Power":1279,"ApparentPower":1481,"ReactivePower":747,"Factor":0.86,"Voltage":233,"Current":6.370}}} valueExtractionRegex=,.Power.:(\d+) extractedValue=1279
2021-01-01 09:42:55,632 DEBUG [http-nio-8080-exec-9] d.a.s.m.HttpElectricityMeter [HttpElectricityMeter.java:154] F-00000001-000000000005-00: average power = 1280W
2021-01-01 09:42:55,636 DEBUG [http-nio-8080-exec-9] d.a.s.m.HttpElectricityMeter [HttpElectricityMeter.java:154] F-00000001-000000000005-00: average power = 1280W

Webmin: In View Logfile gibt man hinter Only show lines with text ein F-00000001-000000000005-00 und drückt Refresh.