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()
by HarryP: Zusammenführung Doppelpost (bei Änderungen oder hinzufügen von Inhalten bitte die „Bearbeitungsfunktion“ anstatt „Antworten“ zu nutzen)
Ich denke ich muss nochmal Kleinigkeiten klarstellen
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.
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.
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.
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.
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
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
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.
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.
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:
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
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.