@foxthefox die Shelly Daten kommen gleich als JSON in der MQTT Message an, müssen also nicht erst decodiert werden.
Hier ein Beispiel:
shelly.json
Der Wert der uns interessiert ist params.total_power - Angabe in Watt.
NEWS
Best posts made by dpleiss
-
RE: Shelly Verbrauchsdaten direkt aus der Ecoflow Cloud holen
-
RE: Shelly Verbrauchsdaten direkt aus der Ecoflow Cloud holen
@bastib hier wird kein Smartplug simuliert, auch hier wird die Grundlast eingestellt.
Der Fall liegt bei der Messung des gesamten Wohnungs-Strombedarfs (egal ob mit IOBroker Shelly Adapter oder ohne) auch anders, weil der ja durch die Einspeisung verringert wird. Die Einspeisung ist dynamisch so nachzuregeln, dass im Idealfall vom Shelly 0 gemessen wird. Daher kann so ein Shelly o.ä. nicht einfach genau so wie ein Smartplug verwendet werden. -
RE: ecoflow-connector-Script zur dynamischen Leistungsanpassung
Vielleicht interessiert euch ja, wie man Shelly Verbrauchsdaten direkt aus der EcoFlow Cloud holen kann.
Latest posts made by dpleiss
-
RE: Shelly Verbrauchsdaten direkt aus der Ecoflow Cloud holen
@ibrokeo Ja, läuft alles über die Cloud. Eine Möglichkeit zur direkten Ansteuerung im lokalen Netz ist mir nicht bekannt.
-
RE: Automatisierte Einspeisung für PowerStream
@cptmozz
Ich habe ein Problem festgestellt bei dem Versuch, das Skript mitCONTINUE_WHEN_INVERTER_IN_STANDBY: false
laufen zu lassen. (Mir gefällt die Option besser, weil, warum Anpassungen der Grundlast schicken, wenn der Inverter eh nichts liefert.)
Es ist dabei in einen Zustand gelaufen, bei dem das Skript nicht mehr aufgewacht ist, nachdem der Inverter wieder aufgewacht ist.
Es sieht so aus, dass das Skript dann in dem Zustand "Waiting for acknowledgment" hängen geblieben ist.
Ich kann mir gut vorstellen, dass nichts mehr passiert, wenn irgendwie einmal die Differenz zwischen requestedInverterOut.ts und acknowledgedInverterOut.ts „passend“ steht. Dann wird stur immer weiter auf ein Acknowledge gewartet, das im INVERTER_IN_STANDBY Zustand bestimmt nicht mehr kommt.
(Für diese Überlegungen spricht auch, dass das Skript aufgewacht ist, als ich in der Ecoflow App den Grundbedarf Regler manuell verschoben habe - dadurch wurde wohl der Acknowledge gesendet auf den das Skript gewartet hat.)Mein Lösungsansatz
Ich habe den!device.CONTINUE_WHEN_INVERTER_IN_STANDBY
Block nach oben verschoben innerhalb von
function isOutputAdjustmentRequired
direkt nach den
if (smartMeterWattState.ts === 0)
Überlegung dazu
Im STANDBY Zustand soll die Funktion sofort verlassen werden, es soll auf keinerlei „outdates“ oder acknowledges gewartet werden; es sollen keinerlei adjustments oder retries versucht werden.
Dann läuft er auch nicht in den Block mit "Waiting for acknowledgment“, solange STANDBY besteht.
Erst wenn der STANDBY vorbei ist, wird wieder mit Acknowledgements gerechnet.Also, einfach den „!device.CONTINUE_WHEN_INVERTER_IN_STANDBY“ Block nach oben verschoben in der "function isOutputAdjustmentRequired".
Das funktioniert bei mir in der Praxis bisher stabil, sodass das Skript auch mit der Option „CONTINUE_WHEN_INVERTER_IN_STANDBY: false“ funktioniert und mit Erwachen der Anlage auch selber wieder die Steuerung übernimmt.
-
RE: Shelly Verbrauchsdaten direkt aus der Ecoflow Cloud holen
@foxthefox said in Shelly Verbrauchsdaten direkt aus der Ecoflow Cloud holen:
ecoflow-mqtt Adapter
good job!
-
RE: Shelly Verbrauchsdaten direkt aus der Ecoflow Cloud holen
@foxthefox ich glaube es kommen auch nur Daten rein wenn sie sich ändern.
-
RE: Shelly Verbrauchsdaten direkt aus der Ecoflow Cloud holen
@bastib hier wird kein Smartplug simuliert, auch hier wird die Grundlast eingestellt.
Der Fall liegt bei der Messung des gesamten Wohnungs-Strombedarfs (egal ob mit IOBroker Shelly Adapter oder ohne) auch anders, weil der ja durch die Einspeisung verringert wird. Die Einspeisung ist dynamisch so nachzuregeln, dass im Idealfall vom Shelly 0 gemessen wird. Daher kann so ein Shelly o.ä. nicht einfach genau so wie ein Smartplug verwendet werden. -
RE: Shelly Verbrauchsdaten direkt aus der Ecoflow Cloud holen
@foxthefox die Shelly Daten kommen gleich als JSON in der MQTT Message an, müssen also nicht erst decodiert werden.
Hier ein Beispiel:
shelly.json
Der Wert der uns interessiert ist params.total_power - Angabe in Watt. -
RE: Automatisierte Einspeisung für PowerStream
… und es geht auch standalone!
Wenn man den Day-/Night-Mode Code rausnimmt und ein paar kleine Code-Änderungen vornimmt, kann man diese automatisierte Einspeisung komplett ohne IOBroker, nur auf NodeJS laufen lassen.Ggf. die Abhängigkeiten installieren mit
npm install mqtt npm install protobufjs
dann kann das Skript unter NodeJS laufen mit
node powerstream-output-control_SHELLY_INTEGRATION_STANDALONE.js
(natürlich nach den entsprechenden Konfigurationen im Skript)
Hier die Datei: powerstream-output-control_SHELLY_INTEGRATION_STANDALONE.js
-
RE: Automatisierte Einspeisung für PowerStream
Nachdem ich beschrieben habe, wie man Shelly Verbrauchsdaten direkt aus der EcoFlow Cloud holen kann,
habe ich nun dieses Skript hier so erweitert, dass man konfigurieren kann, ob man weiterhin den Hausverbrauch aus einem IOBroker State holen will, oder Verbrauchsdaten von der EcoFlow Shelly Integration nutzt.
Im verlinkten Post und im hiesigen Skript ist hoffentlich ausreichend erklärt, wie man das konfiguriert.Hier das von mir erweiterte Skript: powerstream-output-control_SHELLY_INTEGRATION.js
@cptmozz oder andere: feel free, das weiter zu verwenden, zu verbessern, whatever.
wenn ich dann mal wieder beginne nachzudenken …
… dann fällt mit dem Nutzen der Verbrauchsdaten aus der EcoFlow Shelly Integration auch der Rückgriff auf die IOBroker Funktion, einen State zu lesen, weg.
Das einzig IOBroker-spezifische bleibt dann noch die Tag-/Nach-Steuerung (und das Logging).
Das heisst, wenn man sich davon verabschiedet, ist man eigentlich auch nicht mehr auf den IOBroker angewiesen und kann die Steuerung auch gleich einfach in NodeJS laufen lassen.
Das werde ich mal ausprobieren … -
RE: ecoflow-connector-Script zur dynamischen Leistungsanpassung
Vielleicht interessiert euch ja, wie man Shelly Verbrauchsdaten direkt aus der EcoFlow Cloud holen kann.
-
RE: Shelly Verbrauchsdaten direkt aus der Ecoflow Cloud holen
@dpleiss seit ganz Kurzem hat Ecoflow wohl diese unselige Abhängigkeit vom Schalter des Shelly 3EM korrigiert. Jetzt kommen die Daten immer, unabhängig davon, ob das Relais an- oder aus-geschaltet ist.