Meine ersten Erfahrungen mit AWTRIX NG auf der Ulanzi TC001

Bei HA hast du dann aber nicht immer den aktuellen Wert.

Ich hatte bisher bei AWTRIX3 getriggert durch Bewegungsmelder den aktuellen Wert geschickt, aber eben nur alle 5 Min.

Bei den Scripten holt er sich nun alle 5 Sek den aktuellen Wert.

Hätte man in HA aber auch häufiger machen können.

Man kann die Scripte auch ein wenig Speicher effizienter schreiben damit man ca. 8 Scripte darauf laufen lassen kann:

Bsp.:

# @name     TempAussen
# @desc     Zeigt die aktuelle Temperatur an
# @config   refresh number "Aktualisierung" default=5 unit=s

import ha_config

class TempAussen
  var temp, ticks, refresh

  def init()
    self.refresh = store.get("refresh")
    self.temp = store.get("last_value", 0)
    self.ticks = 0
  end

  def on_body(body, status)
    if status != 200 || body == nil return end

    var m = re.search("([-0-9.]+)", body)
    if m != nil
      var v = num(m[0])
      if v != nil
        self.temp = round(v < 0 ? 0 : v)
        store.set("last_value", self.temp)
      end
    end
  end

  def loop()
    if self.ticks <= 0
      self.ticks = self.refresh
      http.get(
        ha_config.url + "/api/states/sensor.temperature",
        / b, st -> self.on_body(b, st),
        {
          "headers": { "Authorization": "Bearer " + ha_config.token },
          "find": "\"state\":\"" ,
          "keep": 32
        }
      )
    end

    self.ticks -= 1
  end

  def draw()
    clear()

    if !icon("6157", 0, 0)
      rect_fill(0, 0, 8, 7, 0x202020)
    end

    scroll_text(9, 6, width() - 10, str(self.temp) + " °C", 0xFFFFFF)

  end
end

return TempAussen()

:crayon:by HarryP: Zusammenführung Doppelpost (bei Änderungen oder hinzufügen von Inhalten bitte die „Bearbeitungsfunktion“ anstatt „Antworten“ zu nutzen)

Hallo, der Awtrix Entwickler hier:)

Ich denke ich muss nochmal Kleinigkeiten klarstellen

  1. Es gab in NG nie einen Appstore und wurde auch in keinem Beta video gezeigt. Unter flows.blueforcer.de können user scripts und automationen teilen. Mehr gabs nicht.

  2. scripts sind absolut nicht notwendig, wenn schon homeassistant etc läuft..

Faustregel :
Die Daten liegen bereits woanders (Home Assistant, ein Server, ein Dienst)?

Dann schickt sie an die Uhr. HA sendet den Wert einfach bei Änderung, kein Polling, kein Skript.

Die App soll autark laufen, ohne irgendetwas anderes im Netzwerk? Genau dafür sind Skripte da. z.b für diejenigen die gar kein smarthome system haben aber trotzdem ihre tiktok follower sehen wollen.

Pushed Apps funktionieren in NG exakt so wie die Custom Apps in AWTRIX 3 nur mit anderer API und mit mehr Funktionen. Alles außerhalb der Uhr, Home Assistant, Node-RED, ein Cronjob, was auch immer.. kann Inhalte direkt auf das Display schieben.

Für die Migration könnt ihr euch an die Doku wenden, auch ein auto converter ist vorhanden:

Die Ulanzi hat nur ca 80kb freien RAM für Scripts und AWTRIX NG ist nicht explizit dafür entwickelt worden , deswegen wird bei Skripts in der doku auch immer ein ESP32-S3 empfohlen. Dort hat man dann je nach Ausstattung bis zu 8MB RAM.

4 „Gefällt mir“

Schon mal vielen Dank für die neue Version. Habe schon 3 ULANZIs aktualisiert.

Habe trotz HA Spaß daran direkt Scripte zu schreiben :slight_smile:

1 „Gefällt mir“

Hallo,

ich habe Scripte für Home Assistant gemacht. Nicht alle getestet. ( Alpha ) Hier der Link dazu:

https://github.com/x1marc/ha-awtrix-ng-scripts

Viel Spaß

1 „Gefällt mir“

Danke einmal für deine Bemühung

Nur verstehe ich das nicht was die Scripts machen bringen sollen

sie exportieren dann ja von homeassitant die apps auf awtrix ng ?

Kurz erklärt: Die Skripte laufen NICHT auf der AWTRIX, sondern in Home Assistant. Es sind HA-„Skripte" (script-Entitäten), die die MQTT-Befehle der AWTRIX-NG-Firmware bequem verpacken – jeweils mit Eingabefeldern (Text, Icon, Farbe, Dauer …).

