HomeStatusDisplay (ESP8266, MQTT, WS2812B)

Begonnen von Joker, 12 März 2017, 23:48:10

Vorheriges Thema - Nächstes Thema

Tobias

Schaut mal bitte ob jetzt alles passt, insbesondere der webinstaller und das wifi-handling (Connect, Abbrüchen, reconnect)
Mehr Änderungen würde ich nicht einbringen, dann gibt's die stable Version offiziell.
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

Tobias

ich habe heute den Build 21 veröffentlicht. Ich habe OTA stark überarbeitet und eine Auswahl der vorhandenen Prebuilds und Releases integriert. Aus meiner Sicht ist jetzt der web-installer als auch das OTA stabil.

Wenn keine Fehlermeldungen kommen, wird es in ein paar Tagen als "stable" veröffentlicht.

https://tobiasfaust.github.io/HomeStatusDisplay/
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

Tobias

neuer Build von heute:
* aktualisiertes OTA mit precompiled images
* ArduinoJson Library auf v7 aktualisiert
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

JudgeDredd

Hallo Tobias,

erstmal vielen Dank für Deine Arbeit mit dem Webinstaller.
Da ich aber ungern jedesmal mein Display auseinanderbauen möchte um an den USB des ESP zu gelangen, wäre es mir lieber über den integrierten Uploader das BIN draufzubügeln.

  • Hast Du das schonmal versucht und war es erfolgreich ?
  • Wenn ich über GITPOD das Project erzeuge, bekomme ich beim compile teilweise Errormeldungen
    beim ESP2866 (ist mir nicht wichtig) und beim ESP32 (das hatte ich für mein Board zuletzt verwendet)
    firmware_ESP8266  FAILED    00:00:57.993
    firmware_ESP32    FAILED    00:01:08.129
    firmware_ESP32-S2  SUCCESS  00:01:14.176
    firmware_ESP32-S3  SUCCESS  00:00:48.392
    firmware_ESP32-C3  SUCCESS  00:00:40.355

Kannst Du einschätzen, woran das liegt ?

Gruß,
JudgeDredd
Router: Eigenbau (pfSense)
FHEM: Proxmox (DELL R720) | Debian 12 (VM)

Tobias

Muss ich mir ansehen was für Fehler kommen, ich habe auch die OTA Library komplett neu gebaut sodass ota jetzt auch mit prebuilds aus dem github funktioniert.
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

Tobias

habe einen Fix jetzt im Repo.
Sowohl der Webinstaller also auch OTA sollte funktionieren.
Der Webinstaller ist nur für das erstmalige flashen zuständig. Danach kannst du über OTA die fertigen prebuilds oder auch ein custom file laden.
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

Tobias

ich habe jetzt die erste stable version (build 29) released.

Alles wie immer gibt es hier: https://tobiasfaust.github.io/HomeStatusDisplay/
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

JudgeDredd

Hallo Tobias,

vielen Dank, der Compile auf Gidpod läuft jetzt ohne Fehler durch.
Allerdings sind die Bufferwerte für den ESP32 identisch mit dem für den ESP8266.
Da könnte man aus meiner Sicht doch etwas "großzügiger" sein.
Für 100 Definitionen gleich viel Speicher wie für 50 anzusetzen, verlangt ja auch sehr kurze Device/Color-Namen

Alleine für mein Vorhaben benötige ich folgende Werte:
MAX_SIZE_COLOR_MAPPING_CONFIG_FILE = 2400
JSON_BUFFER_COLOR_MAPPING_CONFIG_FILE = 6100
MAX_SIZE_DEVICE_MAPPING_CONFIG_FILE = 5350
JSON_BUFFER_DEVICE_MAPPING_CONFIG_FILE = 11500

Wäre es denkbar, die Sourcen noch etwas anzupassen ?

Gruß,
JudgeDredd
Router: Eigenbau (pfSense)
FHEM: Proxmox (DELL R720) | Debian 12 (VM)

Tobias

Probier mal bitte den neuen Build 30.

Eigentlich müsste das ganze Projekt auf die Vorteile von ArduinoJson7 umgebaut werden. Da sind BufferSizes nicht mehr so wichtig wenn man a) die Jsons auf Arrays umbaut, b) die Jsons anschließend im Stream einließt und c) die grosse DeviceConfig nicht im Speicher hält
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

JudgeDredd

Hallo Tobias,

mit dem Build 30 startet der ESP leider überhaupt nicht mehr.

Beim stable (Buil 29) besteht halt das Problem, das er nach dem Reboot das Devicemapping verliert.
Es ist auch recht mühselig jedesmal 80 Mappings reinzuklöppeln um dann festzustellen, das diese den reboot nicht überleben.

Ebenso frage ich mich, wie ich die WiFi Credentials ändern kann, sobald ich mich in einem lokalen Netzwerk OHNE Internet befinde ?
Wieso hast Du das denn aus dem Sketch entfernt ?

So wie das aktuell aussieht, ist es wohl besser ich bleibe vorerst bei meiner eigenen angepassten Version.

Gruß,
Andreas
Router: Eigenbau (pfSense)
FHEM: Proxmox (DELL R720) | Debian 12 (VM)

Tobias

ich hatte deine Buffergrößen grosszügig aufgerundet, war leider zuviel.
Bei mir startet der ESp jetzt im neuen Build 31.
Probier bitte nochmal.

Nach einem Reboot verliert der ESP eigentlich nicht seine Daten, hast du auch am Ende explizit gespeichert?

Normalerweise muss der ESP nur einmalig mit Wifi Credentials bespielt werden. Bei diesem einen Mal ist eine Internetverbindung notwendig. Für den Fall das ein ESP benutzt werden soll welcher nicht durch die ImprovWifi Lib unterstützt wird, gibt es in der platformio.ini datei die Möglichkeit, die Wifi Zugangsdaten hart einzutragen
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

JudgeDredd

Zitat von: Tobias am 19 Januar 2025, 14:52:52Probier bitte nochmal.
Also so wie es ausschaut funktioniert es jetzt.
Langsam kann ich meine 80 Mappings auswendig  ;)
Zitat von: Tobias am 19 Januar 2025, 14:52:52Nach einem Reboot verliert der ESP eigentlich nicht seine Daten, hast du auch am Ende explizit gespeichert?
ok, verlieren war vermutlich falsch formuliert, aber wenn der Buffer nicht goß genug ist, dann kann er die gespeicherte Datei aus dem SPIFFS Filesystem nicht mehr einlesen und die Mappings sind verloren.

Wenn Du das Projekt gerne weiterentwickelst, wäre es evtl. noch ein Highlight ein Backup/Restore der Mappings/Config einzubauen :D
Zitat von: Tobias am 19 Januar 2025, 14:52:52Normalerweise muss der ESP nur einmalig mit Wifi Credentials bespielt werden. Bei diesem einen Mal ist eine Internetverbindung notwendig
Ja, das ist mir schon klar, aber dann verliert man eben die Möglichkeit den ESP aus einem nicht mit dem Internet verbundenen Netzwerk wieder umzuziehen.
Aber es ist ja auch Dein Projekt und Du bist der Chef ;)
Router: Eigenbau (pfSense)
FHEM: Proxmox (DELL R720) | Debian 12 (VM)