NEWS
ESP Matrix Anzeige fully IoBroker steuerbar
-
@joergeli said in ESP Matrix Anzeige fully IoBroker steuerbar:
Was jetzt am Einfachsten ist, Esphome, Tasmota, oder "zu Fuß" - wie ich es mache - ist schwer zu sagen,
Also für "zu Fuß" braucht man schon Programmierkenntnisse und muss selber kompilieren, wahrscheinlich schon mal nicht das "einfachste".
Ich würde aber auch nicht bei "wie bekomme ich das am einfachsten drauf" aufhören sondern konsequent auch weiter fragen "wie halte ich das am einfachsten auf dem aktuellsten Stand"
Als nächstes stellt sich natürlich auch die Frage nach Skalierbarkeit und Aufwand, (Lebens)zeit ist leider limitiert. -
@rushmed said in ESP Matrix Anzeige fully IoBroker steuerbar:
Kommt halt auf den Wissensstand des Einzelnen an.
Das ist zirmlich relativ. Wenn jemand was lernen will, kann er/sie/es/ das auch. Wer nicht will halt nicht.
Wer noch nie mit Arduino, Tasmota oder Esphome gearbeitet hat wird sich zwangsläufig erst Wissen aneignen müssen um damit klar zu kommen. Der Lernerfolg ist natürlich individuell unterschiedlich, aber sowohl Tasmota wie auch esphome haben ausgezeichnete Dokumentation und machen den Einstieg wirklich denkbar einfach.
Wenn man nur ein paar Gerätschaften hat ist man vielleicht schneller mit Tasmota am Ziel, sobald man einen kleinen oder großen "Fuhrpark" managen will gibt es aktuell keine mir bekannte ebenbürtige alternative zu esphome.
-
Hallo zusammen,
vielen Dank für die Antworten.
@joergeli Wie gesagt, die DOT Matrix sind noch auf dem Weg zu mir, deshalb kann ich auch nichts testen. Die bestellten Teile werde ich auch um 1 kürzen, es passen ja nur 15 ins Gehäuse. Ich hatte bei deiner INO schon alle IP-Adressen angepaßt. Aber dann wollte ich das JS anpassen und hab damit wieder aufgehört . Bin aber nicht grundsätzlich lernunwillig.Ich tendiere tatsächlich eher zu TASMOTA, da ich da schon genügend Geräte habe. @Rushmed , deine tasmota-display2.bin könnte ich da gleich nehmen? Oder doch lieber selber kompilieren? Wow, da hat sich bei Gitpod ja echt viel getan, seit ich die Onlinefunktion das letzte mal benutzt habe. Bzw., ich sehe gerade es gibt eine xdsp_19_max7219_matrix.ino. Wenn ich jetzt die user_config_override.h mit meinen Daten anpasse, ist da diese ino gleich in der entstehenden *.bin mit drin? Oder muß ich da noch was beachten?
@OpenSourceNomad Mit ESPHome werde ich mich vielleicht auch irgendwann mal beschäftigen, aber hier bei diesem Projekt würde ich mich schon einfach freuen, wenn ich es ans laufen bekomme.
Aber hat alles noch ein wenig Zeit, zumindest bis die restlichen Teile da sind.
Schönen Abend noch.
-
@1topf sagte in ESP Matrix Anzeige fully IoBroker steuerbar:
Bzw., ich sehe gerade es gibt eine xdsp_19_max7219_matrix.ino. Wenn ich jetzt die user_config_override.h mit meinen Daten anpasse, ist da diese ino gleich in der entstehenden *.bin mit drin? Oder muß ich da noch was beachten?
Ja, die musst du einbauen und das wars.
-
@1topf said in ESP Matrix Anzeige fully IoBroker steuerbar:
ich sehe gerade es gibt eine xdsp_19_max7219_matrix.ino. Wenn ich jetzt die user_config_override.h mit meinen Daten anpasse, ist da diese ino gleich in der entstehenden *.bin mit drin?
Das hier würde ich übrigens schon zur höchst möglichen Komplexität zählen da hier schon selber kompiliert wird (sprich das Gegenteil was man Neueinsteigern empfehlen würde).
Esphome erlaubt meines wissens gar nicht "selber"/manuell zu kompilieren (u.a. genau dafür ist ja esphome zuständig). Einzige Aufgabe des Anwenders ist esphome eine yaml zu " übergeben", dieser "no code" approach ist wahrscheinlich der beste Ansatz für ein so umfangreiches Projekt wie esphome.
-
Ich hab schon viele Geräte mit Tasmota geflasht, es ist mir zumindest im Grunde vertraut. Der Vorteil ist hier, daß man den Geräten gleich vorm flashen z.B. feste IP-Adressen zuweisen kann. Das müßte man sonst später über Konsole machen. Ebenso hab ich Zeitzone und Sprache eingestellt. War für mich eine recht einfache Methode, so gleich mehrere Geräte "erstellen" zu können (man mußte nur die user_config anpassen) und die entstehenden BIN-Dateien zu flashen bzw. auf Vorrat zu speichern. Mehr hab ich allerdings auch nicht gemacht, da bin ich dann eher der Endanwender als der Entwickler. Tasmota hat also eine mir vertraute Umgebung, und wenn ich damit ans Ziel komme, ist es mir erst einmal lieber. Danach kann ich mich immer noch mit anderen Möglichkeiten beschäftigen, die auch zum Ziel führen.
-
Hallo, ich habs noch nicht getestet aber lt. Changelog vom neuen Tasmotarelease v11.0.0 Olivia ist der Matrix Treiber jetzt schon enthalten.
-
@rushmed
Wie meinst du das?
War doch schon drin. (Display Version) -
@wolfi Nein, nicht die Unterstützung der Matrix. Vorher wurden doch nur 7Segmentanzeigen supportet.
Die Frage ist jetzt ob die Matritzen direkt mit der Display bin funzen oder ob man immernoch den Treiber reinkompilieren muss.
Habs vorhin erfolglos getestet.
-
Ich hab immer noch keine Hardware, dafür aber Corona . Hab jetzt schon Post Covid ...
-
@1topf Meine Quarantäne war sehr produktiv, jetzt stehen hier überall Marixdisplays rum
-
Du Glücklicher. Meine Frau hat mich weggesperrt und schiebt mir das Essen unter der Tür durch.
-
@1topf said in ESP Matrix Anzeige fully IoBroker steuerbar:
Der Vorteil ist hier, daß man den Geräten gleich vorm flashen z.B. feste IP-Adressen zuweisen kann
Das ist übrigens genau das Vorgehen von esphome, alles wird fix in die binary eingebrannt.
später über Konsole machen
Konsole mit kryptischen Befehlen oder eine verschachtelte web ui zur konfigurierung gibt es bei esphome glücklicherweise gar nicht.
die entstehenden BIN-Dateien zu flashen bzw. auf Vorrat zu speichern.
Bei esphome ist selbst das total unnötig. Es erstellt dir nicht nur die binaries für jedes Gerät sondern flasht das ganze auch ota oder serial
Danach kann ich mich immer noch mit anderen Möglichkeiten beschäftigen, die auch zum Ziel führen.
Für mich ist schlicht auch der Faktor Zeit ein großes Thema, ich kann nicht immer 10 Minuten zur Einrichtung eines Gerät verbraten. Wer mehr als 5 esp's aktuell halten will und noch nicht in Rente ist, für den führt meiner Meinung nach aktuell kein weg an esphome vorbei.
-
So, meine Quarantäne ist nun vorbei und in einen gelben Erholungsschein übergegangen . Die Teile aus China sind mittlerweile auch eingetroffen und stellen mich vor ein unerwartetes Hardwareproblem: sie sind viel kleiner als die, die ich ersetzen will
und sind auch anders beschalten, sprich eine 1 zu 1 - Belegung der Pins führt zu einer anderen Anzeige. Das ist schlecht ... . Ich arbeite jetzt erstmal mit den chinesischen Teilen.
Egal. Nun wieder zum Thema. Ich habe den Wemos mit selbst kompiliertem Tasmota (komplett plus Display) bespielt und z.B. mit DisplayClock 2 wird auch brav die Uhrzeit angezeigt. Jetzt brauch ich Hilfe, wie schicke ich Daten aus ioBroker an den Wemos. @rushmed, Du hast mich auf Tasmota gebracht, jetzt erklär mal .
Ansonsten müßte ich mich doch mal mit der "zu Fuß"-Methode von @joergeli beschäftigen. Aber Tasmota wäre mir schon lieber, da könnte ich eventuell noch einen Temp.fühler o.ä. an den Wemos hängen, ohne das großartig programmieren zu müssen.
Viele Grüße und noch einen schönen Abend,
Andi -
Als erstes habe ich zwei Rules angelegt und aktiviert :
Rule1 ON System#Boot DO DisplayClock 2 ENDON Rule1 1 Rule2 ON Switch1#state=0 DO Backlog Power 1; Ruletimer1 30 ENDON ON Rules#Timer=1 DO Power 0 ENDON Rule2 1
Rule1 startet den Clockmode nach nem Neustart, Rule2 schaltet bei Aktivierung des angeschlossenen PIR ein und nach 30 s wieder aus.
Für den PIR ist noch:Switchmode1 1
notwendig.
Da du die Uhr schon angezeigt bekommst nehme ich an, dass du die korrekten Displayabmessungen schon gesetzt hast.
Hier noch ein paar Konsolenbefehle:
Now, the following "Display" commands can be used: DisplayText text Sends the text to the display. If the text fits into the display, it is shown in the center. Otherwise it scrolls to the left and repeats as long it is cleared or new "DisplayText" overwrites it. DisplayDimmer [0..100] Sets the intensity of the display. DisplayBlinkrate [0..3] 0: not blinking 1: slow, 2: medium 3: fast blinking Power [ON|OFF] Sitches the display on or off. When "off", the display buffer is not cleared and will be shown again when after "Power ON". Other display commands are still active when off. DisplayClear Clears the display DisplayScrollDelay [0..15] // default = 0 Sets the speed of text scroll. Smaller delay = faster scrolling. The maximum scroll speed is 50ms per pixel on DisplayScrollDelay 0. DisplayWidth [8..256] Sets the pixel width of the display (8x number of modules in a row) DisplayHeight [8..256] Sets the pixel height of the display (8x number of module rows) DisplayRotate [0|2] 0: normal orientation; devide 0 starts at top left 2: upside down; device 0 starts at bottom right DisplayClock [0|1|2] Displays a clock. Commands "DisplayClock 1" // 12 hr format "DisplayClock 2" // 24 hr format "DisplayClock 0" // turn off clock; please use additional cammand: DisplayMode 0
Die kanns du bspw. per MQTT, Sonoff Adapter oder HTTP senden.
Ich bevorzuge den Sonoff Adapter. -
@rushmed sagte in ESP Matrix Anzeige fully IoBroker steuerbar:
Die kanns du bspw. per MQTT, Sonoff Adapter oder HTTP senden.
Ich bevorzuge den Sonoff Adapter.Das mußt Du mir mal erklären. Wie sendet man etwas mit dem Sonoff Adapter? Also, beispielsweise habe ich einen Sonoff TH10 @ Tasmota zur Temp.anzeige meines Wasserkessels. Wie sende ich jetzt den Temp.wert an den Wemos, damit die Matrixanz. mir das anzeigt?
@joergeli Ich hab mir heute nochmal deine ioBroker_Laufschrift.ino gezogen. ArduinoIDE meint aber beim kompilieren call to 'HTTPClient::begin' declared with attribute error: obsolete API, use ::begin(WiFiClient, url).
String loadDataFromURL() { if (WiFi.status() == WL_CONNECTED) { HTTPClient http; http.setTimeout(3000); Serial.println("getState url: " + String(url)); http.begin(url); int httpCode = http.GET(); String payload = "error"; if (httpCode > 0) { payload = http.getString(); } if (httpCode != 200) { Serial.println("HTTP " + String(url) + " fail"); payload = " HTTP Error "; } http.end();
Es bleibt bei http.begin(url); hängen. Muß da was eingetragen werden? Ich hab auch schon lange nicht mehr mit ArduinoIDE gearbeitet, weiß aber noch, daß die recht empfindlich war was die Bibliotheken angeht. Es sollte alles auf aktuellstem Stand sein, was aber wiederum auch manchmal zu Problemen geführt hat. Teufelskreis.
Andi
-
@1topf sagte in ESP Matrix Anzeige fully IoBroker steuerbar:
obsolete API
Hallo Andi,
ich habe gerade eben noch mal eine neuere Version meines Sketches hochgeladen, der den alten Sketch ersetzt.
Es wurde die NTP-Routine zum Holen der Uhrzeit kpl. ersetzt, da es mit der alten Routine Probleme mit der Sommerzeitumstellung gab.
Außerdem wurde noch die bounce2-library implementiert, die zum Entprellen des Effekt-Buttons dient.
Habe den Sketch gerade eben noch mal erfolgreich mit der Arduino-IDE 1.8.10 kompiliert.Zu Deinem Problem mit "obsolete API":
Kann schon sein, daß es da Diskrepanzen mit den libraries gibt?
Schau vielleicht mal hier:
stackoverflow.comGruß
JörgP.S.
Komisch ist, daß bei mir das Kompilieren erfolgreich durchläuftHier wird auch noch was dazu geschrieben:
forum.arduino.cc -
@1topf sagte in ESP Matrix Anzeige fully IoBroker steuerbar:
Das mußt Du mir mal erklären. Wie sendet man etwas mit dem Sonoff Adapter? Also, beispielsweise habe ich einen Sonoff TH10 @ Tasmota zur Temp.anzeige meines Wasserkessels. Wie sende ich jetzt den Temp.wert an den Wemos, damit die Matrixanz. mir das anzeigt?
In den Sonoff Adaptereinstellungen
den Haken setzen.Dann einmal in der Webinterface Konsole von Tasmota
Displaymode 0 DisplayText Test
eingeben.
Dann sollte bei dem Sonoffgerät die entsprechenden DP erscheinen.
-
@joergeli sagte in ESP Matrix Anzeige fully IoBroker steuerbar:
Habe den Sketch gerade eben noch mal erfolgreich mit der Arduino-IDE 1.8.10 kompiliert.
OK, ist schon etwas älter, ich hab die 1.8.19. Habe mir jetzt die 10 gesaugt und probiere das morgen mal damit.
-
@rushmed sagte in ESP Matrix Anzeige fully IoBroker steuerbar:
Dann sollte bei dem Sonoffgerät die entsprechenden DP erscheinen.
Also. Ich habe es jetzt mal mit einem Blockly versucht anzusteuern, aber das funzt nur bedingt.
In meinem jugendlichen Leichtsinn hab ich mir das wohl zu einfach vorgestellt. So wie auf dem Bild geht es schon mal nicht . Wenn ich aber TempHeizung alive durch z.B. einen Zigbeetaster ersetze und ist wahr in z.B. wurde aktualisiert ändere und den Taster drücke, dann zeigt mir die Matrix den Temperaturwert an. Da müßte ich wohl mal einen Blocklykenner löchern.
Für heute ist schluß.