Erfahrungswerte mit Stromzählersensoreinheit YouLess LS110?

Begonnen von rabbe, 04 November 2013, 17:27:21

Vorheriges Thema - Nächstes Thema

willybauss

Tägliche Zählerstände bekommst Du z.B. mit einem kurz vor Mitternacht ausgeführten "at". Hier ein Beispiel von meiner Wärmepumpe:

define GetsElectrHCDay at *23:55:01 get Mythz sElectrHCDay

Alternativ gibt es das "statistics" Modul, das alle möglichen und unmöglichen Auswertungen zulässt. Allerdings verursacht es (zumindest bei mir) eine deutliche Erhöhung der Prozessorlast.
FHEM auf Raspberry Pi B und 2B; THZ (THZ-303SOL), CUL_HM, TCM-EnOcean, SamsungTV, JSONMETER, SYSMON, OBIS, STATISTICS

Tiedi

Das finde ich ein super Idee! Das hier ist die Zeile, die ich aus dem Youless-LS 110 abfragen kann. Ich weiß nicht, wie ich das at definieren müsste:

{"cnt":" 21,835","pwr":65,"lvl":0,"dev":"","det":"","con":"OK","sts":"(47)","raw":0}

Omega

Ich habe den Eindruck, dass dein LS110 nicht richtig eingebunden ist (vermutlich als HTTPMOD und nicht als LS110).

Was auf jeden Fall funktioniert:

define strombezug JSONMETER LS110 <deine-IP-Adresse-vom-LS110> 30
attr strombezug alias Strom-Bezug
attr strombezug devStateStyle style="font-weight:bold;;;;color:red;;;;"
attr strombezug doStatistics 1
attr strombezug event-min-interval 60
attr strombezug group Energieverbrauch
attr strombezug icon measure_power_meter
attr strombezug room Energie,Status
attr strombezug stateFormat Zählerstand: electricityConsumed_kWh / Bezug heute: electricityConsumedToday_kWh kWh, aktuell: (Original electricityPower), bereinigt W
attr strombezug timeOut 60
attr strombezug userReadings bereinigt {ReadingsVal("pvliefer","electricityPower",0)>0 ? 0 : ReadingsVal("strombezug","electricityPower",0)}, electricityConsumed_kWh:electricityConsumed { ReadingsVal("strombezug","electricityConsumed",0)/1000}, electricityConsumedToday_kWh:statElectricityConsumedToday { ReadingsVal("strombezug","statElectricityConsumedToday",0)/1000}

define FileLog_strombezug FileLog ./log/Strombezug-%Y-%m.log strombezug:(electricityConsumed_kWh|electricityPower|statElectricityConsumed)\x3a.*
attr FileLog_strombezug room Logs


Durch das "attr doStatistics 1" hast du bereits alles, was du brauchst. Im Reading "statElectricityConsumedLast" steht u.a. der letzte Wert vom Vortag. Dann brauchst du auch kein zusätzliches "at".

LG
Holger
NUC6i3SYH (FHEM 5.8 in VM)
Homematic: HMLAN, HMUSB, HM-Sec-SD, HM-CC-RT-DN, HM-TC-IT, ... + diverse weitere
LaCrosseGateway, ESPEasy
ZWave

Tiedi

#93
Hmmm, theoretisch gut. Klappt aber noch nicht ganz.

Im Log habe ich nun das hier
2017-04-20_10:41:21 Stromzaehler statElectricityConsumed: Hour: 250 Day: 250 Month: 250 Year: 250 (since: 2017-04-20_10:03:20 )
2017-04-20_10:41:21 Stromzaehler electricityPower: 448



Als State gibt mir das Device Stromzaehler nun folgendes raus:


Stromzaehler
Zählerstand: electricityConsumed_kWh / Bezug heute: electricityConsumedToday_kWh kWh, aktuell: (Original 472), 472 W


EDIT:
ich habe die State-Zeile wie folgt verändert:
attr Stromzaehler stateFormat Zählerstand: electricityConsumed / Erzeugt heute: statElectricityConsumedToday W, Erzeugung aktuell: (Original electricityPower), bereinigt W
so zeigt er: "Stromzaehler
Zählerstand: 27292 / Erzeugt heute: 418 W, Erzeugung aktuell: (Original 506), 506 W" im State an.

Kann ich nun einen Plot zeichnen lassen, der mit die Tageswerte des Monats nebeneinander stellt?

Omega

Ich gehe mal davon aus, dass du das FileLog auch definiert hast. Wenn du da reinschaust, solltest du u.a Einträge finden vom Reading "statElectricityConsumedLast".
Falls ja: ist deine Frage beantwortet: du kannst einen Plot erstellen, der die Tageswerte des Monats nebeneinander stellt.
Ruf dein Filelog auf und dann klick auf: Create SVG plot.

Ich habe das ganze unter DbLog und zusätzlich mit dem Modul ElectricityCalculator, deswegen würde dir meine Plotversion wenig helfen.
NUC6i3SYH (FHEM 5.8 in VM)
Homematic: HMLAN, HMUSB, HM-Sec-SD, HM-CC-RT-DN, HM-TC-IT, ... + diverse weitere
LaCrosseGateway, ESPEasy
ZWave

Tiedi

Im Log habe ich nun folgendes:
2017-04-21_11:26:49 Stromzaehler statElectricityConsumed: Hour: 142 Day: 565 Month: 565 Year: 565 (since: 2017-04-21 )
2017-04-21_11:26:49 Stromzaehler statElectricityConsumedToday: 565
2017-04-21_11:26:49 Stromzaehler electricityPower: 315


Wenn ich einen Plot mit dem Wert "statElectricityConsumed" mache, kommt da nichts raus. Der Plot bleibt leer. Muss man weitere Angaben machen?

