Tasmota Scripting

  • Hallo zusammen, bin neu hier und habe mich wegen dem o.g. Thema angemeldet.

    Klingt sehr interessant und daher wollte ich da tiefer einsteigen.


    Meinen Gas-Zähler habe ich soweit schon damit bearbeiten können. Für die weiterführenden Berechnungen fehlt mir jedoch das Funktionsverständnis.


    Ich schreibe mal meine Fragen hier auf. Vielleicht ist das ja kein großes Drama.


    1. Gibt es eine ausführliche Dokumentation (Befehle, Funktion, usw.)? (ausser: https://tasmota.github.io/docs/Scripting-Language/)

    2. Gibt es noch andere Variablen-Typen außer der "normalen" (flüchtigen - weg nach Stromausfall) und der "permanenten"?

    --> meine Beobachtung:

    ----> normale Variable übersteht keinen Neustart und keinen Stromausfall

    ----> permanente Variable übersteht Neustart und Stromausfall

    ----> nun verhält sich der Wert vom Zähler (bei mir g_g1) jedoch anders. Er übersteht einen Neustart aber keinen Stromausfall.

    ----> Was muss ich tun, damit ich genau dieses Verhalten auch bei meinen anderen Variablen bekomme?

    Code
    >T
    g_g1=GAS1#Haus1
    >M
    +1,14,c,1,-25,GAS1
    1,1-0:1.8.0*255(@100,Zählerstand,m³,haus1,18
    1,=h=========================
    #

    3. Warum wird nie die erste Flankenänderung des Zählers Nach Neustart des Wemos ausgewertet?

    --> Erklärung: Nach einem Neustart des Wemos wird der erste "0-Durchlauf" immer ausgelassen. Bis jetzt konnte ich nicht erkennen woran das liegt.


    gemu2015 vielleicht kannst du Licht ins Dunkel bringen.


    Auweia, ich glaube das reicht für den ersten Beitrag. Ich hoffe ich werde nicht gesteinigt.;)

  • 1. nein, gibt es nicht.

    2. nein gibt es auch nicht.


    normale Variablen werden nach jedem Neustart gelöscht bzw mit den Werten in >D vor besetzt

    permanente Variablen werden vor >B aus dem Flash mit den letzen Werten vor belegt.

    Alle p Variablen werden bei einem Neustart gespeichert oder bei dem Befehl svars.

    bei einem Stromausfall geht der letzte Stand der p Variablen verloren, aber es bleibt der Wert vom letzen Neustart oder svars erhalten.


    Du kannst immer wenn du eine pvar beschreibst svars schreiben.


    die permanenten Variablen werden in der Tasmota cfg Sektion gespeichert und die werden von Tasmota dann im Flash abgelegt nach bestimmten Regeln.


    siehe Tasmota command: SaveData



    3. es wird immer nur die fallende Flanke ausgewertet. Eigentlich sollte auch die 1. fallende gelesen werden ?

  • gemu2015 vielen Dank für Erläuterung. Zu muss zu den Punkten noch einmal nachfragen:

    zu 1.

    schade. Ist sowas geplant?


    zu 2.

    Warum verhält sich die Wert/Variable aus der >M Sektion anders als die "normale" und "permanente"?

    Das erschließt sich mir auch nach dem lesen von Command: SaveData und Restart nicht


    zu3.

    Habe es grad noch einmal getestet. Nach einem Neustart oder Stromausfall wird die erste fallende Flanke nicht gezählt.

    Kann ich das unterbinden?

  • 1. ich selbst werde keine Dokumentation schreiben. Ich kann das nicht so beschreiben dass Anfänger das wirklich gut verstehen weil ich zu viel voraussetze.

    Da auch das Englisch für viele eine Problem ist wäre eine deutsche leicht verständliche Anleitung sinnvoll. Du kannst gerne damit anfangen.


    2. Nein die Variable g_g ist eine ganz normale Variable. Sie wird aber in >T neu gesetzt und die dahinter liegende aus >M ist eine permanente Variable aus Tasmota, nämlich genau die die auch dem Tasmota counter zu Grunde liegt.


    Diese Tasmota counter Variable wird von Tasmota gesichert und restauriert wie alle anderen Tasmota Config Variablen auch.


    3. Ok da die IRQ Routine identisch zu Tasmota und auch die Variable identisch ist ist das auch ein Problem von Tasmota. Werde mir das bei Gelegenheit mal ansehen.