Min/Max Werte von FHEM auf Display vom ESP8266 ausgeben

Begonnen von spike08122, 16 August 2016, 09:44:38

Vorheriges Thema - Nächstes Thema

spike08122

Servus Zusammen,

ich komme mal wieder nicht weiter.

Ich habe ein WLAN Thermometer mi einem ESP8266 und einem OLED-Display. Auf dem ESP läuft ESPEasy. Die Temperaturwerte werden per MQTT an FHEM übergeben und in einem SVG-Plot dargestellt. Weiterhin werden die Max/Min Temperaturwerte im Plot-Titel dargestellt.

Ich würde gern die Max/Mix an dem ESP zurückschicken und auf dem Display anzeigen. Hintergrund ist, dass das die Wassertemperatur vom Aquarium ist. Der ESP mit Display steht am Aquarium. Da wäre die Anzeige der Max/Min Werte, neben der aktuellen Temperatur die ja schon vom ESP angezeigt wird, toll.

Leider hab ich da so gar keinen Plan, wie ich das umsetzten soll.

Gruß


Spike
FHEM auf RPI B+, Steuerung von Baumarktsteckdosen (ELRO), Steuerung der Aquariumbeleuchtung mit LD382 in Planung, WLAN Temp-Sensor mit ESP8266 und EPSEasy

MadMax-FHEM

FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

eppi

Zitat von: spike08122 am 16 August 2016, 09:44:38
Leider hab ich da so gar keinen Plan, wie ich das umsetzten soll.
Hallo Spike
Schau dir mal das Statistic-Modul (http://fhem.de/commandref.html#statistics) an, es generiert für deinen Sensor entsprechende Readings mit min/max Werten deines Temp Sensors. Die readings kannst du dann per at an den ESP>Display senden.

Viel Erfolg

spike08122

Ich bing es einfach nicht hin.

Irgendwie bekomme ich schon bei der Statistik keinen Wert ausgelesen. Meine Daten kommen über MQTT zu FEHM und werden ausgelsen. Bei der Statistik ist bei GeräteNameRegExp der Name des Device einzutragen, aber ich kann eintragen, was ich will, es kommen keine Werte raus.

Weiß nicht ist vielleicht ne Nummer zu groß für mein Verständnis.

Gibts vielleicht noch ne Möglichkeit?

Gruß
FHEM auf RPI B+, Steuerung von Baumarktsteckdosen (ELRO), Steuerung der Aquariumbeleuchtung mit LD382 in Planung, WLAN Temp-Sensor mit ESP8266 und EPSEasy

eppi

Zitat von: spike08122 am 21 August 2016, 12:56:05
Ich bing es einfach nicht hin.

Irgendwie bekomme ich schon bei der Statistik keinen Wert ausgelesen. Meine Daten kommen über MQTT zu FEHM und werden ausgelsen. Bei der Statistik ist bei GeräteNameRegExp der Name des Device einzutragen, aber ich kann eintragen, was ich will, es kommen keine Werte raus.

Weiß nicht ist vielleicht ne Nummer zu groß für mein Verständnis.

Gibts vielleicht noch ne Möglichkeit?

Gruß
Poste doch mal je ein list deines esp und dem statistikmodul dass du angelegt hast...

spike08122

Nicht wundern, habe immer n bisschen nach dem Motto, "probieren geht über studieren" rumprobiert. Wieder gegooglt, wieder was gefunden, wie es villeicht passen könnte und wieder probiert. Gesehen, dass nix geht und wieder verworfen.

Also etwas deletantisch wahrscheinlich  ;D

Gruß
FHEM auf RPI B+, Steuerung von Baumarktsteckdosen (ELRO), Steuerung der Aquariumbeleuchtung mit LD382 in Planung, WLAN Temp-Sensor mit ESP8266 und EPSEasy

eppi

dein define für das statistic Modul ist falsch angelegt. Wenn du nur die Statistik dieses einzelnen Sensors willst mit min, Avg, Max dann sollte es wie folgt definiert sein:
define meine_warmwasser_statistic statistics Wassertemperatur|Wassertemperatur
attr meine_warmwasser_statistic minAvgMaxReadings Wassertemperatur


Dann im FHEM Command feld noch:
set meine_warmwasser_statistic doStatistics
absetzen, damit die erste Statistic generiert wird.

Danach im Device Wassertemperatur (ist dein MQTT Device) schauen, da sollten die zusätzlichen readings auftauchen...

spike08122

@eppi

Danke für Deine Hilfe. Das mit den Statitikwerten hat funktioniert. Der erste Teil wäre also erledigt. Jetzt werde ich noch schauen, ob ich mit die Werte auch an das Display schicken kann. Auch da wird es wohl auf einfach mal versuchen rauslaufen.  ;)


