github ottelo9/tasmota-sml-images V15.4.0_250513
Tasmota v15.4.0 (13.05.2026) - TinyC

8 hours ago

Tasmota für ESP32 und ESP8266

Das Update ist wie immer mit Vorsicht zu genießen, da ich es nicht immer ausgiebig testen kann. Deshalb immer vorher eure Einstellungen und Daten sichern. Falls ihr auf Probleme stößt, ein Issue öffnen oder in die Kommentare meines Blogs schreiben. Schaut aber auch auf die offizielle Tasmota github Seite in den Issues, ob neue Probleme mit dieser Tasmota Version aufgetaucht sind. Wie immer gilt: Never change a running System ;).

Änderungen gegenüber Tasmota v15.3.0 (28.04.2026):

  • 🆕 Neues Image-Schema — _tas vs. _tc: Jedes Image gibt es jetzt in zwei getrennten Varianten statt einem dicken Mixed-Build. Das spart Flash und macht klar, was drin ist.
    • *_ottelo_tas → klassischer Tasmota-Scripter + Google Charts (wie bisher)
    • *_ottelo_tcTinyC VM + Browser-IDE, kein Scripter mehr im Image
    • Ausnahmen: Berry-Image nur als _tas, ESP8266 1M (alle drei Varianten) nur als _tas. Für ESP8266 4M gibt es jetzt beide Varianten — TinyC läuft auch auf dem 4M mit etwas knappen Ressourcen.
  • 🆕 TinyC-Images mit größerem Filesystem (4 MB ESP32: app1856k_fs1344k.csv statt app2880k_fs320k): 1344 KB FS statt 320 KB, weil TinyC die IDE (~150 KB) + Source/Bytecode/persist im FS speichert. Die TinyC-Firmware ist ohne Scripter etwa 120 KB schlanker, da passt 1856 KB app0 problemlos. Beim Wechsel von einem alten Image: einmalig chkpt p 1856 in der Konsole (formatiert das FS, vorher Files sichern!) — sonst behält die OTA das alte Layout. Die _tas Images haben noch die alte Größe, falls gewünscht kann ich das im nächsten Release mit anpassen.
  • 🆕 SML im TinyC-Build aktivieren: Im TinyC-Programm einmalig tasm_rule = 1; setzen (z.B. in main()/BootInit()). Das öffnet den SML-Init-Gate (Settings->rule_enabled Bit 0). Meter-Descriptor liegt als Datei unter /sml_meter.def (statt >M-Section im Script). Pattern-Beispiel siehe marstek_emu.tc.
  • Update: TinyC von gemu2015 auf den aktuellen Stand aktualisiert. Die offizielle TinyC Hilfeseite wird fast täglich aktualisiert. Es ist nun auch möglich, mit TinyC euren Stromzähler (SML) auszulesen — wie bei den Scripten. Zum Test hat mir gemu ein paar der Shelly Emu Scripte konvertiert aber auf seinem Repo liegen noch aktuellere (z.B. Shelly Ecotracker Emu auch für Jackery Akkus). Wer mag, kann gerne testen! Ansonsten könnt ihr direkt in der TinyC-IDE euren Zähler angeben und starten.
  • Was ist TinyC? Eine sehr gute und schnelle Alternative zum Scripting/Berry. Ihr könnt eure Programme direkt auf dem ESP in Tasmota schreiben und ausführen — in einer webbasierten TinyC-IDE. Sehr viele Beispiele sind im DropDown-Menü wählbar. Sourcecode und kompiliertes Programm liegen im Dateisystem und werden von dort ausgeführt. Mehrere Programme können parallel laufen. Läuft deutlich schneller als Scripting und braucht weniger Platz. Geschrieben wird in C-Code statt in kompliziertem Script.
    => Damit die TinyC-IDE funktioniert, müsst ihr die tinyc_ide.html.gz via File Upload auf euren ESP laden (Tools > Manage File System). Dann IDE starten (Tools > TinyC Console). Schritt-für-Schritt-Anleitung hier.
  • Updates von gemu2015 bzgl. Scripter, TinyC, SML eingearbeitet — letzter Stand von heute.
  • TinyC-Build auf ESP8266 4M lokal gefixt: igmp_leavegroup() aus xdrv_124_tinyc_vm.h wird auf ESP8266 nicht durch LwIP exportiert → mit #ifdef ESP32-Guard umschlossen. Dadurch kompiliert TinyC jetzt auch für ESP8266 4M. Issue beim gemu-Fork ist gemeldet.
  • ADC im ESP32-Image weiterhin aktiviert.
  • Build-Pipeline optimiert: Optional ccache im Preprocessor-Mode integrierbar — beim Bauen von _tas und _tc derselben Plattform werden ~95 % der Files aus dem Cache wiederverwendet. Details und Setup in der README.

