D0 Zähler SML auslesen mit Tasmota

  • Mit dem Flag 16 hast du ja schon ein Mittelwert eingestellt. Wenn es dennoch zu so Fehlern kommt, dann scheinen diese über einen längeren Zeitraum zu exisitieren.

    Würde also raten, noch einmal nachzuschauen ob dein Transistor gut sitzt, evtl. auch vor Streulicht geschützt ist. Wenn all das nicht hilft nochmal ein wenig mit dem Widerstandwert variiren.

  • Mit dem Flag 16 hast du ja schon ein Mittelwert eingestellt. Wenn es dennoch zu so Fehlern kommt, dann scheinen diese über einen längeren Zeitraum zu exisitieren.

    Würde also raten, noch einmal nachzuschauen ob dein Transistor gut sitzt, evtl. auch vor Streulicht geschützt ist. Wenn all das nicht hilft nochmal ein wenig mit dem Widerstandwert variiren.

    Moin,

    ich hatte mir das im debug (sensor53 d1) schonmal angesehen - es sind tatsaechlich nur ein einzelner Ausreisser. Leider verstehe ich den Code vom Treiber nicht so richtig, um die Mittelwertberechnung (bzw. quantil oder median - was auch immer dort berechnet wird) zu finden/verstehen. Irgendwie habe ich den Eindruck, dass das kein Mittelwert ist, der da bei "16" gebildet wird.

    Streulicht kann ich in sofern ausschliessen, als das Leser und Zaehler mit "Powerstrips" verbunden sind, und im dunklen Keller in einem geschlossenen Stromkasten haengen - von daher Lichttechnisch eigentlich ideale Bedingungen.

    Den Widerstand hatte ich zwischen 4.7kOhm und 10kOhm variiert - immer das Gleiche.

    Was mich am Meisten wundert ist, dass der "aktual_in" immer stimmt und noch nie Ausreisser hatte. Wenn es Fehler beim Auslesen waeren, sollte ja auch dort ( wenigstens ab und an - bzw. zu den Zeiten wenn "total_in" spinnt) auch mal ein Peak zu sehen sein.

    Das ist alles sehr mysterioes.

    Prinzipiell ist das alles nicht dramatisch - ich haette es vermutlich nichtmal mitbekommen, wenn ich den Verlauf nicht im Grafana anzeigen lassen wuerde, da ja bis auf die wenigen Ausreisser alles stimmt. Trotzdem wuerde ich dem gerne auf die Spur kommen...

    Ein schoenes. sonniges Wochenende wuenscht,

    Jan

  • HI,

    mit den 16 wird ein Median aus 5 Werten berechnet. das sollte einzelne Ausreisser immer eliminieren. Mittelwerte machen bei Ausreissern keinen Sinn.

    Was ich noch nie bei einem Zähler gesehen hatte ist der extreme Teilfaktor von 100000000. Aber da das double float ist sollte es daran nicht liegen.

    Das heisst aber dass deine Strings wohl sehr lang sind. Eventuell gibt es einen Puffer Überlauf.

    Setzt mal die Puffergröße herauf.

    das ist der default, kannst du im Treiber editieren bzw grösser wählen.

    #define SML_BSIZ 48

  • must du im Quelltext machen. kannst du ruhig auf 96 setzen, kostet halt RAM sollte aber kein Problem sein.

    denke eigentlich nicht dass das bei SML an der Länge liegen sollte, einen Versuch ist es aber wert.

    Warum aber der Median bei dir keine Wirkung zeigt kann ich nicht verstehen.

    Gruß

    Gerhard

  • Hallo Gerhard,

    ich habe es jetzt auf 96 geaendert und neu geflasht. Leider immer noch Ausreisser.

    Code
    14:30:02 MQT: keller/stromzaehler/SENSOR = {"Time":"2020-05-10T14:30:02","SML":{"Total_in":793.75,"Aktual_in":353.84}}
    14:31:02 MQT: keller/stromzaehler/SENSOR = {"Time":"2020-05-10T14:31:02","SML":{"Total_in":0.00,"Aktual_in":350.58}}
    14:32:02 MQT: keller/stromzaehler/SENSOR = {"Time":"2020-05-10T14:32:02","SML":{"Total_in":793.76,"Aktual_in":260.74}}

    Ich versuche mal Einen im Debug einzufangen. Evtl. hilft das ja weiter.

    Gruss,

    Jan

  • Hallo Gerhard,

    ich habe jetzt mit dem Treiber aus Deinem Fork geflasht und werde beobachten. Danke!

    Wenn ich mir allerdings mein Protokoll im Debug ansehe, wundere ich mich, dass da ueberhaupt sinnvolle Werte angezeigt werden koennen. Das sieht doch recht durcheinander aus - so von den Zeilenlaengen und Werten (ich hab hier mal nur den Gesamtverbrauch gegrept)

    Werde wohl mal einen Leser mit einer anderen Fotodiode basteln.

    Aber zuerst schaue ich, ob Deine Aenderung am Treiber etwas aendern.

    Gruss,

    Jan

  • Mahlzeit,

    ich habe immer noch (trotz des neuen Treibers aus gemu2015 s Fork ) Ausreisser (wieder nur im Gesamtverbrauch) sowohl nach oben als auch unten.

    Ich werde mir mal einen neuen Leser basteln und dann berichten.

    Gruss,

    Jan

  • Mahlzeit,

    nur zur Info:

    ich habe jetzt einen neuen Lesekopf (eigentlich gleiches Setup: neuen BPW40 Fototransistor an einem Neuen Wemos D1 mini mit 4.7kOhm PullUp) gebastelt.

    Installiert ist Tasmota 8.2.0 und der aktuellen Treiber aus gemu2015 s Fork.

    Seit 24h keine Lesefehler mehr im "total_in".

    Scheint also doch irgendwie an meiner Hardware gelegen zu haben - wobei mir immer noch ein Raetsel ist, warum die Lesefehler vorher nicht auch bei "actual_in" aufgetreten sind. Naja - Hauptsache es funktioniert jetzt.

    Vielen Dank nochmal fuer eure Hilfe!

    Gruss,

    Jan

  • Moin!

    Ja, die Probleme bestehen weiterhin.

    Am Aufbau liegt es nicht.

    Ich habe verschiedene Hardware von Widerstand, Transistor und ESP probiert. Alle liefern das selbe schrottige Ergebnis unter Tasmota 8 ab. Tasmota 6 funzt!

    Irgendetwas ist beim Wechsel von xsns_95_sml auf xsns_53_sml passiert.

    Jetzt kommen Daten zwar rein, aber nicht sauber und zuverlässig.

    Kann man die 53'r gegen die 95'er unter Tasmota 8 durchtauschen?

    gemu2015

    Melde du dich bitte doch mal dazu, Ich bin jetzt ja nicht mehr der Einzige...

    Cheers

    URBANsUNITED

  • Hi,

    Problem ist gelöst!

    War ein Fehler der schon immer drin war aber sich nicht bei jeder Konfiguration ausgewirkt hat. Ich konnte den bisher nicht reproduzieren.

    Dank AingTii konnte ich dann doch den Fehler nachvollziehen und finden.

    Versuch mal meine neueste Version auf Github.

    Oder noch einfacher setzte einfach eine -1 hinter die Zählerdefinition.

    also z.B. statt

    +1,3,o,0,9600,STROM

    nimm

    +1,3,o,0,9600,STROM,-1

  • GEIL!

    Problem ist endlich gelöst! Gott was hab ich da für Stunden versenkt... ;(

    Hab's mit -1 und der ganz aktuellen 8.3 Tasmota probiert. Klappt 1A!

    Danke gemu2015 für deine Arbeit und Support! Danke! Aber auch an die Anderen, besonders sunburstc der die Flagge hochhält!

    Besten Gruß

    URBANsUNITED

  • Hallo ihr Lieben,

    ich erhalte beim BUILD von Tasmota-Universal8 folgende Fehlermeldungen:

    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    Compiling .pioenvs\tasmota32-DE\lib13c\WiFiClientSecure\WiFiClientSecure.cpp.o

    Compiling .pioenvs\tasmota32-DE\lib13c\WiFiClientSecure\ssl_client.cpp.o

    Compiling .pioenvs\tasmota32-DE\lib760\HTTPClient\HTTPClient.cpp.o

    C:/Users/Stefan/Downloads/Sonoff-Tasmota-universal8/Sonoff-Tasmota-universal8/tasmota/support_button_v2.ino:28:24: error: redefinition of 'const char kMultiPress []'

    const char kMultiPress[] PROGMEM =

    ^

    C:/Users/Stefan/Downloads/Sonoff-Tasmota-universal8/Sonoff-Tasmota-universal8/tasmota/support_button.ino:28:12: note: 'const char kMultiPress [34]' previously defined here

    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    Kennt jemand von euch den Grund?

    Im Atom sieht man ja unten im Bild immer nur einen kleinen Teil des Ausgabe-Log's.

    Wie kann ich das gesamt Log einsehen und ggf. die Zeilen kopieren?

    Danke für eure Hilfe

    Gruß Stefan

  • Ist es beabsichtigt, dass du für ein ESP32 kompilierst?

  • Hallo Zusammen,

    nur mal blöde gefragt, wer von Euch nutzt zu dem esp noch ioBroker für die Hausautomation?

    Hintergrund ist der, könnten die jenigen, bitte schauen, ob es bei Euch ebenfalls eine massive
    Verzögerung bei der Anzeige im Datenpunkt/Objekt im ioBroker und vis gibt?

    Ich rede hier von z.B. total_In von teilweise 2 kWh unterschie.

    Sprich in der Weboberfläche werden z.B. 47002 kWh gesendet
    im ioBroker wird im Datenpunkt und in der vis 47000 kWh angezeigt obwohl der Zeitstempel der aktualisierung
    grad eben war.

    Hat das auch jemand?

    Danke

    Gruß Jens

  • Moin,

    kann mir jemand sagen, wo ich die aktuelle <xnsn_95_sml.ino> herbekomme.

    Früher hat diesem mal in der UNIVERSAL2 von Arends gesteckt.

    Im Moment gibt es allerdings wohl nur eine UNIVERSAL8.

    Aber in dieser, als auch in der Normalversion <DEVELOPER> gibt es keine Bibliothek zum auslesen von Stromzählern.

    Danke und Gruß Stefan

  • Als Info an alle.

    Am besten immer die original Tasmota Version nehmen. Die ist fast immer up to date.

    In meinem Fork gibt es auch mal unstabile Versionen.

    Heisst schon lange xsns_53_sml.ino