Gruß


Spike
FHEM auf RPI B+, Steuerung von Baumarktsteckdosen (ELRO), Steuerung der Aquariumbeleuchtung mit LD382 in Planung, WLAN Temp-Sensor mit ESP8266 und EPSEasy

spike08122

Nachdem die Werte ja in FHEM erfasst werden, habe ich mich an dem Senden zum ESP versucht, bisher ohne Erfolge

-ich haben eine Dummy LDC_Display definiert

und dann folgendes at von anderer Beispielen angepasst, leider tut sich am Display nichts

+*00:01 {\my $temp=(ReadingsVal (,,Wassertemperatur″,"statWassertemperaturDay","0″));;
# Log 3, ,,set LCD_Display: $temp";;
{GetHttpFile(,,192.168.2.212:80″,"/control?cmd=lcdcmd,clear")};;
GetHttpFile(,,192.168.2.212:80″,"/control?cmd=lcd,4,1,Temp:+$temp")};;
}


Fehlermeldeungen kommen nicht, aber am Display wird auch nichts angezeigt.

Könnte da nochmal n bisschen Hilfe brauchen.


Gruß


Spike
FHEM auf RPI B+, Steuerung von Baumarktsteckdosen (ELRO), Steuerung der Aquariumbeleuchtung mit LD382 in Planung, WLAN Temp-Sensor mit ESP8266 und EPSEasy

eppi

Zitat von: spike08122 am 28 August 2016, 13:44:20
+*00:01 {\my $temp=(ReadingsVal (,,Wassertemperatur″,"statWassertemperaturDay","0″));;
# Log 3, ,,set LCD_Display: $temp";;
{GetHttpFile(,,192.168.2.212:80″,"/control?cmd=lcdcmd,clear")};;
GetHttpFile(,,192.168.2.212:80″,"/control?cmd=lcd,4,1,Temp:+$temp")};;
}

Ich habe zwar kein Display, trotzdem glaube ich dass einiges nicht stimmt mit deinen Anführungszeichen...
Schreibe es mal so:
define at_send_to_my_Display at +00:01:00 {\
my $temp=ReadingsVal("Wassertemperatur","statWassertemperaturDay","0");;\
Log 3, "set LCD_Display: $temp";;\
system "wget -q -O /dev/null http://192.168.2.212:80/control?cmd=lcd,4,1,$temp";;0\
}

Der Code ist für die direkte Eingabe in die fhem.cfg bestimmt. Wenn du es direkt in den Device-define eingeben willst, dass musst du die ;;\ durch ; und ;;0\ durch ;0 ersetzen
Viel Erfolg!

spike08122

@eppi

Ich habe den Code direkt in die Config kopiert und gespeichert. Das Dipsplay hat dann in Zeile 4 "Min:" angezeigt, also den Anfang der Statistikwerte. Aber dann is FHEM abgeschmiert und war nicht mehr zu erreichen. Ich habe den PI neu gestartet und GsD funktioniert FHEM jetzt wirder. Der Eintrag aus der Config war verschwunden.

Ich versuch es nochmal über Device-define, aber zuerst mach ich noch n komplettes Backup vom ganzen System.

Ich habe jetzt noch einen anderen Ansatz gefunden und zwar mit DLCD aus der Beschreibung aus Robins Blog https://blog.moneybag.de/fhem-lcd-2004-display-mit-espeasy-teil-2/. Ich habe das DLCD-Modul konfiguriert und die angezeiten Werte auf dem virtuellen Display sind die readings die ich brauche. Jetzt versuch ich mal noch die Sache mit dem DOIF zur Übertragung.

Gruß

Spike
FHEM auf RPI B+, Steuerung von Baumarktsteckdosen (ELRO), Steuerung der Aquariumbeleuchtung mit LD382 in Planung, WLAN Temp-Sensor mit ESP8266 und EPSEasy

eppi

Ich habe vergessen zu erwähnen, dass wenn du nur den max Wert im Reading des Device Wassertemperatur anzeigen willst, du im Statistikmodule nochmals ein Attribut singularReadings anlegen musst. Damit hast du es einfach, das max reading ans Display zu senden.