@andreas-9
Also so wie ich das sehe ist das Problem doch einfach, dass die Client ID mit dem falschen Wert befüllt ist.
Bei Dir steht dort shellypmmini-3030f9e92d68
. Der Adapter nimmt sich den Geräte-Typ aus dem ersten Teil dieses Feldes und erzeugt deshalb die Datenpunkte für einen Shelly PM Mini. Dieser Geräte-Typ enthält kein Relais und somit gibts dann auch keinen Datenpunkt fürs Schalten. Das erklärt auch warum bei Power und Voltage immer 0 steht, denn beim 1PM liegen diese Datenpunkte im Kanal "Relay0" und nicht wie beim PM in "PM1:0".
Ich bin zuversichtlich, dass alles richtig funktioniert wenn Du shelly1pmg3-3030f9e92d68
als Client ID reinschreibst.
NEWS
Best posts made by CatShape
-
RE: Shelly S1PMG3 im neuen Shelly-Adapter... Probleme!
-
RE: Gibt es einen Adapter für ecoflow PowerOcean ?
@ulofemi sagte in Gibt es einen Adapter für ecoflow PowerOcean ?:
Jetzt habe ich mir innerhalb des ecoflow_catshape entsprechende heartbeat.xxxxx Datenpunkte angelegt.
Also ein Beispiel: Ich will die erzeugte Momentanleistung der PV Anlage sehen, also unter Objekte in den Ordner ecflow_catshape > 0 > HJ31xxxx navigiert, neuen Datenpunkt anlegen mit dem Namen heartbeat.mpptPwrMir ist da doch noch etwas aufgefallen, was nicht ideal ist.
Dadurch, dass Du einen Zustand (Datenpunkt) mit dem Namenheartbeat.mpptPwr
angelegt hast, wurde zusätzlich zum Zustand "mpptPwr" implizit auch noch das Objekt "heartbeat" mit undefiniertem Typ erzeugt.
Ich denke es ist im ioBroker nicht angedacht, dass Benutzer Objekte auf diese Weise erstellen. Dieses Objekt "heartbeat" ist so nicht vollständig sauber definiert. Man erkennt das auch daran, dass im GUI (im Expertenmodus) bei diesem Objekt das bearbeiten-Symbol fehlt. Da ist nur das löschen-Symbol.
Das könnte unter Umständen irgendwann mal zu Problemen führen. Es sollte prinzipiell nie ein Objekt (Zustand, Kanal, Ordner, Gerät, ...) mit einem "." (Punkt) im Namen angelegt werden.
Wenn man in einem Gerät einen sogenannten Kanal (eine Art Ordner) haben möchte, dann ist der saubere Weg diesen explizit anzulegen, also in Deinem Fall zuerst inecoflow_catshape.0.HJ31xxxxx
einen neuen Kanal mit dem Namenheartbeat
anlegen und danach dann inecoflow_catshape.0.HJ31xxxxx.heartbeat
die Zustände (z.B.mpptPwr
) anlegen.
Nebenbei: Prinzipiell müssen die Zustände nicht zwingend in Kanälen sein, sie können genauso gut direkt im Gerät sein. Das ist einer der von mir beabsichtigten Vorteile dieses Adapters, dass man die Zustände selber so anlegen, organisieren und benennen kann wie man möchte.Es gibt eine einfache Möglichkeit Deine bestehende Struktur zu bereinigen, ohne dass Du das "heartbeat"-Objekt löschen musst (wenn Du "heartbeat" löschst werden auch alle darin bereits angelegten Zustände mitgelöscht und Du müsstest die alle neu anlegen):
Inecoflow_catshape.0.HJ31xxxxx
einen neuen Kanal mit dem Namenheartbeat
anlegen. Obwohl dieses Objekt bei Dir ja bereits (unvollständig) existiert, sollte das klappen, und danach ist es dann eben vollständig und korrekt angelegt.
Danach empfehle ich Dir noch bei allen Zuständen im Namen (common.name
) den Teil "heartbeat." rauszulöschen, also z.B. aus "heartbeat.mpptPwr" --> "mpptPwr" zu machen.Hoffentlich habe ich es einigermassen geschafft mich präzise und trotzdem verständlich auszudrücken
-
RE: Neuer Adapter ecoflow-mqtt
Hallo zusammen
Erstmal vielen Dank @foxthefox für diesen Adapter. Ich benutze ihn um die Einspeisung meiner PowerStream mit Delta Pro als Speicher zu steuern.
Mir ist dabei aufgefallen, dass in 'adapter_utils.js' das Objekt 'info.reconnects' erzeugt wird (Zeile 166 in Version 0.0.33). Auf der anderen Seite wird in 'main.js' das Objekt 'info.msgReconnects' benutzt (Zeilen 42, 826-828 in Version 0.0.33).
Dies führte bei mir zu entsprechenden Fehlermeldungen während der Adapter lief. Ich habe dann als Workaround manuell das Objekt 'info.msgReconnects' angelegt.Ich wollte das nur mal melden (sorry falls das bereits jemand anderswo vor mir gemacht hat).
Latest posts made by CatShape
-
RE: Adapter ecoflow_catshape - Problem bei inaktiver App
@milo58
Nur um sicher zu sein noch eine Frage: Wenn die App nicht aktiv ist, dann werden bei DIr in quota gar keine Daten aktualisiert? Also auch nicht der Inhalt von mpptHeartBeat ? -
RE: Gibt es einen Adapter für ecoflow PowerOcean ?
@allodo sagte in Gibt es einen Adapter für ecoflow PowerOcean ?:
Komischerweise scheinen die einzelnen Stringdaten aber immer zu stimmen. Zumindest ist mir auf meinem Monitor mit "Energiefluss erweitert " aufgefallen, dass die beiden Werte addiert scheinbar den korrekten Solarertrag ermitteln. Der eigentliche Solarertrag aber erst nach öffnen der App wieder korrekt übertragen wird.
Interessant - könnte es demnach sein, dass die Cloud einen Teil der Daten gar nicht vom PowerOcean-Gerät selbst, sondern von der App übertragen bekommt?
Sprich das Gerät selbst nur gewisse "Rohdaten" (zum BeispielmpptHeartBeat.mpptPv
) an die Cloud liefert, und die App daraus weitere Daten (zum BeispielmpptPwr
) berechnet und diese dann separat an die Cloud überträgt?
Und heisst das dann, dass die "Rohdaten" immer korrekt aktualisiert werden, auch wenn die App nicht aktiv ist?Falls dem so ist, wäre das ja eine gute Nachricht, weil man dann ja alles was man braucht aus diesen "Rohdaten" rausholen könnte.
Ich hätte in dem Zusammenhang noch eine Bitte:
Könntest Du mal den Wert vom Datenpunktquota
auslesen und hier reinschreiben (die Seriennummer natürlich unkenntlich machen).
Dann wüsste ich endlich welche Daten in welcher Struktur für PowerOceans überhaupt geliefert werden. Die API-Dokumentation von EcoFlow für die PowerOcean ist da leider ziemlich schlecht.
Ich könnte dann eine Vorlage zum Anlegen der Datenpunkte machen. Analog zu https://github.com/CatShape/ioBroker.ecoflow_catshape/blob/main/doc/PowerStream.json -
RE: Gibt es einen Adapter für ecoflow PowerOcean ?
@ulofemi sagte in Gibt es einen Adapter für ecoflow PowerOcean ?:
@CatShape
Hierzu noch eine Frage: Teilweise muss ich meinen EcoFlow Adapter neustarten, da er sich irgendwie aufgehängt hat. Wann das genau apsiert konnte ich noch nicht feststellen, aber ungefähr alle 2-3 Tage. Die Daten von dem Tag kann ich dann eigentlich in die Tonne werfen. Ist das Problem bekannt? Sonst müsste ich das bei mir nochmal genauer analysieren.Nein, das Problem ist mir nicht bekannt.
Bei mir hat sich der Adapter noch nie aufgehängt und er lief auch schon mehrere Wochen am Stück ohne Neustart. -
RE: Adapter ecoflow_catshape - Problem bei inaktiver App
@milo58
Ich würde gerne verstehen, wie die von der EcoFlow-API gelieferten Daten bei PowerOceans überhaupt aussehen. Die API-Dokumentation von EcoFlow ist da leider nicht sehr zuverlässig.
Könntest Du, während die App nicht aktiv ist (und die Daten in der Cloud NICHT aktualisiert werden), den Wert vom Zustandquota
auslesen und dann dasselbe etwa 1-2 Minuten später wiederholen und die beiden Werte hier reinschreiben (die Seriennummer unkenntlich machen).
Mein Adapter soll während dieser Zeit natürlich laufen, nur die App soll nicht aktiv sein, damit die Daten in der Cloud nicht aktualisiert werden.
Dann könnte ich- sehen welche Werte in welcher Struktur überhaupt geliefert werden
- die beiden Werte miteinander vergleichen um zu sehen ob es vielleicht irgendwelche Daten gibt, die trotzdem aktualisiert werden
-
RE: Gibt es einen Adapter für ecoflow PowerOcean ?
@allodo
Ich hätte da noch eine Frage.@milo58 sagte in Gibt es einen Adapter für ecoflow PowerOcean ?:
@ulofemi Hallo Ulofemi, da ich meine PowerOcean auch mit dem Adapter von @CatShape betreibe würde mich mal interessieren, ob ein bei mir auftretendes Problem auch bei Dir (oder natürlich auch anderen Usern) besteht: Wie verhält sich der Adapter, wenn die Handy-App von Ecoflow längere Zeit inaktiv ist? Bei mir werden nach ca 10 bis 15 Minuten die Leistungsdaten in der Cloud nicht mehr aktualisiert und in der Quota ändert sich offenbar nur der Timestamp. Daten wie mpptPwr sind dann immer unverändert und falsch. Sobald ich die Handy-App wieder starte, bekommt der Adapter auch aktualisierte Daten.
Hast Du bei Dir auch schon mal dieses Problem beobachtet?
Hier der ursprüngliche Beitrag zu diesem Thema: Adapter ecoflow_catshape - Problem bei inaktiver App -
RE: Gibt es einen Adapter für ecoflow PowerOcean ?
@allodo
Ja, sie werden täglich auf 0 zurückgesetzt und zwar um die Zeit, welche in der Instanz-Einstellung ("Reset Zeit für kumuliere täglich Zustände") gesetzt ist.
Dabei wird der Wert (vor dem zurücksetzen) auch ins Log geschrieben, das heisst Du kannst die jeweiligen Tages-Werte im Log vom Folgetag finden. -
RE: Gibt es einen Adapter für ecoflow PowerOcean ?
@allodo
Ok, dann war meine Definition von "mpptPower" und "mpptEnergyToday" eigentlich richtig. Ich verstehe nicht warum dann der Wert von "mpptPower" nicht genauso aktualisiert wird wie "Solarertrag". Das müsste er eigentlich, denn mein Adapter schaut dazu nur darauf was innative.ecoflowApi
steht, und so weit ich sehe ist das bei beiden Datenpunkten identisch.
Bin gerade etwas ratlos.Nun gut, Du könntest einen neuen Datenpunkt "SolarertragHeute" vom Typ "Zahl" am selben Ort wie "Solarertrag" (also in
ecoflow_catshape.0.HJxxxxxxxxxxxx
) erstellen.
Danach im Datenpunkt "Solarertrag" in den Objektdaten den "native"-Teil mit"cumulateDailyByTimeId": "SolarertragHeute",
ergänzen, so dass er wie folgt aussieht:"native": { "cumulateDailyByTimeId": "SolarertragHeute", "ecoflowApi": { "quotaValueKey": "mpptPwr", "valueFactor": 1 } }
Eigentlich müsste dann (ab sofort) jedes mal wenn "Solarertrag" aktualisiert wird, auch "SolarertragHeute" aktualisiert werden.
Selbstverständlich kannst Du statt "SolarertragHeute" auch irgend einen anderen Namen für den neuen Datenpunkt wählen. (Du musst nur sicherstellen, dass in "Solarertrag" bei "native.cumulateDailyByTimeId" genau dieser Name steht.)Das ist natürlich im Prinzip dasselbe, was ich bereits mit "mpptPower" und "mpptEnergyToday" versuchen wollte, aber vielleicht ist dort beim erstellen der Datenpunkte irgend etwas schief gelaufen.
-
RE: Gibt es einen Adapter für ecoflow PowerOcean ?
@allodo sagte in Gibt es einen Adapter für ecoflow PowerOcean ?:
Also ich habe gestern 2 Datenpunkte angelegt, jedoch passiert dort gar nix. Weder wird mpptPower aktualisiert, noch wird bei mpptEnergyToday etwas angezeigt
Ich habe mich bei der Definition des Zustands "mpptPower" auf die API-Doku von EcoFlow zu mpptPwr verlassen; möglicherweise ist die nicht korrekt. Da ich keine PowerOcean habe, kann ich selber leider nichts testen, was die Sache für mich etwas schwierig macht.
.
@allodo sagte in Gibt es einen Adapter für ecoflow PowerOcean ?:Oder habe ich dort etwas falsch gemacht? Sorry, kenne mich mit den Inhalten von Datenpunkten gar nicht aus. Musste mich damit bisher allerdings auch noch nicht auseinandersetzen
Mein Adapter basiert im Wesentlichen darauf, dass der Benutzer Zustände in der Instanz selber anlegt und den Inhalt von
"native":{}
direkt in den Objektdaten konfiguriert. Für Leute die das nicht möchten, ist mein Adapter nicht so geeignet.Wenn Du willst, kannst Du mir die Objektdaten von Deinem Datenpunkt "Solarertrag" zeigen (bei eingeschaltetem Expertenmodus rechte Maustaste auf Datenpunkt und "Objekt bearbeiten" wählen, Seriennummer unkenntlich machen). Dann könnte ich Dir sagen was zu tun ist, damit "mpptEnergyToday" richtig befüllt wird.
-
RE: Gibt es einen Adapter für ecoflow PowerOcean ?
@allodo sagte in Gibt es einen Adapter für ecoflow PowerOcean ?:
Du lieferst ja den QUOTA (/iot-open/sign/device/quota/all) , woher ich die meistens wichtigen Informationen her bekomme. Allerdings fehlt mir der Tagesertrag
Eigentlich habe ich genau dafür den "cumulateDailyByTimeId" Mechanismus vorgesehen.
Du könntest die 2 folgenden Zustände bei Dir anlegen (HJXXXXXXXXXXXXXX überall durch die Seriennummer von deiner PowerOcean ersetzen) und dann siehst Du den Mechanismus in Aktion.{ "ecoflow_catshape.0.HJXXXXXXXXXXXXXX.mpptEnergyToday": { "common": { "type": "number", "unit": "Wh", "name": "MPPT energy today", "desc": "MPPT energy today", "role": "state", "read": true, "write": false, "def": 0 }, "type": "state", "native": {}, "_id": "ecoflow_catshape.0.HJXXXXXXXXXXXXXX.mpptEnergyToday", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1732458123426, "val": 0, "ack": true }, "ecoflow_catshape.0.HJXXXXXXXXXXXXXX.mpptPower": { "type": "state", "common": { "type": "number", "unit": "W", "name": "MPPT power", "desc": "MPPT power", "read": true, "write": false, "def": 0 }, "native": { "cumulateDailyByTimeId": "mpptEnergyToday", "ecoflowApi": { "quotaValueKey": "mpptPwr", "valueFactor": 1 } }, "_id": "ecoflow_catshape.0.HJXXXXXXXXXXXXXX.mpptPower", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1732458124074, "val": 0, "ack": true } }
.
@allodo sagte in Gibt es einen Adapter für ecoflow PowerOcean ?:Dieser ist meine ich unter den History-Daten: /iot-open/sign/device/quota/data
Könntest Du diesen Punkt evtl. liefern?Das müsste ich mir genauer anschauen. Auf den ersten Blick passt das nicht so einfach in meine bestehende Adapter-Logik.
Ich könnte mir aber schon vorstellen, in einer zukünftigen Adapter-Version so eine zusätzliche Abfrage-Möglichkeit einzubauen. -
RE: Gibt es einen Adapter für ecoflow PowerOcean ?
@mcm1957
Ich habe vor das zu machen.
Im Moment erfüllt mein Adapter noch nicht alle Voraussetzungen dafür. Insbesondere was npm betrifft. Da ich mich bisher noch nie mit npm befasst habe, muss ich mich da erst mal schlau machen.