Was bringt das? Statt dir für jede Aktion das richtige MQTT-Topic und das JSON-Payload merken/bauen zu müssen, rufst du einfach ein Skript auf (z. B. „awtrix ng – new app" oder „notify") und füllst die Felder aus. HA schickt dann im Hintergrund den passenden MQTT-Befehl an die Uhr. Nutzbar aus Automationen, Dashboard-Buttons oder den Entwicklerwerkzeugen.

Beispiele: App mit Text/Icon anzeigen, Notification senden, Helligkeit setzen, Sound abspielen, Display/Overlay steuern, Balken-/Liniendiagramm anzeigen …

Unterschied „Skripte auf der AWTRIX" ↔ „HA-Skripte":

AWTRIX-Skripte (Berry): laufen direkt auf der Uhr, lokal, unabhängig von HA.
HA-Skripte (dieses Repo): laufen in Home Assistant und steuern die Uhr per MQTT von außen. HA ist die „Fernbedienung"/Datenquelle (Sensoren usw.), die Uhr ist die Anzeige.
Also nicht „Apps exportieren", sondern HA schickt Inhalte/Befehle an die Uhr – die Skripte machen das nur bequem und ohne JSON-Frickelei.

Grüße

Danke für die ausführliche Erklärung
ich habe aktuell alles über berry gemacht und da sind die resourcen schnell knapp
ich bin dabei, dass ich das überhomeassistant laufen lasse
melde mich wenns ich mal geschafft habe :slight_smile:

Danke habe ich gleich übernommen.

@Blueforcer macht es ggf. Sinn diese oder ähnliche Scripte auf deine offizielle Seite unter “Put content on the panel” zu setzen?

Ich habe meine beiden Ulanzi jetzt auch auf die neue NG Firmware umgestellt.
Ich nutze die in 2 verschiedenen Räumen um mir Daten von der PV (Produktion/Akkustand) und Temperaturen anzuzeigen.

Dafür nutze ich BluePrints.
Von “Smart Home Junkie”, ja die haben was gekostet.
Habe ich vor ca. 1,5 Jahren gemacht und es gibt Updates, auch neue die für die NG-Firmware passen.

Dadurch war die Umstellung der APP´s relativ schnell erledigt.
Bis jetzt funktioniert alles wie es soll :wink:

Na, prima, Du hast die gleiche Konfiguration wie ich, nur dass bei mir nich ein paar andere Werte mit angezeigt werden. So wie Du hab ich es auch gemacht, Firmware hat prima funktioniert, die Blueprints hab ich auf die neue Version hochgezogen, alle sumgestellt, passt… eigentlich.

Uneigentlich hab ich das Problem, dass einige Sensoren entweder gar nicht oder nur sehr kurz angezeigt werden. Ich habe den Eindruck, daß hat mit Änderungen im Sensor zu tun - wenn der Wert “zappelt”, springt die Anzeige um.

Option der sofortigen Anzeige ist im Blueprint deaktiviert, andere Einstellmöglichkriten habe ich nicht gefunden. Kennst Du das Verhalten?

Mit dem alten Setup hat es tadellos funktioniert (jeder Sensor Wert stand solange im Display wie es in der globalen App Zeit angegeben war.

Meinst du mich?

Bei mir laufen auf jeder “Uhr” 6 “gesendete” APP´s und die Uhrzeit.

Die laufen auch alle ganz sauber durch.
Hast du vielleicht in den Blueprints “aus versehen” die Zeiten geändert?
Dann überschreibt er das ja.

Moin @bjoerg , ja, Dich meinte ich :slight_smile:

Ich mache das über Helfer, vielleicht hab ich da den Denkfehler (also Anzeigen als Sensor). Du machst das irgendwie anders (App?).

Dein Screenshot war ein guter Denkanstoß ich werde mal suchen, wie ich es anders machen kann…

Danke Dir!

1 „Gefällt mir“

Der BluePrint heißt “Create Sensor APP”


Der Toggle-Helper schaltet das senden der Daten ein und aus.
Wenn ich nicht im Büro bin, schalte ich die Uhr über die Matrix aus und auch sämtliche ToggleHelper, damit nicht im Hintergrund dauern Daten unnötig geschickt werden.

Hi @bjoerg ,

Das ist bei mir genauso, deswegen ja meine Verwunderung.

Zumal alle anderen Apps funktioniert haben bzw. Das ganze Setup komplett mit der alten Firmware 1a funktioniert hat.

Aber jetzt habe ich zwei Dinge gefunden:

  1. Sensort Namen sind auf 32 Zeichen begrenzt - die sind schnell verbraucht und verhindern eine Unterscheidung, wenn die Namen länger sind und sich nur am abgeschnittenen Ende unterscheiden
  2. One app per sensor. Two automations pointing at the same sensor will fight over the same app (laut Anleitung SmartHomeJunkie)

Habe jetzt die betroffenen Sensoren in einen Helper kopiert, damit geht es.

Viele Grüße!