Statusanzeige/Uhr AWTRIX 2.0 by blueforcer - LaMetric Alternative

  • So Leute, wie in einem Beitrag hier im Forum schon angekündigt, wollte ich nach Fertigstellung kurz mal eine Mini-Vorstellung zum Projekt AWTRIX geben.


    Dabei handelt es sich um eine Smarte Uhr a la LaMetric auf Basis eines Wemos D1 Mini + LED-Matrix 8x32 und einem Server, in meinem Fall einem Raspberry Pi Zero W, welches euch verschiedene Dinge anzeigen lassen kann. Für den Hardware-Aufbau habe ich mir im Shop gleich die fertige PCB gekauft, sodass alles sauber aussieht nach dem Verlöten. Man kann aber natürlich auch einfach alles auf einer Lochrasterplatine auflöten. Die dahinterliegende Software für die AWTRIX ist eine JAVA Applikation.


    Es gibt verschiedene Apps, die man dauerhaft abwechselnd laufen lassen kann, wie zum Beispiel: Uhrzeit, Datum, Spotify Anzeige, Wetter, Animationen und vieles mehr. Ich hänge noch ein kurzes Demo-Video hier an, bei dem eine Animation (Tetris), die Uhr, das Datum und das Wetter (openweathermap) angezeigt wird.


    Was zusätzlich halt mega cool ist und weshalb ich euch das Projekt hier überhaupt zeigen möchte ist, dass es eine Api auf Rest-Basis und mqtt gibt. So hat man die Möglichkeit bestimmte Dinge, zum Beispiel durch Automationen ausgelöst, an die AWTRIX zu senden und anzeigen zu lassen. Ein Beispiel hierfür wäre, wenn die Waschmaschine fertig ist, wird ein Waschmaschine Logo angezeigt und ein beliebiger Text "Waschmaschine fertig" oder ein Logo für Post, wenn die Post da war. Es gibt bereits sehr viele fertige Icons, die man hierfür verwenden kann. Und sollte mal kein passendes vorhanden sein, so kann man die mit der zugehörigen APP im Appstore selber zeichnen und für alle verfügbar machen.


    Die Dokumentation hierzu, inklusive Einkaufsliste, Aufbauanleitung und 3D-Drucker Vorlage für das Gehäuse findet ihr hier:

    https://docs.blueforcer.de/#/v2/


    Hier kann man sich viele verschiedene fertig gebaute AWTRIXen ansehen:

    https://forum.blueforcer.de/d/22-show-your-awtrix


    Bei Problemen wird einem auch ziemlich schnell geholfen. AWTRIX ist zwar offiziell noch im Beta-Stadium, aber schon jetzt läuft es eigentlich 1A. Lediglich die Dokumentation ist an einigen Stellen etwas veraltet, weshalb ich zum Beispiel das ein oder andere Mal im Forum nachfragen musste. Das will der Erfinder alles noch nachholen. Zudem gibt es eine Facebook-Gruppe, in der auch die neusten Apps vorgestellt werden und wo einem zusätzlich geholfen werden kann.


    Meine anfänglichen Probleme:

    Ich hatte Probleme, den Server (Raspberry Pi) seriell mit dem Controller der LED-Matrix (Wemos D1 Mini) zu verbinden, da hier immer mein Raspberry abgeschmiert ist. Das habe ich auch nicht hinbekommen, obwohl auch das funktionieren sollte. Also bin ich erstmal umgestiegen und habe die Verbindung mittels Wifi gelöst, was auch auf Anhieb funktioniert hat. Hier hatte ich aber das Problem, dass bei Animationen (Tetris, Matrix...) ein Stottern zu erkennen war. Dies sollte meinem Wlan und der Leistung des Raspberry Pi Zero W geschuldet sein, weshalb ich mir ein Mikro-USB zu Mikro-USB Kabel besorgt habe und die Verbindung auf diese Weise umgesetzt habe. Stotternde Animation gehören nun der Vergangenheit an und ich erfreu mich bei jeder Animation, die abgespielt wird. Siehe hierzu auch das angehängte Video.


    Wer also Lust am Basteln hat und sich das zutraut, kann sich im Nachhinein über eine richtig coole Retro-Uhr mit smarten Funktionen erfreuen, die in der Summe auch viel günstiger ist, als eine LaMetric.


    Wenn ihr Fragen dazu habt, könnt ihr mir die gerne stellen oder auch einfach im Forum https://forum.blueforcer.de/ vor Ort nachfragen.


    Hinweis: Das Projekt ist NICHT von mir. Ich wollte es euch nur nicht vorenthalten. Ich will mich nicht mit fremden Federn schmücken.


  • Leute ich habe mal eine Frage.


    Wenn ich über das Terminal am Mac folgenden Befehl ausführe, dann erscheint an meiner Awtrix mein gewünschtes Waschmaschinen Icon und der Text "Waschmaschine fertig" in Laufschrift.


    Code
    1. curl -XPOST -H "Content-type: application/json" -d '{"name":"test","force":false,"icon":481,"text":"Waschmaschine Fertig","color":[51,204,51]}' 'http://192.168.178.40:7000/api/v3/notify'


    Versuche ich das allerdings über das iPhone und dort als Kurzbefehl mit "Inhalt aus URL abrufen" und den entsprechenden Parametern funktioniert es leider nicht. Hintergrund ist der, dass ich natürlich die ganzen Ausgaben über Automationen steuern möchte.


    Alternativ gäbe es auch die Möglichkeit bei Awtrix mqtt zu nutzen. Hierzu müsste ich dann wohl mosquitto nachinstallieren und damit rumspielen.

    Es müsste doch aber irgendwie auch so gehen oder nicht?


    sschuste Hast du vielleicht eine Idee?

  • Puh. Mit Kurzbefehlen kenn ich mich gar nicht aus. Ich verstehe das Zeugs nicht mal richtig. Ich steuere meine Lametric über Node Red.


    Das Setup von mosquitto ist einfach: installieren mit sudo apt-get install mosquitto und schon fertig.

  • Es lag daran, dass ich das Array für die Farbe als String übergeben habe. Hier lag der Hund begraben. Jetzt mit Übergabe als Array funktioniert es wie es soll. Jetzt weiß ich nur noch nicht mit welchem Plugin ich das am Besten abbilden kann.


    Bisher habe ich das http-webhooks im Einsatz, aber damit wird das ja glaube nicht gehen

  • Jetzt weiß ich nur noch nicht mit welchem Plugin ich das am Besten abbilden kann.

    Was genau abbilden?

  • Was genau abbilden?

    Code
    1. curl -XPOST -H "Content-type: application/json" -d '{"name":"test","force":false,"icon":481,"text":"Waschmaschine Fertig","color":[51,204,51]}' 'http://192.168.178.40:7000/api/v3/notify'

    Das dieser Befehl abgesetzt wird. Habe mir jetzt alternativ zu dem http-webhooks mal das cmdtrigger Plugin installiert mit dem Curls ja funktionieren sollten, aber der meckert da auch, dass die Zeichen nicht valide sind

  • Wahrscheinlich musst du es so schreiben:


    "curl -XPOST -H \"Content-type: application/json\" -d '{\"name\":\"test\",\"force\":false,\"icon\":481,\"text\":\"Waschmaschine Fertig\",\"color\":[51,204,51]}' 'http://192.168.178.40:7000/api/v3/notify'

  • Das weiß ich nicht, nehme es aber an. Wenn du eine Konfiguration machst, die in Anführungszeichen steht, musst du ein bisschen aufpassen.


    Der String Der Hund sagt nix würde in Anführungszeichen so aussehen: "Der Hund sagt nix". Der String Der Hund sagt nix außer "wuff" würde dann so aussehen: "Der Hund sagt nix außer "wuff"".


    Das geht nicht. Strings werden in Anführungszeichen eingeschlossen. Im zweiten Beispiel gehen die Anführungszeichen dann vor dem Der auf und nach außer+Leerzeichen wieder zu. Übrig und in der Luft hängend bleibt wuff"". Damit kann der Rechner nicht umgehen und beschwert sich. Man muss also mit Strings, die Anführungszeichen enthalten, anders umgehen.


    Entweder: 'Der Hund sagt nix außer "wuff"'

    Oder: "Der Hund sagt nix außer \"wuff\""


    Die Backslashes (\) zu benutzen, nennt man "maskieren". In diesem Fall werden die Anführungszeichen maskiert. Der Backslash wird dabei vor jedes Anführungszeichen gesetzt, das innerhalb des Strings steht. Das geht auch mit anderen Zeichen.


    Stefan