AWTRIX - verschiedene Anzeigen automatisch wechseln

Danke d.h. du hast die ganze Ansicht in ein dashboard als Webpage Karte?

Wenn Du damit das meinst was auch das Display anzeigt, dann ja.

Habe das Teil seit gestern auch im Einsatz (gab es als “back-to-school”-offer für €28,- + €8 Versand).

Habe die Uhr über MQTT eingebunden, aber steuere sie direkt aus Node-Red über “call-service”-nodes an, damit kann man vorher in “function”-nodes erzeugte msg.payloads, wie ich Sie auch für ALEXA- oder teegram-Benachrichtigungen nutze auf die Uhr schicken.

Notwendig dafür ist lediglich das HACS-Repository:

(ist nicht direkt bei HACS zu finden, muss über GitHub geladen werden)
notwendig.

Sehr gut beschrieben, auch mit weiteren Beispielen und ANsteuermöglichkeiten ist das alles in diesem Video:

Wenn mal wieder so eine Aktion kommt, werde ich mir mindestens eine 2. Uhr holen! :grinning:

Also soweit ich mich erinnere, benutze ich das nicht. Alles mit NODE-Red gemacht…
Das muss ich mir mal angucken…

Ich auch, aber es kommt darauf an, ob Du Entitäten auf der Uhr anzeigen möchtest die nicht schon in MQTT sind, sonder nur in HA.
Ich nutze für einige Systembefehle auch MQTT:
image
Reboot oder eine App stoppen.

Für Nachrichten, die ich auch auf ALEXA schicke mit HA-Entitäten (payload) nutze ich die “call-servive-node” über die HACS-Erweiterung:



Diese bietet auch Systemfunktionen und den “notify”-Dienst.

Kommt eben auf die jeweilige Anwendung und die Herkunft der Daten an.
Vorteil bei dem “notify”-Dienst über die “call-service-node” ist eben, dass Du gleich die Formatierung der Nachricht über “json” mitgeben kannst:

Wollte nach einiger Zeit etwas über meine Erfahrungen berichten:

Die Uhr ist mit AWTRIX3 echt gut, nur leider zeigten sich bei mir vor einigen Tagen hin und wieder Pixel-Fehler auf dem Display:


Habe dann etwas im “www” recherchiert und festgestellt, dass es dazu doch recht wenig Meldungen gibt. Habe dann den ULANZI-Support ( service@ulanzi.com ) angeschrieben und am nächsten Tag die Rückmeldung bekommen, dass ich kostenlos einen neue Uhr bekomme und die alte behalten kann. Sehr guter Service!

Meine “Anzeigen” und Versuche klappen ganz gut, nur mit zwei Funktion habe ich Probleme:

“dismiss”:
Wenn die Anzeige bis zu einem bestimmten Trigger laufen soll, möchte ich sie über den “dismiss”-Befehl löschen und wieder zu Datum/Uhrzeit wechseln. Das klappt leider nicht immer im ersten Anlauf, so dass ich jetzt den “dismiss”-Befehl 3x sende (1,3,5 s). Dann klappt es immer.
Hier zur Info der Befehl:


“sleep”
In der AWTRIX-Beschrfeibung gibt es einen “sleep”-Befehl:


Der Befehl:

mit dem payload:

funktioniert und die Uhr wird nach 60s automatisch wieder aufgeweckt.
Aber einen dauerhaften “sleep”-Modus mit “aufwecken” über die mittlere-Taste,
also ohne Zeit geht leider nicht.
Hat hierzu jemand eine Idee?

Würdest du dein Node zur Verfügung stellem?

