Parameter auslesen und exportieren, aber wie?

Ich würde gern aus einem Gerät (Shelly 3EM) die “TOTAL POWER” auslesen.
Diesen Wert würde ich gerne jede Minute auslesen / speichern und irgendwann grafisch in eine Excel-Tabelle übernehmen.

Ist das irgendwie, z.B. mit einem Flow möglich?

Liebe Grüße
Thorben

Die Frage wäre, wo du das speichern willst. Homey ist ja keine Ablage :smile:
Wenn du eine SQL Datenbank hast, z.B. auf einem NAS, könntest du die MySQL App verwenden.

Siehe 2. Beitrag.

In Excel könntest du dann über ODBC auf die MySQL-DB zugreifen. Dazu brauchst du aber noch ein Excel-AddIn. Dann kannst du im Prinzip automatisch aktualisierende Pivot-Tabellen bauen, die deine SQL-DB lesen.

Mit der App Archive Insights kann man einen Flow erstellen der alle 6 Stunden die Insights Daten des Shellys als CSV-Datei exportiert, z.B. auf ein NAS, einen FTP Server oder WebDAV kompatiblen Speicher. Alle 6 Stunden, weil dann die Daten in einem Intervall von 1 Minute gesichert werden.

Eine recht simple App, die die Daten soweit ich weiß auch lokal speichern kann, ist die Simple (Sys) Log App.

Dann gibt’s noch die App Easy Logger, die die Daten direkt in ein Google Sheet exportiert. Auch wenn es eine recht gute Wiki Seite zu der App gibt, ist die Konfiguration nicht ganz einfach, war sie für mich zumindest nicht.

Gibt es eine Lösung, eine Variable aus einer Homey-App auszulesen als Trigger?

Die Variable steht in Protokoll der App, aber ist leider nicht in der App selber als Variable auswählbar (Entwickler ist kontaktiert). Wie komme ich an diese Info ran?

Die Frage habe ich ganz grundsätzlich, um bei Weiterentwicklungen nicht vom Entwickler abhängig zu sein. Es geht aber konkret um die App Misol and Ecowitt. Da gibt es neu im Protokoll die Variable srain_piezo mit 1 oder 0. Diesen Wert würde ich gerne auslesen und als Trigger nutzen.

Danke schön!

Mit ‘Variable’ meinst du eine Geräte-Capability?
Das wäre dann eine Custom Capability, für die der Entwickler einen Trigger definieren muss, um diesen im Flow nutzen zu können.

Alternativ könntest du dir ein virtuelles Gerät mit der DeviceCapabilities App anlegen. Dort kann man man Capabilities hinzufügen und m.W. eine Capability eines anderen Gerätes “überwachen”. Damit bekommst du zumindest einen Flow-Trigger über das virtuelle Gerät. Das wäre zumindest ein schneller Workaround.

1 Like

Danke für die schnelle Antwort.

Den Entwickler habe ich schon angeschrieben. Den Tipp mit der DeviceCapabilities App probiere ich aus! :+1:

Hm, es scheint, ob DeviceCapabilities App nur die vom Entwickler zur Verfügung gestellten Geräte-Capability anbietet. Da gibt es aber im Protokoll der App Misol and Ecowitt noch mehr. Wie komme ich daran? Wie kann ich dieses App-Protokoll auslesen?

Aktuell sehe ich nur die Chance, per Webhook die Statusänderung abzurufen und dort den gesuchten Paramater auszulesen. Das bedeutet aber auch, dass die App Misol and Ecowitt nutzlos wird. Das wäre irgendwie schade und im Grunde eine unnötige Bastelei.

Hm, ich sehe schon, ich muss auf den Entwickler warten. Er hat sich das bei Github schon als To Do gesetzt.

Sorry, aber dieses Missverständnis liegt daran, dass Du keine korrekten App Bezeichnungen genannt und nicht mal erwähnt hast, ob es sich um eine Homey oder eine herstellereigene Smartphone App handelt:

Und die Smartphone App heißt auch nicht Wittboy-App sondern Ecowitt bzw. WSView Plus.

Natürlich kann die Device Capabilities App nur die vorhandenen Capabilities überwachen. Und die von Dir genannte Fähigkeit srain_piezo wird aktuell nun mal nicht von der Homey Misol and Ecowitt App unterstützt.

Ob die Ecowitt Hardware WebHooks versenden kann, ist mir nicht bekannt. Das könntest Du höchstens im entsprechenden Ecowitt Discord Channel mal nachfragen. Hier ein Einladungslink: ecowittweather
Allerdings wird das MQTT Protokoll unterstützt.
So sähe dann das MQTT Topic inkl. der Fähigkeit srain_piezo aus:

PASSKEY=XXXXXXXXXXXXXXXXXXXX&stationtype=GW2000A_V3.2.5&runtime=607311&heap=80888&dateutc=2025-06-04%2015%3A56%3A24&dns_err_cnt=29&cdnflg=22&tempinf=75.74&humidityin=47&baromrelin=29.796&baromabsin=29.633&tempf=64.04&humidity=71&vpd=0.175&winddir=190&windspeedmph=7.83&windgustmph=8.95&maxdailygust=19.01&solarradiation=213.42&uv=1&rrain_piezo=0.000&erain_piezo=0.000&hrain_piezo=0.000&drain_piezo=0.000&wrain_piezo=0.016&mrain_piezo=0.016&yrain_piezo=11.291&srain_piezo=0&ws90cap_volt=5.4&ws90_ver=143&soilmoisture1=50&soilad1=260&soilmoisture2=20&soilad2=144&soilmoisture3=11&soilad3=113&soilmoisture4=29&soilad4=177&tf_ch1=76.82&soilbatt1=1.3&soilbatt2=1.3&soilbatt3=1.3&soilbatt4=1.3&tf_batt1=1.32&wh90batt=3.28&freq=868M&model=GW2000A&interval=60
(Sensible Daten wurden unkenntlich gemacht)

Um diese Daten aber überhaupt nach Homey zu bekommen, benötigt man einen MQTT Broker, z.B. die Homey MQTT Broker App, die Homey MQTT Client und Device Capabilities App. Die Device Capabilities App dient nur dazu, die Daten der WS90 in einem Gerät in Homey darstellen zu können.
Anstelle der MQTT Client und Device Capabilities App könnte man auch alternativ die Homey MQTT Hub App von @RonnyW nutzen.
Kehrseite der Medaille ist allerdings, dass die WS90 dann nicht mehr über die Homey Misol and Ecowitt App verbunden werden kann. Es ist nur ein “Customized” Protokoll möglich.

1 Like

Sorry für die von mir gestiftete Verwirrung und danke für die Erklärung.

Ja, die Android-App Ecowitt kann Webhook. Habe ich in einem Forum gefunden. Aber dann geht eben die Homey-App Misol and Ecowitt nicht mehr.

Ich warte mal auf den Entwickler. Er scheint sich der Sache angenommenen zu haben.

Du kannst in der DC App in das Gerät eine passende Capability einfügen, also irgend eine numerische capability. Dann hast du ggf. eine falsche Einheit angezeigt, aber für den Flow ist es egal. Du brauchst ja nur den Flow-Trigger.

Danach kannst du ein zu überwachendes Gerät und dessen Capability wählen. Der Wert wird dann in das virtuelle Gerät übernommen und der Trigger sollte bei Änderungen ausgelöst werden.

Jetzt bin ich noch verwirrter… :face_with_tears_of_joy:

Also die Homey App Misol and Ecowitt kann keine Webhooks senden oder empfangen.
Man kann mit einem eingehenden Webhook einen Flow triggern bzw. starten, und dann z.B. eine Variable oder eine Fähigkeit (Capability) von einem virtuellen Gerät setzen, verändern. Z.B. dass es begonnen hat zu regnen. Dafür müsste aber die Ecowitt Wetterstation WS90 in Verbindung mit einem Ecowitt Gateway, z.B. GW2000, Webhooks versenden können. Und das ist nach meinem aktuellen Kenntnisstand nicht möglich.

Kannst Du bitte mal beschreiben, wo dieses Protokoll in der Ecowitt/WSView Plus Smartphone App genau zu finden ist? Ich finde dieses Protokoll nämlich nicht.
Man kann s.g. Alarme in der Ecowitt Smartphone App für die einzelnen Wetterbedingungen erstellen, welche dann an eine Email Adresse geschickt werden können. Allerdings scheint das mit dem Parameter “Regen Piezo: Zustand” noch nicht wirklich gut umgesetzt zu sein.
Bei “Operator” steht mir nur die Bedingung “ist gleich” zur Verfügung, und als “Schwellenwert” nur “Offline”:

Das würde theoretisch bedeuten, dass man nur eine Emailbenachrichtigung bekommt, wenn es aufgehört hat zu regnen. Für Regenbeginn scheinen die entsprechenden Vorgaben zu fehlen. Oder verstehe ich das falsch?
Ich nutze übrigens die Ecowitt App auf einem iPhone. Vielleicht ist das bei einem Android Smartphone anders?

Bei anderen Parametern, z.B. “Außen: Temperatur” habe ich die Möglichkeit “kleiner als” oder auch “größer als” auszuwählen, plus Eingabe eines frei definierbaren Schwellenwertes, also einer Temperatur.

Wenn die Emailbenachrichtigung korrekt funktionieren würde, sowohl für Regenbeginn als auch -ende, dann könnte man einen Flow mit der Homey Email App triggern lassen und dadurch eine Variable oder eine Capability entsprechend ändern lassen. Die Email App habe ich bisher allerdings noch nicht getestet.

Nicht mein Jahr. Sorry für die Verwirrung. Erneut.

Die Android-App Ecowitt kann Webhook. Zumindest lese ich das hier grundsätzlich so raus.

