Beiträge von 2000ede

    Omega13

    Sofern ich dein Problem richtig verstanden habe ist es doch total simpel:

    An dieser Stelle musst du statt cpwr=sml[4] doch einfach nur cpwr=sml[1]-sml[4] eintragen um den Saldo der aktuellen Leistung (Bezug - Leistung) zu erhalten.

    >S
    if year<2000 {
    break
    }
    ; adapt this to your meter
    ; update every 3 seconds
    if upsecs%3==0 {
    cpwr=sml[4]
    c1p=sml[4]
    c2p=sml[5]
    c3p=sml[6]
    }


    Oder habe ich das Problem nicht richtig verstanden?

    ich habe aktuell keine tasmota Steckdosen im Einsatz, bin aber allgemein bei script schon einigermaßen Fit.

    Wenn du schreibst, was du haben möchtest (Inhalt) helfe ich dir gerne.

    Das Script oben sollte allerdings schon korrekt sein (ohne es geprüft zu haben).
    Wichtig ist die korrekte Zusammenstellung der bin Datei

    Bitte auch schreiben, welchen ESP du im Einsatz hast.
    ESP32, ESP32 S3, ESP32 .... oder ESP8266

    falls dich Nullen nicht stören könntest du die Variable z.b. 5,2 dekarieren. -> 5 Stellen vor dem Komma, 2 danach

    %5,2temp%

    rechtsbündig in Tasmota Standard kenne ich nicht.

    Was aber geht und noch zig andere Vorteile mit sich bringt. Statt ausgabe in >W in einer Unterseite
    >W1 Test

    hier kannst du nun frei html code verwenden.... da steht dir Tür und Tor offen.... inkl. großer hilfe mit chatgpt usw.

    schön, dass es dir gefällt.

    Ja, das waren Tippfehler. Ich hatte es "aus dem Kopf" ohne ESP schnell getippt.

    "Im Abschnitt >" klappt es in der Zeile Phasen mit "{m}" zwischen dem 2. und 3. Wert nicht wirklich. Der zweite Wert rutscht ganz nach rechts und der 3. Wert ist ganz verschwunden bzw. man wischt weiter nach rechts."

    -> jein - da war meine Vorgabe schon richtig. die breiteste Zeile gibt nur die Größe vor. Die Diagramme werden dann wohl die erste Spalte breit machen.

    Aber so wie du es nun angepasst hast ist doch alles ok.

    Dies ist aber nur die rudimentäre Umsetung. Die Grenzen sind fast offen, z.B. auslagern auf auf dem ESP gelegten Webseiten oder an google sheets. Aber auch da gibt es Licht und Schatten.

    Bitte einmal probieren (ungetestet):

    >D

    v_wl=0.0
    v_bz=0.0
    v_ez=0.0
    v_w1=0.0
    v_w2=0.0
    v_w3=0.0

    ;xxxxxxxx Boot xxxxxxxx
    >B
    =>sensor53 r
    =>websensor53 0

    ;xxxxxxxx Zähler xxxxxxxx
    >M 1
    +1,5,s,16,9600
    1,77070100100700ff@1,Leistung,W,Wirkleistung,0
    1,77070100010800ff@100000000,Bezugsenergie,kWh,Bezug_kWh,3
    1,77070100020800ff@100000000,Exportenergie,kWh,Export_kWh,3
    1,77070100240700ff@1,Leistung L1,W,Wirkleistung_L1,0
    1,77070100380700ff@1,Leistung L2,W,Wirkleistung_L2,0
    1,770701004C0700ff@1,Leistung L3,W,Wirkleistung_L3,0

    ;xxxxxxxx jede Sekunde xxxxxxxx
    >S
    if year<2025 {
    break
    }


    v_wl=0.0 = sml[1]
    v_bz=0.0 = sml[2]
    v_ez=0.0 = sml[3]
    v_w1=0.0 = sml[4]
    v_w2=0.0 = sml[5]
    v_w3=0.0 = sml[6]


    ;xxxxxxxx Webausgabe xxxxxxxx
    >W

    Leistung {m} %0v_wl% W
    BezugZ {m} %0v_bz% kWh
    Einsp.Z {m} %0v_ez% kWh
    Phasen {m} %0v_w1% kWh {m} %0v_w2% kWh {m} %0v_w3% kWh

    xxxxxxxx {m} xxxxxxxxxxxx {m} xxxxxxxxxxxx {m} xxxxxxxxxxxx {m} xxxxxxxxxxxx

    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!

    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.

    Interessante Frage!
    - Ich GLAUBE nein, weil er ja nicht sendet sondern antwortet.


    - Aber kann der Akku ggf mit einem hoymiles entladen werden? Dann geht es indirekt und das sogar effizient.


    Bei growatt Noah ist der eigene Wechselrichter ein Performancefreser.

    Das könnte dir bei Script den Einstieg ggf und u.a. erleichtern:

    2000ede
    24. Januar 2025 um 20:02

    erstellt von Stephan F. (siehe anliegendes PDF)



    >D
    tvar=0
    ti1=0

    >E
    print section E started

    tvar=Clock#Timer

    if tvar>0
    then
    switch tvar
    case 1
    print timer 1 wurde ausgeloest
    print Wert der Timer Variable:%0tvar%
    ti1=1
    case 2
    print timer 2 wurde ausgeloest
    print Wert der Timer Variable:%0tvar%
    ti1=0
    ends
    endif

    tvar=0

    >W
    Timer1: %0ti1%

    Datei ist zu groß (3MB).
    Sende mir per PN deine Mail, dann sende ich dir die Datei direkt zu.

    - für ESP32 mit Script
    - neben den von mir sonst genutzen define zusätzlich:
    #define MAX_RELAYS 10
    #define USE_SHUTTER

    Anmerkungen:
    - Alles auf eigene Gefahr
    - Ob die Bin die richtige ist bzw alle erforderlichen define hat, kann ich nicht sagen
    - good luck!