D0 Zähler SML auslesen mit Tasmota

  • also der Speicher kostet 1 Euro das Stück, hatte mir mal gleich 5 bestellt => https://www.ebay.de/itm/AT24C256-S…q4AAOSwMO9cALBC

    Es gäbe mehr als genug Platz im ESP Flash. Aber Theo Arends will dass der scripter denselben Speicher nutzt wie rules und das sind 3*512 Bytes.

    Davon wird er sicher bis auf weiteres nicht abweichen. Deshalb habe ich ja die Möglichkeit eingebaut mit einem billigen EEPROM den Speicher zu erweitern.

    (default 4096 Bytes, ginge aber auch mehr, das EEPROM hat 32k)

    Interessant, aber da wird er doch sicherlich fundierte Gründe für haben oder?

  • na ja "backward compatibility" es gibt inzwischen mehrere Millionen Downloads von Tasmota. da hat er Angst was essentielles zu ändern.

    da er das Arduino spiffs Filesystem nicht nutzt sondern sein eigenes kann ich auch nicht so einfach da was tricksen.

    es geht halt mit dem EEPROM oder wenn du eine SD Karte anschliesst auf der SD Karte.

    mit SD Karte kannst du zusätzlich zum 4k main Script beliebige Scripte direkt aus einer Datei starten, so dass du beliebig komplexe Programme schreiben könntest.

  • Hallo,

    für alle Interessierten. Gerade bei dem großen teuren Electronic Händler mit dem C. Artikel 1429238 - 62

    Panasonic Triangulations-Lichttaster CX441 CX441 hellschaltend, dunkelschaltend, Umschalter (Hell-EIN/Dunkel-EIN) 12

    für EUR 12,26. Guter Sensor für Wasseruhr und Stromzähler Reflector auf der letzten Rolle.

    9 Stk sind noch da.

    Grüße

    Carsten

  • Hallo gemu2015

    wie würde dann der Jahresverbrauch aussehen?

    Ich habe dort wo ich was eingefügt habe rot gemacht,

    wenn es richtig ist bitte eine kurze Info

  • Hallo gemu2015,

    mit dem letzten Script habe ich mir irgendwas zerschossen jetzt geht mein Script nicht mehr.

    Ich kann zwar noch den Haken rausnehmen( Script ausschalten), das funktioniert, doch löschen kann ich es nicht mehr.

    Nach dem Speichen des leeren Scripts ist immer nochmal alles da.??

    Kompiliere jetzt gerade neu habe auch den Zähler zum RESET #define CFG_Holder um eins erhöht, ich hoffe dann geht es wieder.

  • gemu2015:

    Könnte man dieses hier benutzen und statt eines FTDI einen Wemos D1 Mini:

    https://ebus-wiki.org/lib/exe/fetch.php/ebus/arduinoebus.pdf

  • Hallo gemu2015

    scheinbar ist mein Speicher defekt habe im Script nach dem neu einspielen der Firmware nur noch 1536 Bytes 8| zur Verfügung.

    In der user_config_override.h steht immer noch

    // -- zusätzlicher Speicher I2C 24C256 ----------------

    #define USE_24C256

    Nein Speicher scheint zu gehen die Einstellungen des Speichers waren auch weg, nach dem neu einspielen ist ja auch so gewollt gewesen.

    Jetzt den Speicher wieder im Gerät eingestellt und sofort waren alle Daten des Script's wieder da gewesen also wurde der Speicher nicht gelöscht.

    Einmal editiert, zuletzt von meierchen006 (5. September 2019 um 21:08)

  • Hallo gemu2015

    so jetzt habe ich es wieder am laufen, kann nicht sagen was ich jetzt falsch gemacht hatte.

    Jedenfalls habe ich den Speicher mal komplett mit nullen gefüllt, und danach gelöscht und wieder eingefügt was reingehört. :?::?::?:

    Morgen neuer Test mit Jahresverbrauch

  • Habe inzw. auch meine Schaltung mit dem ne555 mit Schaltung bei positiver Flanke provisorisch fertig gelötet. Habe den Widerstand und Kondensator so gewählt das ein Impuls von ca. 24ms erzeugt wird. Im Script steht das entprellen noch auf 20ms. mal gucken ob es trotzdem klappt ansonsten muss ich das dort mal höher wählen oder den Widerstand/Kondensator kleiner wählen. Ich werde es nun beobachten und berichten sobald ich mehr weiß!

  • meierchen006  URBANsUNITED Allerdings habe ich das Gefühl, dass durch die ganzen Berechnungen, die Rechenzeit fürs analysieren des SML Strings nicht mehr reicht. Habe seit dem ich den scripter so voll habe, immer wieder Ausbrüche von 99999999W Momentan Verbrauch auch Gesamtverbrauch der auf Null geht. Tritt sporadisch auf.

    gemu2015 Oder hat sich irgendetwas an dem Ausleseverfahren geändert? Wird eigentlich überprüft ob der komplette String empfangen wurde eh ausgewertet wird?

    Alternativ könnte es noch mit dem DHT22 zusammenhängen.


  • Hallo gemu2015 , Hallo @all,

    so nun habe ich es am laufen:

    funktioniert auch so !

    Allerdings habe ich die Vermutung das es mit Teleperiod einen unterschied gibt, da sich die Werte beim auslesen der Zählerstände und SML, und dem berechnen zu unterschiedlichen Zeiten ändern. ??

    Die Tage werde ich mich nun in die Kosten und dem berechnen von diesen beschäftigen!

  • du hast keine Pullups verwendet?

    du brauchst unbedingt einen Pullup von ca 4,7 Kiloohm zwischen dem Pin und 3.3V

    beim Mini gibt es einen Pullup an RX, dort brauchst du keinen.

    Hi gemu,

    bin noch ganz neu in der Thematik und wollte auch meinen Gaszähler elster BK-G4MT auslesen.

    Das ganze über einen wemos D1 mini.

    Brauche ich hier jetzt einen Widerstand oder keinen? Und falls nicht, schließe ich den Reed kontakt (https://www.reichelt.de/reed-sensor-1-…71b-p27681.html) einfach an RX und GND an?

    Welchen Meter muss ich dann in der xsns_95_sml eintragen?

    und muss ich ein flag setzen wegen pullup?

    Einmal editiert, zuletzt von eric1905 (6. September 2019 um 23:03)

  • 1.       Habe beim umstellen (Test) auf Universal7 Skript beim Kompilieren folgende Fehlermeldung.

    no matching function for call to 'PubSubClient::connect(char [33], char*&, char*&, char [100], int, bool, char [893], int)'

    Bin leider noch recht unerfahren mit der Arduino Entwicklungsumgebung.

    2.       Ist mir folgender Punkt aus der Beschreibung von „meierchen006“ nicht klar.

    dazu suchen in

    =>sonoff_template.h

    nach Sonoff Basic

    const mytmplt kModules[MAXMODULE] PROGMEM = {

    { "Sonoff Basic",

    dort kannst du ihn ändern in WGS_COMBO

  • Hallo eric1905

    In Beitrag hier und hier ist ein Schaltbild wie angeschlossen wird.

    Das ist ja aber eine NodeMCU und kein D1 Mini.

    gemu2015 meinte aber in einem Beitrag den ich zitiert habe dass kein Widerstand nötig wäre. Wollte nur auf Nummer sicher gehen. Was bezweckt der Widerstand hier genau eigentlich und was würde passieren wenn ich den Reed kontakt direkt an GND und einen beliebigen GPIO hänge?