Wenn ich displaymode 2 wieder aktiviere, werden Version, Hostname, IP-Adresse usw erneut ausgegeben. Damit ist mir nicht geholfen. Danke trotzdem für die Idee, hatte ich auch schon probiert.
Beiträge von strohkw
-
-
Lediglich im Displaymode 2 kann man mit Displaytext zeilenweise das Display füllen, so dass die vorherigen Zeilen nach oben weggeschoben werden. Im Dislaymode 0 wird ohne Positionsangabe jeweils die erste Zeile überschrieben. Im Displaymode 1 kann man mit Displaytext ohne Positionsangaben keine Zeilen aufs Display schreiben.
-
Hallo, ich möchte so eine Art rollende Anzeige haben. Daher schreibe ich im Displaymode 2 die Zeilen mit displaytext Text ohne Positionsangaben. Das funktioniert auch wie gewollt, die neue Zeile wird unten angefügt, wenn vier Zeilen schon angezeigt werden, wird die oberste Zeile nach oben weggeschoben. Mit dem Taster bestätige ich praktisch, die Meldungen gelesen zu haben. Dann sollen alle Zeilen gelöscht werden, das Display wird ausgeschaltet. Kommt dann eine neue Zeile, wird das Display wieder eingeschaltet, es soll aber nur die neue Zeile (und dann eventuell folgende Zeilen) angezeigt werden.
-
Der "Zauberbefehl" bewirkt wie displaytext[z], dass das Display gelöscht wird. Wird dann eine neue Zeile geschrieben, tauchen aber auch die letzten drei vorherigen Zeilen wieder auf. Schade!
-
Ich möchte auf einem LCD Display 20/04 fortlaufend einzeilige Texte mit Displaytext ausgeben. Das funktioniert im Displaymode 2 auch wie gewünscht, neue Zeile schiebt alte Zeilen nach oben weg.
Ich habe am D1 mini allerdings auch einen Taster. Wenn ich den drücke, sollen alle Zeilen gelöscht (Displaytext[z]) werden (und das Display mit Power off ausgeschaltet werden). Das funktioniert auch.
Wenn ich dann eine neue Zeile auf das Display schreibe, sind allerdings die vorherigen drei Zeilen auch wieder sichtbar. Kann man das verhindern (Ausgabepuffer löschen oder so?)
-
Jetzt funktioniert es, das "backlog" in der ersten Regel war wohl der entscheidende Hinweis.
DANKE
-
Habe jetzt die Hardware zur Verfügung, mit der IP Adresse ausgeben auf Display funktioniert nicht wie vorgeschlagen.
Hier die Konsolenausgabe:
19:58:14.375 CMD: rule1 on time#minute do backlog ipaddress endon;on ipaddress1 do backlog displaytext[zl2c5] IP-Adresse; displaytext[l2c2]%value% endon
19:58:14.384 RUL: Stored uncompressed, would compress from 128 to 80 (-37%)
19:58:14.387 RSL: RESULT = {"Rule1":{"State":"OFF","Once":"OFF","StopOnError":"OFF","Length":128,"Free":383,"Rules":"on time#minute do backlog ipaddress endon;on ipaddress1 do backlog displaytext[zl2c5] IP-Adresse; displaytext[l2c2]%value% endon"}}
19:58:18.618 CMD: rule1 1
19:58:18.624 RSL: RESULT = {"Rule1":{"State":"ON","Once":"OFF","StopOnError":"OFF","Length":128,"Free":383,"Rules":"on time#minute do backlog ipaddress endon;on ipaddress1 do backlog displaytext[zl2c5] IP-Adresse; displaytext[l2c2]%value% endon"}}
19:58:18.926 RUL: TIME#MINUTE performs 'backlog ipaddress'
19:58:18.972 RSL: RESULT = {"IPAddress1":"0.0.0.0 (192.168.178.90)","IPAddress2":"192.168.178.1","IPAddress3":"255.255.255.0","IPAddress4":"192.168.178.1","IPAddress5":"0.0.0.0"}Am angeschlossenen Display erscheint keine Ausgabe. Oder habe ich da was falsch erstanden bei der Rule?
-
Danke für die Hilfe. Leider zur Zeit keine Hardware um zu testen, hole ich nach.
-
Ich will nach dem Start der Tasmota Software die per dhcp vergebene IP4 Adresse automatisch auf einem angeschlossenen Display ausgeben. Dazu habe ich eine Rule geschrieben, die jede Minute die IP4 Adresse aufs Display schreiben soll:
rule3
on time#minute do Status 5 endon
on StatusNET#IPAddress do backlog var1 %value%; displaytext[zl2c5] IP-Adresse; displaytext[l3c4]%var1% endonrule3 1
In der Konsole kann ich sehen, dass das Kommando "Status 5" jede Minute angestpßen wird, die folgende Zeile "on StatusNET..." jedoch nicht auslöst.
Rufe ich "Status 5" in der Kommandozeile der Konsole auf, dann löst die Bedingung aus. Wird der Event bei automatische Auslösung nicht weitergereicht (eventuell nur an MQTT)?
Die Rule modifiziert mit "switch#state" und angeschlossenem Schalter zeigt das gleiche Verhalten.
Gelöst habe ich es, indem ich nach dem Booten eine Regel "backlog displaymode 1; displaymode 2" auslöse. Wenn ich hier nur "displaymode 2" auslöse, steht die IP4 Adresse immer auf 0.0.0.0
Aber warum greift eine Folgeregel nicht nach einem automatisch ausgelöstem Kommando.
