FHEM & DigitalStrom

Begonnen von matrix_rs, 08 Juni 2014, 16:49:24

Vorheriges Thema - Nächstes Thema

bugs

Hallo Andreas

Vielen Dank für deine Geduld und Bemühungen.

Ich versuchte verschiedene Einstellungen bei reading1Regex, unteranderem folge Konfiguration:
, reading1Regex {"result":{"Temperatur":(\d([+-]?([0-9]*)[.])?[0-9]*0)', leider ohne Erfolg, muss eventuell bei sid1IDRegex auch noch etwas angepasst werden?

Der Test bei https://www.regextester.com/ ergibt folgendes Resultat, siehe Anhang.

Irgendwie habe ich den Verdacht, dass die Abfrage grundsätzlich noch nicht richtig funktioniert, der FHEM-Abschnitt ,Readings' fehlt gänzlich.

Gibt es eine Möglichkeit die Kommunikation FHEM – dS zu prüfen (debuggen)?
Müsste eigentlich ohne Filterung nicht einfach alles, der gesamte String, angezeigt werden?

Die Abfrage der Leistung in Watt funktioniert jedoch korrekt und wird alle 60 Sekunden erneuert.

Schöne Grüsse
Heinz

AndyK

Hallo Heinz,

1. hast Du inzwischen mal in die HTTPMOD-Doku geschaut?

2. hast Du folgendes versucht:
    attr ... reading1Regex {"result":{"sensorIndex":0,"sensorValue":([+-]?([0-9]*)[.])?[0-9]*
    (auch im regexttexter, leider konnte ich meinen Ausdruck nicht kopieren, deshalb kann da ggf. ein Tippfehler drin sein.

3. "result":{"Temperatur":(\d([+-]?([0-9]*)[.])?[0-9]*0)' funktioniert nicht, wenn die JSON-Response so aussieht, wie in der dSS-Doku bzw. so wie Du sie angegeben hast, also {"result":{"sensorIndex":0,"sensorValue":23.058824345469476},"ok":true}. Da kannst Du einen string "Temperatur" parsen so lange Du willst, der String steht da nicht drin ;-)

4. Deine Frage: "muss eventuell bei sid1IDRegex auch noch etwas angepasst werden?" => nein, der Teil ist für die Authentifizierung zuständig mit dem Session Token, dass Du ja vorher geholt hast.

5. Debuggen: am besten mal den VERBOSE-Level höher setzen, damit wird seitens FHEM mehr geloggt (z.B. 5). Am besten kommentierst Du dann noch die HTTPMODS-Teile für die Abfrage der Leistung aus und konzentrierst Dich erst mal auf den "neuen" Teil.

Ich hoffe es klappt bald bei Dir. Aber ich habe auch eine Weile rumgedoktert, bis ich die verschiedenen Themen übereinander bekommen habe (login auf dem dSS, JSON-Calls, regex...) Nur Mut!

Grüße,
Andreas

AndyK

bugs

Hallo Andreas

Zu Pkt. 1 Wenn du die Beschreibung von dS-Server JSON meinst, ja die schaute ich an und gemäss Beschreibung funktioniert dsuid.

Zu Pkt. 2 Mit attr ..reading1Regex {"result":{"sensorIndex":0,"sensorValue":([+-]?([0-9]*)[.])?[0-9]* funktioniert die Abfrage und
              unter dem FHEM-Abschnitt ,Readings' wird der aktuelle Temperaturwert jedoch 2-mal ausgegeben, einmal z.B. als 23. und
              einmal als 23 (ohne .)
              Ich hatte reading1Regex völlig falsch verstanden.

Dank deiner Hilfe bin ich einen grossen Schritt weiter.
Nun habe ich noch folgende zwei Unschönheiten,
a) unter dem FHEM-Abschnitt ,DeviceOverview' wird der Temperaturwert nicht angezeigt und
b) gerne hätte ich den Temperaturwert mit einer, gerundeten Kommastelle angezeigt
    Muss das unter attr....stateFormat mit sprintf eingestellt werden?
stateFormat {sprintf("dsuid: %s - °C: %.3d", "3A578AE7AC725DDD8005D5429331D7CD00", ReadingsVal($name,"sensorValue",0))}

Vielleicht ist die fehlende Anzeige darin zu suchen, dass unter dem FHEM-Abschnitt ,Readings' der Wert 2-mal ausgegeben wird?
Siehe Anhang

Schöne Grüsse
Heinz

AndyK

Hallo Heinz,

da bin ich jetzt raus ;) In die Details müsste ich mich selbst wieder einlesen und reindenken, das habe ich alles ewig nicht mehr angefasst. Aber ich denke, da kann Dir aber auch ein anderer FHEM-Experte weiterhelfen. Ich denke, dass ist nicht mehr digitalSTROM-spezifisch.

Ansonsten ist ja jetzt auch Wochenende ;)) Good luck

Grüsse, Andreas
AndyK

bugs

Hallo Andreas

Ich experimentierte noch ein wenig mit Regex und mit folgendem Ausdruck {"result":{"sensorIndex":0,"sensorValue":([+-]?([0-9]*).[0-9]*) erscheint die Temperatur im FHEM-Abschnitt ,Readings' mit allen Nachkommastellen. Nun habe ich nur noch die fehlende Anzeige unter DeviceOverview, da suche ich jetzt noch weiter.

Nochmals vielen Dank für deine Unterstützung und schönes Wochenende.

Gruss
Heinz