Mein Logfile ist wie folgt definiert:
define FileLog_Stromzaehler FileLog ./log/Stromzaehler-%Y-%m.log Stromzaehler:(statElectricityConsumed|electricityPower|statElectricityConsumedToday|statElectricityConsumedLast)\x3a.*

Der Wert "statElectricityConsumedLast" Wird im Device in den Readings angezeigt aber nicht geloggt

Omega

statElectricityConsumedLast wird zu jeder vollen Stunde geschrieben. Hast du die zumindest abgewartet? Oder hast du mittlerweile doch entsprechende Einträge im Log?
NUC6i3SYH (FHEM 5.8 in VM)
Homematic: HMLAN, HMUSB, HM-Sec-SD, HM-CC-RT-DN, HM-TC-IT, ... + diverse weitere
LaCrosseGateway, ESPEasy
ZWave

Tiedi

oh  :-X. Nicht abgewartet. War mit nicht klar, dass das nur einmal pro Stunde geloggt wird.
2017-04-24_08:00:32 Stromzaehler statElectricityConsumedLast: Hour: 31 Day: 2730 Month: - Year: -
Ich kann diesen Wert für einen Plot auch auswählen aber es kommt nichts raus. Der Plot zeigt nichts an.

Omega

Du kommst nicht darum herum, dich zum Thema Plots einzulesen  ;) !
Ich kann momentan ja nur raten, was du versucht hast, in den einzelnen Feldern des Ploteditors einzugeben. Evtl. hast du nicht die richtige Input:Column gewählt (müsste für den Wert 2730 die 7 sein).
NUC6i3SYH (FHEM 5.8 in VM)
Homematic: HMLAN, HMUSB, HM-Sec-SD, HM-CC-RT-DN, HM-TC-IT, ... + diverse weitere
LaCrosseGateway, ESPEasy
ZWave

Tiedi

Du scheinst eine Glaskugel zu haben ;-)

Es ist die 7! Ich hab mich gefragt, wie ich dem Plot denn sage, welche der Werte aus der einen Logzeile er mir zeigen soll, dass passiert über dieses Feld, alles klar. Erstmal komm ich so klar, wenn ich mehr will, muss ich mich wirklich erstmal grundlegend mit den Plots beschäftigen

Ganz großes Dankeschön :)

ToJu

Hallo.

Hat es schon jemand hinbekommen, das ganze auch zum Laufen zu bringen, wenn das Passwort auf dem youless gesetzt ist? Ich kann das Passwort zwar übergeben, aber dann wird auf die Homepage des youless geleitet und nicht mehr auf die json Antwort... Hat jemand eine Idee?

Grüße,
Torben

http://youless/a?w=Passwort&f=j

willybauss

Wie kann ich denn am Youless überhaupt ein Passwort setzen? Ich wüsste grade nur die Webseite. Die ist bei mir auch noch auf holländisch, weil ich mir nen Patch habe bauen lassen, damit der PV-Zähler auch abends ordentlich ausgewertet wird. Aber eine Möglichkeit zum Setzen eines Passworts sehe ich da nicht.
FHEM auf Raspberry Pi B und 2B; THZ (THZ-303SOL), CUL_HM, TCM-EnOcean, SamsungTV, JSONMETER, SYSMON, OBIS, STATISTICS

ToJu

Hallo.
Zitat von: willybauss am 09 Dezember 2017, 23:13:59
Wie kann ich denn am Youless überhaupt ein Passwort setzen?  [...] Aber eine Möglichkeit zum Setzen eines Passworts sehe ich da nicht.
Bei mir im LS120 mit Firmware-Version 1.3.3-EL.DEbg ist es dort: System --> Sicherheit. In Holländisch sollte es dort sein: "Systeem" --> "Wachtwoord".  Dann muss man ein Passwort eingeben, bevor man auf den youless zugreifen kann. Löschen des Passworts: Einfach das Feld leeren.

Die json-Abfrage erfolgt ja auch über den gleiche Weboberfläche mittels Aufruf von http://youless/a?f=j Und wenn man die Passwortabfrage einschaltet, möchte der youless auch vor diesem Abruf das Passwort wissen. Dazu wird man normalerweise auf eine Seite zur Passworteingabe umgeleitet. Mittels des Zusatzes ?w=Passwort kann man es übergeben. Soweit ich sehe, wird dann das erfolgreiche Anmelden als Cookie gespeichert. Das wäre auch noch kein großes Problem. Allerdings wird danach eben nicht auf die Seite http://youless/a?f=j als Antwort geleitet, sondern auf die Homepage. Diese Antwort kann das json-Modul dann natürlich nicht verarbeiten.

Grüße
Torben

willybauss

ok, danke. "Wachtwoord" habe ich gefunden, aber keine Lösung für Dein Problem.  :-[
FHEM auf Raspberry Pi B und 2B; THZ (THZ-303SOL), CUL_HM, TCM-EnOcean, SamsungTV, JSONMETER, SYSMON, OBIS, STATISTICS

ToJu

Hallo,

ich habe es nicht direkt gelöst bekommen. Es läuft jetzt ersteinmal als Workaround: Mittels Shell-Skript die Daten auslesen und in lokale Datei speichern (regelmäßig per cron). Das FHEM Modul greift dann auf diese Datei zu. In FHEM selbst am Modul nur die Datenherkunft anpassen.
#!/bin/bash

# Einloggen, um Cookie zu holen:
curl -c cookies.txt -d "w=HIERPASSWORT" http://youless/

# Cookie verwenden:
curl -b cookies.txt http://youless/a?f=j > strom.jetzt

Ideen für eine direkte Lösung im Modul weiterhin willkommen.

Grüße
Torben