FHEM Forum

FHEM => Sonstiges => Thema gestartet von: Guzzi-Charlie am 17 Februar 2020, 11:38:30

Titel: S0-Datenlogger mit HTTPMOD auslesen
Beitrag von: Guzzi-Charlie am 17 Februar 2020, 11:38:30
Hallo,

Ich habe an meinen PV-Anlagen zwei verschiedene Datenlogger verbaut.
2x den Photon PCD-1
3x den Busware 4S0ETH

Da ich mich mit dem HTTPMOD nicht wirklich gut auskenne habe ich nun ein Problem was ich bis jetzt noch nicht lösen konnte.

Den Photon-Datenlogger kann ich inzwischen auslesen mit:
defmod PV_ML22 HTTPMOD http://xxx:xxx@192.168.178.151/cgi-bin/menu.cgi?mode=data
attr PV_ML22 userattr reading01Name reading01Regex reading02Name reading02Regex
attr PV_ML22 reading01Name Poduktion
attr PV_ML22 reading01Regex .*Feed-in.*value=.([0-9]*.[0-9][0-9]).*
attr PV_ML22 reading02Name Einspeisung
attr PV_ML22 reading02Regex .*Consumption.*value=.([0-9]*.[0-9][0-9]).*


Der 4S0ETH verhält sich aber etwas anders. Eine Verbindung kann ich auch aufbauen mit:
defmod PV_ML22_G5 HTTPMOD http://xxx:xxx@192.168.178.155/ecmd?s0kwh
attr PV_ML22_G5 userattr reading01Name reading01Regex
attr PV_ML22_G5 reading01Name Produktion
attr PV_ML22_G5 reading01Regex .([0-9]*.[0-9]*.[0-9]*.[0-9]).*


Als Ergebnis kommt aber leider nicht das Gewünschte heraus, sonder irgendetwas was ich nicht zuordnen kann.
Im HTTPMOD erhalte ich folgendes:
header
Authorization: Digest nc=00000001, uri="/ecmd?s0kwh", qop="auth", realm="kWh-Logger", username="xxx", response="ec8e779fc6209ba675fca30a01cb5ceb", nonce="5fd55d22d36579afcda02194bed91e4f", cnonce="da31341124d8675a975ced4ee3e0386c"

httpheader
HTTP/1.0 200 OK
Connection: close
Date: Mon, 03 Feb 2020 08:09:06 GMT
Server: busware::Ajax::Server/1.0
Content-Length: 43

Readings
Produktion
TP/1

"TP/1" ist das Ergebnis was zurück geliefert wird. Wo immer das auch herkommt.

Wenn ich im Browser die Abfrage mit:
http://xxx:xxx@192.168.178.155/ecmd?s0kwh
starte, dann erhalte ich direkt die folgende Ausgabe:
12309.799
12839.909
6302.955
14831.139

Das sind die (richtigen) aktuellen Werte der 4 Kanäle

In der Browser-Konsole (Elements) sieht es so aus:
</pre><html>
<head>
<style>@media print {#ghostery-purple-box {display:none !important}}</style></head>
<body>
<pre style="word-wrap: break-word; white-space: pre-wrap;">
12309.799
12839.909
6302.955
14831.139
</pre></body></html>


Unter "Sources" so:
12309.799
12839.909
6302.955
14831.139


Wie kann ich erreichen, daß mir HTTPMOD die richtigen Werte in Readings schreibt? Oder geht es vielleicht noch viel einfacher (ohne HTTPMOD) da der Browserbefehl ja direkt die Ergebnisse liefert?