Ich habe mir ein neues Tasmota32 (Generic ESP32) Image (Tasmota-15.0.1) erstellt, mit Berry, Script, GoogleChart, SML Support (Features siehe mein github). Das Image auf mein Test ESP32 geschoben und mein normales Script übertragen. Dann das Berry Script geladen. Scheint alles zu funzen.
ottelo: Ein riesengroßes Dankeschön an dich!
Eine super Lösung, um einen Tasmota Smartmeter Reader als Ecotracker-Datenquelle für einen Marstek Venus E zu benutzen.
Ich habe dein neues "tasmota32berry_ottelo" Image ohne Restore über die bereits laufende Tasmota Ottelo V14.6.0 (deine aktuelle Version mit SML aber ohne Berry Script) geflasht (ESP32 Cam 4MB FLASH/8MB PSRAM). Ich habe dann dein Berry Skript energy_api.be per Tasmota File Manager hochgeladen und mit load("energy_api") gestartet. Es hat sofort funktioniert (bis auf den bereits beschriebenen Fehler mit dem Print-Befehl. Es muss print(self.power) anstelle print(power) heissen).
Das Skript läuft als Tasmota-Driver jeweils mit dem Teleperiod-Zyklus, auch wenn keine Web-Requests erfolgen. Da mein Zyklus auf 1 Sekunde steht, habe ich nach einer anderen Möglichkeit gesucht. Gemini hat mir das Skript auf reine Web-Events umgeschrieben. Es läuft jetzt nur noch, wenn ein Web-Request auf <Tasmota-IP>/v1/json erfolgt. Im Skript ist dokumentiert, wo die eigenen SML-Namen eingetragen werden müssen.
Hinweis zu Berry: Ein laufendes Berry-Skript lässt sich nicht mit load("energy_api") ändern und neu laden. Es wird dann zusätzlich zu(m) laufenden alten Skript(s) quasi als weiterer Thread gestartet und die alten Skripts laufen im Hintergrund weiter. Man kann laufende Skripts leider nicht anzeigen oder stoppen. Laut Doku muss man die virtuelle Berry-Machine mit dem Befehl BrRestart von der Tasmota Console (nicht von der Berry Console*) neu starten. Danach lässt sich das Skript wieder in der Berry Console laden und starten (oder es wird einfach automatisch über ein vorhandenes "autoexec.be" nach BrRestart mitgestartet).
Mit Berry erschließen sich auf dem Tasmota ESP32 ganz neue Anwendungen, die vorher gar nicht möglich waren.
Ich fände es sehr interessant, wenn Du Berry auch in deine normalen ESP32-Firmwares einbauen könntest.
*In der Doku gibt es einen Hinweis, dass mit #define USE_BERRY_DEBUG ein Click in der Berry Console für einen Berry Restart reicht.