Ihr könnt ohne Probleme ein Update auf diese Tasmota-Version machen. Wenn ihr mein Script verwendet und dieses auch updaten wollt, dann beachtet meine Upgradeanleitung (Daten sichern und wiederherstellen).

Beim Wechsel von einem alten Mixed-Build auf das neue Schema:

  • Wenn ihr Scripter weiter nutzt → das _tas-Image flashen (gleicher Funktionsumfang wie früher).
  • Wenn ihr auf TinyC wechseln wollt → das _tc-Image flashen, anschließend chkpt p 1856 in der Konsole, dann TinyC-IDE und Skripte hochladen. FS wird formatiert, vorher per "Manage File System" Backup machen!

Scriptauswahl
Seit Tasmota 15.1.0 könnt ihr meine Scripte direkt aus Tasmota auswählen (gilt jetzt nur noch für die _tas Image Variante):
image

Zählerkonfiguration
Euren Zähler und die Pins könnt ihr ebenfalls via DropDown wählen, falls ihr meine Scripte/TinyC verwendet:
image

Bei den EcoTracker / ShellyEmu Scripten könnt ihr einen Nulleinspeisungsoffset einstellen und beim ShellyScript das Senden der Daten erzwingen und den Port festlegen. Voraussetzung sind meine aktuellsten Scripte.



Welches Image wählen?
Siehe Beschreibung auf der Hauptseite!

Das Factory-Image (wenn noch kein Tasmota installiert ist) könnt ihr z.B. über den Tasmota Web Flasher flashen !Achtung, funktioniert aktuell nicht! Verwendet das Flash Download Tool, Anleitung auf meinem Blog. Ansonsten verwendet ihr die normalen Images für ein OTA-Upgrade (Upgrade via file).


Welche Images welchen Funktionsumfang bieten, könnt ihr anhand dieser Features/Treiber erkennen:

(1) Allgemeine Features (in beiden Varianten — _tas und _tc):

USE_COUNTER
USE_DEEPSLEEP (ESP32)
USE_HOME_ASSISTANT
USE_IMPROV
USE_LIGHT
USE_PING
USE_SML_M
USE_SML_CRC
USE_SML_AUTHKEY
USE_SPI (nur ESP32)
USE_SUNRISE
USE_TIMERS
USE_TIMERS_WEB
USE_UFILESYS (nur ESP32, ESP8266 4M+)
USE_WEBSERVER
USE_WEBCLIENT_HTTPS
USE_TLS
USE_MQTT_TLS (nur ESP32)
USE_INFLUXDB (nur ESP32)
USE_ESP32_SW_SERIAL (nur ESP32)
USE_BMP (ESP32, ESP8266 1M Energy)
USE_DS18x20 (ESP32, ESP8266 1M Energy)
SET_ESP32_STACK_SIZE 12 * 1024
UFSYS_SIZE 16384 (ESP32)
UFSYS_SIZE 8192 (ESP8266 4M+)

(2) Features für (1)Steckdosen mit Energiemessfunktion:
In allen ESP32 bzw. nur im ESP8266 (1M) Image tasmota_energy_ottelo_tas sind diese Treiber aktiv!
(1)ESP8266: z.B. SonOff POW(R2), Gosund EP2, SonOff Dual R3 v2, NousA1T
(1)ESP32: z.B. Shelly Plus Plug S

