• Für Modellbau - Anzeigen (OLED o.ä.) kann bei eine Portraitanzeige unter Rule das Datum nicht einfach darstellt werden, da es nicht in gesplitteten Komponenten Tag : Monat vorliegt.

    Eine Manipulation im Rule-Umfeld ist aktuell (2025) dazu noch nötig.

    Basis - https://tasmota.github.io/docs/Rules/


    Die Idee (Variante 1) - den Monat täglich um 0:01 Uhr zu lesen und zu setzen.
    Wenn der Monat wechselt, läuft der täglich +1 gesetzte Tageszähler wieder mit 1 los.

    --Variante1 ---------------------------------------------------------

    mem10 Speicher Tag
    mem9 Speicher Monat
    mem8 Triggermonat

    VAR10 dauerhaft benutzt
    VAR9 nur kurz benutzt

    erforderliche Einstellungen setzen

    dobi = heutige Tageszahl einmalig
    Backlog mem10 dobi, VAR10 0; Calcres 0


    Rule2
    on Time#Minute=1 do Backlog VAR10 %mem10%; ADD10 1; VAR9 %timestamp% endon
    on System#Boot do Backlog VAR9 %timestamp% endon
    on VAR9#State$|-01- do mem9 Jan endon
    on VAR9#State$|-02- do mem9 Feb endon
    on VAR9#State$|-03- do mem9 Mar endon
    on VAR9#State$|-04- do mem9 Apr endon
    on VAR9#State$|-05- do mem9 Mai endon
    on VAR9#State$|-06- do mem9 Jun endon
    on VAR9#State$|-07- do mem9 Jul endon
    on VAR9#State$|-08- do mem9 Aug endon
    on VAR9#State$|-09- do mem9 Sep endon
    on VAR9#State$|-10- do mem9 Okt endon
    on VAR9#State$|-11- do mem9 Nov endon
    on VAR9#State$|-12- do mem9 Dez endon
    on VAR10#State do mem10 %VAR10% endon
    on mem9#State$!%mem8% do Backlog mem10 1; mem8 %mem9% endon

    Variante2 --------------------------------------------- Selbssynchronisierung

    Oft ist der Einsatz nur am Tage aktiv und in der Nacht die Systeme ausgeschalten, so ist eine manuelle Synchronisierung beim Start unschön.

    Mit 2 Rules geht es automatisch.

    Ein Tageszählerloop auf Rule3 läuft so lange mit +1, bis der Tageszähler mit dem Timestamp gleich steht.

    VAR10 Tag (nach ca. 20 Sekunden)
    VAR11 Monat

    VAR9 Timestamp
    VAR1 Zähler
    VAR12 Vergleich

    Rule2
    on Time#Minute=1 do backlog rule3 1; VAR1 0 endon
    on System#Boot do backlog rule3 1; VAR1 0 endon
    on VAR9#state$|%VAR12% do Rule3 0 endon
    on VAR9#State$|-01- do VAR11 Jan endon
    on VAR9#State$|-02- do VAR11 Feb endon
    on VAR9#State$|-03- do VAR11 Mar endon
    on VAR9#State$|-04- do VAR11 Apr endon
    on VAR9#State$|-05- do VAR11 Mai endon
    on VAR9#State$|-06- do VAR11 Jun endon
    on VAR9#State$|-07- do VAR11 Jul endon
    on VAR9#State$|-08- do VAR11 Aug endon
    on VAR9#State$|-09- do VAR11 Sep endon
    on VAR9#State$|-10- do VAR11 Okt endon
    on VAR9#State$|-11- do VAR11 Nov endon
    on VAR9#State$|-12- do VAR11 Dez endon
    on VAR9#state$^%VAR12% do ADD1 1 endon


    Rule3
    on VAR1#State<10 do Backlog VAR12 0%VAR1%T; VAR10 0%VAR1%; VAR9 %timestamp% endon
    on VAR1#State>9 do Backlog VAR12 %VAR1%T; VAR10 %VAR1%; VAR9 %timestamp% endon

Teilen