[{"id":"05d5361a7be1e6ad","type":"group","z":"5a03cbe9a6459077","name":"","style":{"stroke":"#a4a4a4","fill":"#d1d1d1","fill-opacity":"0.5","label":true},"nodes":["cad238eed2cebb2f","49aa84566c15dca7","8a2a2d3977f3095c","9583e1bca3d1c4c5","e528ed0dc42ad1bf","9fca44f306173f16","87476d04570bb173","8a3e07e404e0064e","a5bbcd2f14b40ecd","42aa8fbf3f6e1b0e","bf62e174bb95f90a","970f85e0a071b47d","d5540e588b278c9b","4e20eae5ac25f220","5bd591f5354b6400","49e4e6c1c1841f15","a5c9d03977f08cf1","936884791fc0ae5f","b1745405ef249f34"],"x":14,"y":259,"w":1012,"h":442},{"id":"cad238eed2cebb2f","type":"server-state-changed","z":"5a03cbe9a6459077","g":"05d5361a7be1e6ad","name":"AWTRIX - Netzbezug","server":"1046d712.e31c69","version":6,"outputs":2,"exposeAsEntityConfig":"","entities":{"entity":["sensor.awtrix_current_app"],"substring":[],"regex":[]},"outputInitially":false,"stateType":"str","ifState":"Netzbezug","ifStateType":"str","ifStateOperator":"is","outputOnlyOnStateChange":false,"for":"0","forType":"num","forUnits":"seconds","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[],"x":140,"y":540,"wires":[["8a2a2d3977f3095c"],[]]},{"id":"49aa84566c15dca7","type":"mqtt out","z":"5a03cbe9a6459077","g":"05d5361a7be1e6ad","name":"awtrix/Netzbezug","topic":"awtrix/custom/Netzbezug","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"346df2a95aac5785","x":910,"y":540,"wires":[]},{"id":"8a2a2d3977f3095c","type":"function","z":"5a03cbe9a6459077","g":"05d5361a7be1e6ad","name":"Netzbezug auslesen","func":"// Get the data from the sensor\nvar AnzahlWatt = global.get('homeassistant.homeAssistant.states[\"sensor.sunny_boy_metering_power_absorbed\"].state');\n\nif (AnzahlWatt == null) {\n   AnzahlWatt = 0;\n}\n\nmsg.payload = { \"text\": AnzahlWatt + \"W\", \"icon\": \"56657\", \"textCase\": \"2\", \"color\": \"990000\" }\n\nreturn msg;","outputs":1,"timeout":"","noerr":0,"initialize":"","finalize":"","libs":[],"x":660,"y":540,"wires":[["49aa84566c15dca7"]]},{"id":"9583e1bca3d1c4c5","type":"server-state-changed","z":"5a03cbe9a6459077","g":"05d5361a7be1e6ad","name":"AWTRIX - Einspeisen","server":"1046d712.e31c69","version":6,"outputs":2,"exposeAsEntityConfig":"","entities":{"entity":["sensor.awtrix_current_app"],"substring":[],"regex":[]},"outputInitially":false,"stateType":"str","ifState":"Einspeisen","ifStateType":"str","ifStateOperator":"is","outputOnlyOnStateChange":false,"for":"0","forType":"num","forUnits":"seconds","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[],"x":140,"y":420,"wires":[["9fca44f306173f16"],[]]},{"id":"e528ed0dc42ad1bf","type":"mqtt out","z":"5a03cbe9a6459077","g":"05d5361a7be1e6ad","name":"awtrix/Einspeisen","topic":"awtrix/custom/Einspeisen","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"346df2a95aac5785","x":910,"y":420,"wires":[]},{"id":"9fca44f306173f16","type":"function","z":"5a03cbe9a6459077","g":"05d5361a7be1e6ad","name":"Einspeisung auslesen","func":"// Get the data from the sensor\n\nvar Einspeisung = global.get('homeassistant.homeAssistant.states[\"sensor.sunny_boy_metering_power_supplied\"].state');\n\nif (Einspeisung == null) {\n   Einspeisung = 0;\n}\n\nmsg.payload = { \"text\": Einspeisung + \"W\", \"icon\": \"56656\", \"textCase\": \"2\", \"color\": \"008000\" };\n\nreturn msg;","outputs":1,"timeout":"","noerr":0,"initialize":"","finalize":"","libs":[],"x":660,"y":420,"wires":[["e528ed0dc42ad1bf"]]},{"id":"87476d04570bb173","type":"server-state-changed","z":"5a03cbe9a6459077","g":"05d5361a7be1e6ad","name":"AWTRIX - Solarstrom","server":"1046d712.e31c69","version":6,"outputs":2,"exposeAsEntityConfig":"","entities":{"entity":["sensor.awtrix_current_app"],"substring":[],"regex":[]},"outputInitially":false,"stateType":"str","ifState":"Solarstrom","ifStateType":"str","ifStateOperator":"is","outputOnlyOnStateChange":false,"for":"0","forType":"num","forUnits":"seconds","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[],"x":140,"y":360,"wires":[["a5bbcd2f14b40ecd"],[]]},{"id":"8a3e07e404e0064e","type":"mqtt out","z":"5a03cbe9a6459077","g":"05d5361a7be1e6ad","name":"awtrix/Solarstrom","topic":"awtrix/custom/Solarstrom","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"346df2a95aac5785","x":910,"y":360,"wires":[]},{"id":"a5bbcd2f14b40ecd","type":"function","z":"5a03cbe9a6459077","g":"05d5361a7be1e6ad","name":"Solarstrom auslesen","func":"// Get the data from the sensor\n\nvar Solarstrom = global.get('homeassistant.homeAssistant.states[\"sensor.sunny_boy_grid_power\"].state');\n\nif ( Solarstrom == null ) { \n   Solarstrom = 0;\n}\n\nmsg.payload = { \"text\": Solarstrom + \"W\", \"icon\": \"52101\", \"textCase\": \"2\", \"color\": \"cece00\" };\n\nreturn msg;","outputs":1,"timeout":"","noerr":0,"initialize":"","finalize":"","libs":[],"x":660,"y":360,"wires":[["8a3e07e404e0064e"]]},{"id":"42aa8fbf3f6e1b0e","type":"server-state-changed","z":"5a03cbe9a6459077","g":"05d5361a7be1e6ad","name":"AWTRIX - Temp. Hinten","server":"1046d712.e31c69","version":6,"outputs":2,"exposeAsEntityConfig":"","entities":{"entity":["sensor.awtrix_current_app"],"substring":[],"regex":[]},"outputInitially":false,"stateType":"str","ifState":"Temperatur_Terrasse","ifStateType":"str","ifStateOperator":"is","outputOnlyOnStateChange":false,"for":"0","forType":"num","forUnits":"seconds","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[],"x":140,"y":600,"wires":[["970f85e0a071b47d"],[]]},{"id":"bf62e174bb95f90a","type":"mqtt out","z":"5a03cbe9a6459077","g":"05d5361a7be1e6ad","name":"awtrix/Temp. Hinten","topic":"awtrix/custom/Temperatur_Terrasse","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"346df2a95aac5785","x":900,"y":600,"wires":[]},{"id":"970f85e0a071b47d","type":"function","z":"5a03cbe9a6459077","g":"05d5361a7be1e6ad","name":"Temp. Hinten auslesen","func":"// Get the data from the sensor\nvar Temperatur_Terrasse = global.get('homeassistant.homeAssistant.states[\"sensor.bt_terrasse_temperature\"].state');\n\nif (Temperatur_Terrasse == null) {\n   Temperatur_Terrasse = \"0,01\";\n}\n\n// We want only one decimal\nvar Temperatur = parseFloat( Temperatur_Terrasse );\nTemperatur = Temperatur.toFixed(1);\n\nmsg.payload = { \"text\": \"< \" + Temperatur + \"°\", \"icon\": \"13593\", \"textCase\": \"2\", \"color\": \"ffffff\" }\n\nreturn msg;","outputs":1,"timeout":"","noerr":0,"initialize":"","finalize":"","libs":[],"x":660,"y":600,"wires":[["bf62e174bb95f90a"]]},{"id":"d5540e588b278c9b","type":"server-state-changed","z":"5a03cbe9a6459077","g":"05d5361a7be1e6ad","name":"AWTRIX - Temp. Vorne","server":"1046d712.e31c69","version":6,"outputs":2,"exposeAsEntityConfig":"","entities":{"entity":["sensor.awtrix_current_app"],"substring":[],"regex":[]},"outputInitially":false,"stateType":"str","ifState":"Temperatur_Vorne","ifStateType":"str","ifStateOperator":"is","outputOnlyOnStateChange":false,"for":"0","forType":"num","forUnits":"seconds","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[],"x":140,"y":660,"wires":[["5bd591f5354b6400"],[]]},{"id":"4e20eae5ac25f220","type":"mqtt out","z":"5a03cbe9a6459077","g":"05d5361a7be1e6ad","name":"awtrix/Temp. Vorne","topic":"awtrix/custom/Temperatur_Vorne","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"346df2a95aac5785","x":910,"y":660,"wires":[]},{"id":"5bd591f5354b6400","type":"function","z":"5a03cbe9a6459077","g":"05d5361a7be1e6ad","name":"Temp. Vorne auslesen","func":"// Get the data from the sensor\nvar Temperatur_Vorne = global.get('homeassistant.homeAssistant.states[\"sensor.solarfocus_biomass_boiler_outdoor_temperature\"].state');\n\nif (Temperatur_Vorne == null) {\n   Temperatur_Vorne = 0;\n}\n\nmsg.payload = { \"text\": \"> \" + Temperatur_Vorne + \"°\", \"icon\": \"13593\", \"textCase\": \"2\", \"color\": \"ffffff\" }\n\nreturn msg;","outputs":1,"timeout":"","noerr":0,"initialize":"","finalize":"","libs":[],"x":660,"y":660,"wires":[["4e20eae5ac25f220"]]},{"id":"49e4e6c1c1841f15","type":"server-state-changed","z":"5a03cbe9a6459077","g":"05d5361a7be1e6ad","name":"AWTRIX - Verbrauch","server":"1046d712.e31c69","version":6,"outputs":2,"exposeAsEntityConfig":"","entities":{"entity":["sensor.awtrix_current_app"],"substring":[],"regex":[]},"outputInitially":false,"stateType":"str","ifState":"Verbrauch","ifStateType":"str","ifStateOperator":"is","outputOnlyOnStateChange":false,"for":"0","forType":"num","forUnits":"seconds","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[],"x":150,"y":480,"wires":[["936884791fc0ae5f"],[]]},{"id":"a5c9d03977f08cf1","type":"mqtt out","z":"5a03cbe9a6459077","g":"05d5361a7be1e6ad","name":"awtrix/Verbrauch","topic":"awtrix/custom/Verbrauch","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"346df2a95aac5785","x":910,"y":480,"wires":[]},{"id":"936884791fc0ae5f","type":"function","z":"5a03cbe9a6459077","g":"05d5361a7be1e6ad","name":"Verbrauch auslesen","func":"// Get the data from the sensor\nvar Verbrauch = global.get('homeassistant.homeAssistant.states[\"sensor.sunny_boy_metering_current_consumption\"].state');\n\nif (Verbrauch == null) {\n   Verbrauch = 0;\n}\n\nmsg.payload = { \"text\": Verbrauch + \"W\", \"icon\": \"52715\", \"textCase\": \"2\", \"color\": \"990000\" }\n\nreturn msg;","outputs":1,"timeout":"","noerr":0,"initialize":"","finalize":"","libs":[],"x":670,"y":480,"wires":[["a5c9d03977f08cf1"]]},{"id":"b1745405ef249f34","type":"comment","z":"5a03cbe9a6459077","g":"05d5361a7be1e6ad","name":"AWTRIX - Daten im Display aktuallisieren","info":"From 22:00 - 08:00","x":200,"y":300,"wires":[]},{"id":"1046d712.e31c69","type":"server","name":"Home Assistant","addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"","connectionDelay":false,"cacheJson":false,"heartbeat":false,"heartbeatInterval":"","statusSeparator":"","enableGlobalContextStore":false},{"id":"346df2a95aac5785","type":"mqtt-broker","name":"","broker":"localhost","port":"1883","clientid":"","autoConnect":true,"usetls":false,"protocolVersion":"4","keepalive":"60","cleansession":true,"autoUnsubscribe":true,"birthTopic":"","birthQos":"0","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willPayload":"","willMsg":{},"userProps":"","sessionExpiry":""}]

Hiermit update ich 6 Infos im AWTRIX.

Ich versuche mich gerade in AWTRIX. Der Groschen ist aber noch nicht gefallen.
homeassistant-custom_components-awtrix sind “installiert”.

in der configuration.yaml

awtrix:

eingefügt…

Über die Dev-Tools kann ich auch Daten ans Display schicken, zb

action: awtrix.awtrix_ce4a94_push_app_data
data:
  name: Test
  data:
    text: Hello, AWTRIX Light!
    rainbow: true
    icon: "87"
    duration: 5
    pushIcon: 2
    lifetime: 900
    repeat: 1

Reiht sich dann auch nach der Uhr in der Anzeige ein.

Was mir nicht klar ist, wo werden die Anzeigen abgelegt?

Im Grunde möchte ich anzeigen (Nacheinander):
Uhr / Datum
Temperatur Innen
Temperatur Aussen
Nächster Abholung Müll (zb Bio 2 Tage oder Gelb 1 Tag)

Bisher hatte ich Pixelit am laufen am Display und das ganze per Nodered.
War ja recht easy, gibt ja ensprechende Knoten für Pixelit, aber hier komme ich nicht weiter.

Noch eine Frage. Aktuell habe ich Transition aktiv. Das
Display rotiert mit Uhrzeit, Temperatur, Feuchte, und Batterie sowie
eine Anzeige die von HA gesendet wurde.

awtrix_test:
  alias: "AWTRIX Testnachricht"
  sequence:
    - service: awtrix.awtrix_ce4a94_push_app_data
      data:
        name: Test
        data:
          text: "Hello, diese ist ein Test"
          rainbow: true
          icon: "87"
          duration: 5
          pushIcon: 2
          lifetime: 900
          repeat: 1

a- wie entferne ich die Anzeige von Temperatur, Feuchte, und Batterie
b- warum wir die Testnachricht immer wieder angezeigt, obwohl repeat: auf 1 steht?

Steht in der Anleitung: Mittels der Knöpfe oben auf der AWTRIX.

Meines Wissens, läuft die so lange, bis Du die Anzeige wieder löscht. Du musst eine leeres Datenfeld an die Meldung schicken, um sie zu löschen.

action: awtrix.awtrix_push_app_data
metadata: {}
data:
  name: /custom/HANDY_R
  data: {}
enabled: true

ok, Knöpfe habe ich keine. Ich nutzte ne 32x8 Matrix mit einem ESP32.

Hallo

Ich habe mir auch die Ulanzi geholt und auch bereits AWTRIX3 geflasht.
Für mein HA System habe ich auch die custom components installiert und es ist auch möglich, dass ich entweder über die Entwicklerwerkzeuge oder die Konfiguration des Mosquito MQTT an die Uhr Textzeilen oder auch Icon etc. sende und diese auch angezeigt werden.

Nun wollte ich gerne die Werte wie Außentemperatur oder aktuelle Leistung der Pv-Anlage anzeigen lassen und habe die entsprechenden Sensoren ausgewählt.
Bei dem Sensor handelt es sich z.B. um einen Sensor der Firma Homematic oder die Werte aus der Pv Anlage stammen von SMA.

Mein Paket an die Ulanzi Uhr lautet:

{
"text": "{{ states.sensor.wetterstation_temperatur.state}}C",
"icon": "2056",
"color": "F2B900"
}

Das Icon und auch der Buchstabe wird angezeigt, jedoch der Wert des Sensors leider nicht sondern nur ein N/A.

Wenn ich jedoch in den Entwicklerwerkzeugen die Zeile

{{ states.sensor.wetterstation_temperatur.state}}C"

eintrage, dann wird mir der Wert korrekt angezeigt.

Was mache ich falsch? bzw wie kann ich die Werte auf der Pixeluhr anzeigen lassen?

Würde mich über Eure Hilfe freuen.

text: "Vorne: {{states('sensor.kamera_eingang_batterie')}}%"
icon: "62159"
textCase: "2"
color: ff0000
pushIcon: true

Bei Dir fehlen die ’ und der Syntax ist wohl falsch. Bei mir funktioniert es wie im Beispiel.

"{{ states ( 'sensor.wetterstation_temperatur') }}C"

würde ich mal probieren…

Vielen Dank.

Dies funktioniert.

Ich habe mir die Blueprints gekauft.
https://ko-fi.com/s/0d1e4419bd

Hat mir die Sache etwas vereinfacht

Damit geht es super und kostenlos, z. B. Meldung, dass die Post da war…

action: notify.awtrix
metadata: {}
data:
  message: "Post: {{ now().strftime('%H:%M') }} Uhr"
  title: Post_Ist_da
  data:
    icon: "60233"
    textCase: "2"
    color: "#ffff00"
    hold: true
  target: Post_Ist_da

Ich nutze den Thread hier mal für eine Frage zur Anzeige des Wochentages (“-” unterhalb der Zeit):

Ich habe meine ULANZI gestern neu geflasht, weil sie in einem Boot-loop war, jetzt läuft sie wieder.
Allerdings steht jetzt der Tagesindikator (Mo-So) falsch, d.h. der 1. Tag der Woche ist der Sonntag und nicht wie früher der Montag.

In der AWTRIX-Doku habe ich das hier gefunden:


leider habe ich es bisher nicht geschafft, diesen Befehl an die AWTRIX zu schicken.
Alle anderen Sachen (Nachrichten, Display AN/AUS, Reboot, usw.) funktionieren.

Hat jemand einen Tipp, wie der JSON-Befehl aussehen muss?
Danke!

Update:
Problem ist gelöst.
Habe die ULANZI einfach nochmals neu geflasht, jetzt passt es. :grinning: