Tasmota Uhrzeit Stunde und Minute trennen

  • Liebes Forum,

    habe eine ESP8266 Modul mit einem Oled 0,96", auf dem ich im Hochvormat mir die Uhrzeit anzeigen lassen möchte. Und das es lesbar ist, soll die Stunden oben und darunter die Minuten stehen. Leider bekomme ich es nicht hin, die Stunde von den Minuten zu trennen. Hat jemand von Euch ne Idee für eine Umsetzung?

    Dank & Gruß

    MAT

  • Nun ich bin schon einwenig weiter:

    on Time#minute do Backlog var2=%value%%60; var1=(%value%-var2)/60 endon

    Jetzt steht in var 1&2 jeweils die Minute und Stunde drinnen, wie kann ich die Variable nun auf das Display bringen?

    rule2 on var1 do DisplayText [zs1l1c1]%value% endon geht es jedenfalls erst mal nicht und auch nicht mit

    DisplayText [zs1l1c1]%var1% 

    Wie bekomme ich nun die Variablen angezeigt?

  • Super - kürzer hätte ich es auch nicht geschafft !

    Zur optischen 1. Verbesserung die Nachkommastellen tilgen mit Konsoleneingabe CalcRes 0

    Dann noch Backlog und Leerzeichen verändern - so !

    rule3
    on var1#state do DisplayText[z] endon
    on var1#state do Backlog DisplayText[s1l1c5]%var1% endon
    on var2#state do Backlog DisplayText[s1l2c5]%var2% endon

    Wie das mit deinem Display in der 90 Gradwende klappt ?? würde mich interessieren.

    docs/docs/Displays.md at master · tasmota/docs
    Documentation for Tasmota (https://github.com/arendst/Tasmota) - tasmota/docs
    github.com

    2 Mal editiert, zuletzt von karoCB (13. November 2025 um 12:17)

  • 2, optische Verbesserung ist mir noch aufgefallen 09 Uhr ?! - führende Null (-pp Leerzeichen habe ich nicht sicherstellen können)

    rule3
    on var1#state do DisplayText[z] endon
    on var1#state do Backlog DisplayText[s1l1c5]%var1% endon
    on var2#state do Backlog DisplayText[s1l2c5]%var2% endon
    on var1#state<10 do Backlog DisplayText[s1l1c5]0%var1% endon
    on var2#state<10 do Backlog DisplayText[s1l2c5]0%var2% endon

    2 Mal editiert, zuletzt von karoCB (13. November 2025 um 11:06)

  • Hi Karo,


    danke für Deine Rückmeldung, habe gestern noch bis 23:00 Uhr gesessen und es hinbekommen.

    Zur optischen 1. Verbesserung die Nachkommastellen mit tilgen mit Konsoleneingabe CalcRes 0

    Ja das hätte ich heute auch noch gesucht, es wird immer die ermittelte Zeit in der Form 22.00ausgegeben, das stört.

    Das Display habe ich mit Displayrotate 1 senkrecht gestellt und

    rule2

    on var2#state do DisplayText [zs2|5c3]%value% endon  ([z=lösche Display, s2=Schriftgröße2, |=break, 5= Zeile5, c3= Spalte 3])

    on var1#State do DisplayText [s2|1c3]%value% endon

    on var2#state do DisplayText [s2|3c1]UHR endon

    die Anzeige schön mittig auf das 0,96" Display bekommen.

    1. Frage: ich habe es mit %var1% versucht die Daten angezeigt zu bekommen. Leider hat es nicht geklappt, aber mit %value%.

    2. Frage: Warum hast Du ein Backlog in on var1#state do Backlog DisplayText[s1l1c5]%var1% endon drinnen? War nicht ein Backlog für: on var1#state do Backlog DisplayText[s1l1c5]%var1%;  DisplayText[s1l2c5]%var2% endon? Ich habe es noch nicht getestet, werde nacher mal damit etwas herumspielen....

    Danach werde ich noch 2 Touchbutton mit einbinden, über die dann eine rgb WS2812 LED gesteuert werden soll, mal sehen wie ich mich da anstelle :D. Wenns nicht klappt, würde ich mich sehr über Hilfe von Dir freuen!!!

    Danke in advance :D MAT

  • Backlog CalcRes 0; DesplayRows 5; DisplayCols 16; DisplayMode0

    rule2
    on Time#minute do Backlog var2=%value%%60; var1=(%value%-var2)/60 endon
    on VAR1#State do Backlog Uhrzeit %Var1% : %VAR2% endon

    rule3
    on var1#state do DisplayText[z] endon
    on var1#state do Backlog DisplayText[a3s2l2c2]%var1% endon
    on var2#state do Backlog DisplayText[a3s2l4c2]%var2% endon
    on var1#state<10 do Backlog DisplayText[a3s2l2c2]0%var1% endon
    on var2#state<10 do Backlog DisplayText[a3s2l4c2]0%var2% endon

    bei dem Board hochkant mit [a3... umgesetzt

    ESP32-C3 OLED-Entwicklungsboard mit 0,42 Zoll OLED-Modul, Keramikantenne, ESP32 Supermini-Entwicklungsboard, WLAN, Bluetooth - AliExpress 502

    Größe Display0.42 Zoll
    Auflösung nach Modell72×40 oder 72×32 Pixel
    FarbeMonochrom
    ControllerSSD1306
  • Eine Frage noch, über den Eintrag OptionA 3 lege ich ja den universellen Displaytreiber fest und mit rule3 :H,SSD1306,128,64,1,I2C,3c,*,*,* :S,0,2,1,0,30,20 :I AE D5,80 A8,3F D3,00 40 8D,14 20,00 A1 C8 DA,12 81,9F D9,F1 DB,40 A4 A6 AF :o,AE :O,AF :A,00,10,40,00,00 :i,A6,A7# sage ich was es für ein Display ist. Nach einem Neustart wird das Display konfiguriert und ich kann damit arbeiten.

    a) lässt sich danach die Rule wieder weiterverwenden? Gibt ja nur 3Rule Parametersätze

    b) gibt es andere Aktivierungen eines Displays bei der aktuellen Tasmota FW?

    Wie konfigurierts Du Deine Displays?

  • Mein Display wird sofort erkannt. Aber Zusatzparameter sollten eigentlich nur einmalig auf der Konsole bereitgestellt werden.

    Wenn das nicht geht dann eben rule3

    Es können alle Kommandos in eine Rule1.

    Rule2 und Rule3 werden nur für Weiterverarbeitung von Ergebnissen oder spezielles Geschwindigkeitstuning benötigt.

    rule3
    on Time#minute do Backlog var2=%value%%60; var1=(%value%-var2)/60 endon
    on var1#state do Backlog DisplayText[a3s2l2c2]%var1% endon
    on var2#state do Backlog DisplayText[a3s2l4c2]%var2% endon
    on var1#state<10 do Backlog DisplayText[a3s2l2c2]0%var1% endon
    on var2#state<10 do Backlog DisplayText[a3s2l4c2]0%var2% endon


    PS: So ohne Löschen, da die Vornull immer das Ziel sicherstellt.

  • Beitrag von Noschvie (13. November 2025 um 17:22)

    Dieser Beitrag wurde vom Autor gelöscht (20. November 2025 um 09:51).
  • Beitrag von Noschvie (13. November 2025 um 19:36)

    Dieser Beitrag wurde vom Autor gelöscht (20. November 2025 um 09:51).
  • Wie schon angedeutet.... hab da noch ein kleines Problem.

    Habe an GPIO13 ein WS2812 LED Array, an GPIO 4/5 einen Touchbutton installiert und beide mit Switchmode13 verbunden.

    Ein Button soll die LED auf und der andere abdimmen:

    rule3 on switch6#state =1 do Dimmer +10 endon on switch7#state =1 do Dimmer -10 endon

    Das funktioniert soweit auch, nur beim Abdimmen wird der Dimmwert nicht auf 0 sondern 1 gesetzt.

    21:22:45.501 RUL: SWITCH7#STATE =1 performs 'Dimmer -10'
    21:22:45.507 RSL: RESULT = {"POWER1":"OFF","Dimmer":1,"Color":"030003","HSBColor":"292,100,1","Channel":[1,0,1]}

    Ich habe keine Ahnung weshalb es so geschieht. Oder gibt es noch eine andere Möglichkeit über eine Switch die WS2812 LED zu dimmen?

    Grüße MAT

  • Zitat

    Warum verwendest du nicht Tasmota 15.1.0 ?

    Vorübergehende Änderung des DisplayDimmers zulassen #23406

    im Relase 15.x - in neuen Releases ist mir zu viel Bewegung ! und der Displaytreiber vom 15.1. trifft mich nicht.

    Und bei der ADC Temp (interne CPU-Temperatur?) sehe ich nicht mehr durch, jedes Release unterschiedlich ESP82xx und ESP32 wirft andere Temperaturen - ist das normal oder habe ich was vergessen ?


    Zitat

    rule3 on switch6#state =1 do Dimmer +10 endon on switch7#state =1 do Dimmer -10 endon

    ob das anders wird mit der Syntax ohne Leerzeichen ?

    rule3 on switch6#state=1 do Dimmer +10 endon on switch7#state=1 do Dimmer -10 endon

    2 Mal editiert, zuletzt von karoCB (14. November 2025 um 15:16)