D0 Zähler SML auslesen mit Tasmota

  • Hallo, ich habe Mal die ki gefragt. Leerzeichen im Hostnamen sind auch nicht zulässig. Gibt's denn hier niemand der einen eco tacker hat. Ich habe das Mal in einem Venus Forum in Facebook gefragt aber keine Antwort bekommen. Ich wollte Mal bei marstek nachfragen ob man nicht den Tasmota mit Restapi unterstützen möchte.

  • lt. Chatgpt:

    Gute und sehr technische Frage! Systeme wie NOAH Solarspeicher oder andere Smart-Home-Systeme erkennen den everHome EcoTracker IR typischerweise nicht per zufälligem Hostnamen wie ecotracker.local, sondern über eine der folgenden Mechanismen:


    ✅ 1. UPnP, SSDP oder mDNS (Bonjour)

    Viele moderne Geräte mit ESP32/ESP8266 (wie der EcoTracker) könnten mittels Multicast DNS (mDNS) oder SSDP (Simple Service Discovery Protocol) im lokalen Netzwerk „sichtbar“ werden.

    Aber:
    Laut bisheriger Dokumentation scheint der EcoTracker IR von everHome kein mDNS oder SSDP zu senden – das heißt: NOAH muss aktiv nach ihm scannen oder ihn durch Benutzerhilfe finden.

    ✅ 2. Netzwerkscan durch die App (Layer 2 Broadcast / Ping Sweep)

    Wenn du in der NOAH App oder bei der Konfiguration „EcoTracker suchen“ auswählst, passiert meist Folgendes:

    SchrittBeschreibung
    1.Die NOAH App scannt dein lokales Netzwerk (z. B. Subnetz 192.168.178.0/24)
    2.Dabei sendet sie HTTP-Anfragen an bekannte Ports/IPs, z. B. http://192.168.x.x/v1/json
    3.Die Antwort enthält typische JSON-Daten vom EcoTracker (z. B. aktuelle Zählerstände)
    4.Anhand dieser Antwort erkennt NOAH den EcoTracker

    ➡️ Also: Es wird gezielt nach der EcoTracker-REST-API gesucht.


    ✅ 3. MAC-Adress-Präfix-Erkennung

    NOAH könnte auch anhand der MAC-Adresse oder des Herstellers (OUI) den EcoTracker identifizieren. Typisch wäre:

    • MAC-Präfix 84:0D:8E → Espressif Inc. (ESP32-basiert)

      ✅ Fazit

    • NOAH erkennt den EcoTracker nicht über einen festen Hostnamen, sondern durch:
    • Netzwerkscan nach der REST-API
    • Analyse der JSON-Antwort
    • Ggf. MAC-Adresse / Port-Signaturen
    • Wenn du möchtest, kann ich dir ein Skript schreiben, um im eigenen Netz nach dem EcoTracker zu suchen oder ihn manuell einzubinden.
  • habe UDP RPC im scripter eingebaut.

    Damit kann man jetzt den Shelly richtig emulieren.

    #define USE_SCRIPT_GLOBVARS muss definiert sein.

    unten das rudimentäre script dient erst mal dazu zu sehen was der Marstek an den Shelly schickt


    neue Befehle:

    res=udp(0 port) öffnet UDP Listener auf port

    str=udp(1) liest ankommende Strings auf dem Port

    res=udp(2 str) sendet den String str als Antwort

    res=udp(3 url port payload) sendet einen UDP String an die url mit port und payload


  • Ist das (wirklich) für Shelly oder für den ecotracker?


    Und die von dir angehängte Datei: ist das einfach nur das Skript Modul oder etwas besonderes für diese Aufgabenstellung?

    Wenn man deinen Fork nimmt, braucht man die Datei nicht, korrekt?

    Oder wie genau würde man die Datei einbinden?
    Danke für die Hilfestellungen!

    Einmal editiert, zuletzt von 2000ede (6. Juli 2025 um 10:13)

  • Ich werde die Tasmota Images mit der neusten Änderung von gemu2015 erstellen, allerdings bekomme ich beim Kompilieren noch ein Fehler. Wenn der behoben ist, stelle ich sie hier zur Verfügung.

    Update:
    Hier sind die neuen Tasmota Images.

    Zitat von gemu2015

    res=udp(0 port) öffnet UDP Listener auf port
    str=udp(1) liest ankommende Strings auf dem Port
    res=udp(2 str) sendet den String str als Antwort
    res=udp(3 url port payload) sendet einen UDP String an die url mit port und payload

    das ist alles nur für Strings implementiert da es sich hier immer nur um JSON Payloads handelt

    2 Mal editiert, zuletzt von ottelo (6. Juli 2025 um 14:53)

  • Der Everhome ECO Tracker für den Venus E kann prinzipiell auch ohne die Everhome Cloud betrieben werden, wenn Sie die REST API direkt ansprechen. In diesem Fall erfolgt die Suche bzw. Identifizierung des Trackers üblicherweise über den festgelegten Hostnamen im Netzwerk. Bitte beachten Sie jedoch, dass manche Funktionen oder automatische Aktualisierungen möglicherweise nur über die Cloud realisiert werden können. Daher empfiehlt es sich, in Ihrem konkreten Anwendungsfall zu prüfen, ob alle benötigten Funktionen auch im reinen REST API-Betrieb verfügbar sind.

    Mit freundlichen Grüßen,

    Marstek Team

    Kannst du das Team mal nach dem Hostnamen fragen?

  • Ich habe auch bei Everhome angefragt, entgegen der Aussage von Marstek soll es nicht ohne Cloud funktionieren.

    Meine Support Anfragen

    Support Anfrage 46126: ECO Tracker ohne Cloud

    Ich

    Ist es möglich den Ecotracker ohne ihre Cloud zu betreiben? Gibt es einen externen IR Lesekopf oder eine externe Antenne für den Fall, das im Zählerschrank kein Wifi ist?

    04.07.2025 09:03

    [Blockierte Grafik: https://everhome.cloud/res/img/everhome.svg]

    everHome

    Hallo, es ist aktuell nicht möglich den EcoTracker ohne everHome zu betreiben. Ein Zählerschrank schirmt weniger stark ab, als man zunächst annimmt. Wenn dein Smartphone im Zählerschrank WLAN-Empfang hat, hat der EcoTracker dies ebenfalls. Beste Grüße Daniel everHome

  • Ich habe auch bei Everhome angefragt, entgegen der Aussage von Marstek soll es nicht ohne Cloud funktionieren.
    ...

    everHome

    Hallo, es ist aktuell nicht möglich den EcoTracker ohne everHome zu betreiben. Ein Zählerschrank schirmt weniger stark ab, als man zunächst annimmt. Wenn dein Smartphone im Zählerschrank WLAN-Empfang hat, hat der EcoTracker dies ebenfalls. Beste Grüße Daniel everHome

    Die Antwort von Everhome scheint veraltet zu sein, da es eine lokale REST API im Ecotracker gibt, die zudem in der App auch für jeden sichtbar aktiviert werden kann (habe ich so gelesen). Es passt auch nicht zur Funktionsweise der Marstek App, die bei Auswahl vom "Ecotracker(Beta)" keine Cloud-Zugangsdaten erfragt. Das könnte so wie Everhome sagt gar nicht funktionieren.

    Könntest du im Everhome-Chat noch mal auf diesen Widerspruch hinweisen?

  • Das ist die Antwort von Everhome:

    Hier muss differenziert werden. Die everHome App ist immer notwendig. In dieser wird der EcoTracker in Betrieb genommen. Das Auslesen von Marstek zu EcoTracker erfolgt lokal. Aufgrund eines Firmware-Fehlers kommt es aktuell zu einem Ausfall der lokalen Schnittstelle des EcoTrackers bei Internetausfall - das ist temporär, wir arbeiten aktuell an der Behebung.

  • Die Marstek App findet den emulierten Shelly Pro 3EM mit dem UDP-Skript und neuer UDP Tasmota-Firmware beim CT-Scan nicht.
    Nach ca. 40 Sekunden Scan erfolgt nur ein Timeout. Die UDP Debug-Message payload ist in der Tasmota-Console nicht geloggt.
    Ein Webbrowser-Aufruf der Rest-API unter <Tasmota-IP>/v1/json wird aber beantwortet mit {"Einspeisung": -1870.00} und findet sich im Log unter here comes the request 1.
    Soweit ich gelesen habe, wird für die Discovery des Shellys mDNS verwendet. Danach wird ein Remote Procedure Call mit UDP auf die gefundene IP ausgeführt. Ich denke es scheitert hier an der Discovery des Shellys.

  • Auch im Unimeter Forum hat man wohl noch ähnliche Probleme aber ich habe da leider keine Ahnung von.

    Emulation shelly/ecotracker for growatt noah2000 · Issue #160 · sdeigm/uni-meter

    Ich habe es als statische Datei auf dem Host meines Docker-Containers eingestellt. Danach war ich in der Lage, uni-meter als Ecotracker mit dem NOAH zu verbinden._everhome._tcp.local

    6 hours ago

    Eigentümer

    Danke, das waren die fehlenden Informationen. Ich werde die mDNS-Registrierung in der nächsten Version aktualisieren.

  • #define MDNS_ENABLED true

    Sollte mdns in Tasmota erlauben


    #define MDNS_ENABLED false // [SetOption55] Use mDNS (false = Disable, true = Enable)

    Nachdem was ich gelesen habe, kann man damit nur den Tasmota-Hostnamen per mDNS publishen.
    Es lässt sich damit kein anderer Hostname wie "Shelly..." publishen.