USE_ADE7953
USE_BL09XX
USE_DHT
USE_CSE7766
USE_ENERGY_MARGIN_DETECTION
USE_ENERGY_POWER_LIMIT
USE_ENERGY_SENSOR
USE_HLW8012
USE_I2C

(3) Tasmota Scripting (USE_SCRIPT) — nur in _tas-Images:

USE_SCRIPT
USE_SCRIPT_FATFS_EXT (ESP32, ESP8266 4M+)
USE_EEPROM (ESP8266 1M)
EEP_SCRIPT_SIZE 8192 (ESP8266 1M / 1M Energy)
EEP_SCRIPT_SIZE 4096 (ESP8266 1M Shelly)
USE_GOOGLE_CHARTS
USE_SCRIPT_WEB_DISPLAY
USE_HTML_CALLBACK
LARGE_ARRAYS
SCRIPT_LARGE_VNBUFF (ESP32)
MAX_ARRAY_SIZE 2000 (ESP32)
USE_CW_CALC
USE_ANGLE_FUNC (ESP32, ESP8266 +4M)
USE_FEXTRACT (ESP32, ESP8266 +4M)
USE_SCRIPT_SERIAL (nur ESP32)
SCRIPT_FULL_WEBPAGE (nur ESP32)
USE_SCRIPT_TCP_SERVER (nur ESP32)
USE_SCRIPT_TASK (nur ESP32)
USE_SCRIPT_MDNS (ESP32, ESP8266 1M Shelly)
USE_SCRIPT_GLOBVARS
USE_SCRIPT_JSON_EXPORT
------------------
für Script-DropDown-Menüs:
SCRIPT_LIST_DOWNLOAD_URL "https://raw.githubusercontent.com/ottelo9/tasmota-sml-script/main/script-list-menu/scripts/"
SCRIPT_LIST "scripts.json"

(4) TinyC — nur in _tc-Images:

USE_TINYC          (XDRV_124, TinyC-VM)
USE_TINYC_IDE      (selbstgehostete Browser-IDE)
USE_SML_SCRIPT_CMD (entkoppelt SML_SetBaud / SML_Write vom Scripter)
------------------
Partitionslayout:
ESP32 4M / ESP32-C3 / -C6 / -S2 / -SOLO1:  app1856k_fs1344k
ESP32-S3 16M:                              app3904k_fs11584k (Default)
ESP32-P4:                                  Board-Default
ESP8266 4M:                                eigenes Schema
------------------
SML aktivieren im TC-Programm:
  tasm_rule = 1;         // einmalig setzen
  // Meter-Descriptor liegt in /sml_meter.def

(5) Features für ESP32-Module mit LAN-Port (Ethernet/LAN):
Nur in tasmota32_ottelo_*, tasmota32solo1_ottelo_*, tasmota32s3_ottelo_* und tasmota32p4_ottelo_* aktiviert!

USE_ETHERNET
USE_WT32_ETH01

(6) Features und Treiber die ich deaktiviert habe:
Siehe #undef FEATURE in der Datei user_config_override.h.


Hauptänderungen gegenüber 15.3.0 zusammengefasst:

  • Neues Image-Schema (_tas / _tc), Mixed-Build entfällt
  • Pro Plattform 2 Images (Ausnahmen: Berry & ESP8266 1M nur _tas)
  • ESP8266 4M hat jetzt wieder TinyC (_tc) — voriges Release hatte es noch raus, durch Source-Fix wieder drin
  • TinyC-Images: Partitionslayout 1856k app0 / 1344k FS (mehr Platz für FS)
  • SML in TinyC via tasm_rule = 1; (kein Rule1 1-Workaround mehr nötig)
  • USE_SML_SCRIPT_CMD wird im TC-Build automatisch gesetzt (SML_SetBaud / SML_Write nutzbar)
  • ccache-Build-Optimierung verfügbar (~60–75 % Compile-Zeit-Ersparnis bei Multi-Variant-Builds)

Don't miss a new tasmota-sml-images release

NewReleases is sending notifications on new releases.