Aber wie du geschrieben hast, kann sie dann nicht mehr die Homey App Misol and Ecowitt bedienen. Man muss sich entscheiden.

Den Hinweis “Es regnet”, sieht man in der Android-App Ecowitt am Zustand “Regnen”. Das geht sicher bei jedem registrierten Tropfen und extrem schnell. Ist der Sensor wieder trocken oder nach 2 Stunden ohne neue Tropfen, schaltet die App zurück auf “kein Regen”.

Hinterlegt ist in der Homey-App Misol und Ecowitt der Wert mit der Variablen srain_piezo. 1=Regen, 0=kein Regen

… und meine Ausgangsfrage war, wie kann ich in Homey das Protokoll der Misol and Ecowitt App auslesen und den Wert srain_piezo als Trigger nutzen. Das Protokoll ist ja schon in der Homey-App, eigentlich macht es keinen Sinn, das aus der Android-App heraus nochmal per Webhook zu schicken.

Hm, könnte eventuell sein. Aber dann würde in der Tat die Homey Misol and Ecowitt App nicht mehr funktionieren, weil diese auch über die “Customized → Ecowitt” Schnittstelle konfiguriert wird.

Ok, das ist die Protokollierung in der Homey Misol and Ecowitt App, welches sich inhaltlich übrigens mit dem MQTT Topic gleicht. Aufgrund der Verwirrungen hatte ich angenommen, dass es in der Ecowitt Smartphone App ein solches Protokoll gibt.

Okay, jetzt macht das ganze, bzw. Deine Frage auch Sinn für mich. Allerdings kann ich Deine Frage nicht beantworten, sorry. @RonnyW könnte das aber eventuell beantworten!?

1 Like

@DirkG hatte das schon treffend beschrieben.
Wenn Ecowitt nur einen Client unterstützt, dann geht nur Homey-App oder über MQTT.

Wenn du MQTT einrichten willst. dann brauchst du (wie schon beschrieben):

  • MQTT Broker (sozusagen die Datenbank)
  • MQTT Client
  • MQTT Hub (falls du direkt virtuelle Geräte erstellen willst)
  • alternativ die DeviceCapabilities App (wenn du per Flows von MQTT Client virtuelle Geräte “füllen” willst

Zuerst musst du Ecowitt mit dem MQTT Broker verbinden.
Dann musst du du den MQTT Client mit dem Broker verbinden.
Mit dem MQTT Hub kannst du virtuelle Geräte anlegen. Beim Erstellen des Gerätes kannst du die MQTT Topic angeben. Damit wird bei Wertänderung das virtuelle Gerät direkt aktualisiert.

Beim Lesen der Topic muss man vermutlich noch bisschen experimentieren, um die Variable zu lesen. Die Topic scheint ja einen JSON-String zu enthalten.

Zum Prüfen der MQTT-Inhalte am besten den MQTT-Explorer installieren.

1 Like

Lieben Dank!

Ich warte jetzt mal ein paar Wochen, ob der Entwickler der Misol and Ecowitt App den Wert srain in einen Trigger umsetzt. Bei Github hat er sich der Sache schon mal angenommen.

Dann probiere ich Webhook. Damit kenne ich mich etwas besser aus. Klappt das nicht, folgt MQTT.

Dass ich den Wert nutzen werde, um bei einsetzenden Regen - und seien es nur ein paar Tropfen - die Markise einzufahren, steht fest.

Adrian, der App Entwickler der MaE App, ist eigentlich immer sehr fix in der Umsetzung. Das wäre natürlich die beste und einfachste Lösung. Bisher nutze ich nämlich auch immer einen Trigger Das Regenereignis hat sich verändert plus entsprechende Logik-Karte, oder Regenereignis wird weniger als x mm.

Solltest Du Home Assistant nutzen, dann könntest Du darüber die Fähigkeit srain_piezo jetzt schon nutzen. Wäre definitiv auch einfacher als die Daten per MQTT abzurufen.

“Regenereignis hat sich verändert”, hatte aber eine krasse Verzögerung. Das dauert ewig, bis das Regenereignis beendet ist. Habe ich getestet und die Markise wäre nass gewesen.

Natürlich, weil ja erst eine Mindestmenge von z.B. 0.1 mm geregnet haben muss. Im Prinzip wie bei den Regensensoren mit dem mechanischen Wippmechanismus die erst dann Niederschlag melden, wenn die Wippe das erste Mal gekippt ist.
Das sollte ja auch kein Lösungsvorschlag sein sondern nur ein Hinweis, wie ich es bis jetzt umgesetzt habe, da es aktuell ja keine andere Möglichkeit mit der WS90 und den zur Verfügung stehenden App-Funktionen gibt.


Edit 17.06.2025

@Stefan_Doring, in der heute veröffentlichten Testversion v0.2.4 der Misol and Ecowitt App ist die Funktion jetzt verfügbar:

1 Like

Danke, habe ich schon im Einsatz und funktioniert bestens!