tronferno-mcu

Tronferno FAQ Liste

Fehlfunktionen, Bugs, Neustarts

Wie einen Bug melden Wenn der Bug seit mehr als einer Beta-Version vorhanden ist, dann ist er wohl noch unentdeckt.
Informationen in dieser Doku sind falsch oder veraltet Das aktuell halten erwies sich als schwierig bis unmöglich. Auch aus diesem Grund ist die Doku jetzt haupstsächlich in den Mauszeiger-Tooltips der Webapp zu finden. Überschdriften in Tabs erklären ausführlich die Funktion dieses Tabs. Der Fokus der Dokumentation hier liegt auf das flashen und die Netzwerkverbindung. Alles weiter führende sind nur noch ergänzende Informationen. Das erkunden der Weboberfläche und lesen der Sprechblasen ist der beste Weg alle Funktionen zu lernen. Manches ist leider noch nicht vollständig dokumentiert oder nur in Englisch.
Das OTA Update schlägt immer fehl Dies kam schon einige Male vor. Erklärungen dazu finden sich in den Issues im tronferno-mcu-bin repository auf GitHub. Lösung ist der Download der neuesten Firmware-Version und das flashen über USB. Hinterher funktioniert OTA wieder. FHEM User können auch ein Update über das TronfernoMCU Modul versuchen, dazu muss die MCU dort über ein USB Gerät verbunden sein, nicht über eine IP Adresse. Hinweis: Wenn das manuelle flashen irgendwie klemmnt, dann bitte solange versuchen bis es klappt. Das Löschen des Flash-Speichers hilft nicht bei diesem Problem. Es kann am Treiber liegen oder man muss die Boot-Taste drücken oder eventuell einen Kondensator nachrüsten. Manche Boards erlauben das erstmalige Flashen ohne den Kondensator, aber weitere Versuche funktionieren nur noch selten. Ein Skript was das flashen in einer Schleife solange probiert, bis es klappt, kann als Notlösung auch helfen.
Der ESP32 crasht beim Booten und startet mehrfach neu Falls es kein Bug in der installierten Firmware ist, könnten Datenmüll im Flash-Speicher der Grund sein. Hier ließ sich das beheben durch ein komplettes Löschen und Neuflashen des Chips. Ein Backkup fast aller Daten über die Webapp ist möglich. Eigentlich sollte das nicht passieren. Ursache war hier das rüberflashen unterschiedlicher Firmwareversionen mit unterschiedlich großen Partitionen.
Der ESP32 friert ein
Ich kann einen Sonnensensor nicht anmelden und er taucht nicht im Empfänger-Log auf wenn ich eine der Tasten drücke. Vielleicht reicht die Sendeleistung nicht aus, da der Sensor aufgrund zu wenig Sonne noch nicht ausreichend aufgeladen wurde. Er kann zum Anmelden mit einer Lampe geladen werde, und/oder näher an den Empfänger gebracht werden.
Die internen Timer bewirken keine Veränderung bei der Positionsanzeige. Warum? Die internen Timer müssen über TronfernoMCU programmiert worden sein, nicht die originale 2411. Es gibt keine Möglichkeit an die in der 2411 und den Motoren gespeicherten Timer-Daten zu gelangen. Ebenso ist es unmöglich Positionsänderung aufgrund des internen Zufalls-Timer anzuzeigen.

Bedienung, Einstellungen

Wie sichere ich die Einstellungen oder übertrage diese auf einen anderen Mikrocontroller?

Der (noch experimentelle aber funktionierende) Backup-Tab in der WebApp erlaubt Sichern und Wiederherstellen der Einstellungen (mit Ausnahme aller geheimen Passwörter). Die Sicherungs-Datei muss zunächst erstellt werden (Create Snapshot). Sie befindet sich dann im Dateisystem der MCU. Sie kann nun im Browser geöffnet und angezeigt werden und dann extern abgespeichert werden. Das Dateiformat ist JSON.

Das Wiederherstellen erfolgt ebenfalls über den Backup-Tab der WebApp. Dazu eine Sicherungsdatei in den TextBereich kopieren, oder per Click auf den entsprechenden Button dort öffnen. Vor dem eigentlichen Wiederherstellen noch auswählen welche Daten aus der Datei wiederhergestellt werden sollen. Das Wiederherstellen der Netzwerkverbindungs-Daten würde man bei der Konfiguration einem neuen ESP32 aktivieren, der noch als WIFI-Accesspoint arbeitet. Das WIFI-Passwort wird dabei leider nicht wiederhergestellt und muss in den Netzwerkeinstellungen manuell gesetzt werden. Ebenso das MQTT-Passwort.

Eine andere, generelle Möglichkeit beim ESP32 ist, den Flash-ROM des ESP32 auszulesen und abzuspeichern. Dazu verwendet man das esptool (esptool, esptool.py oder esptool.exe), welches auch Teil der Binärdistribution von Tronferno ist.

Auslesen des gesamten Flash-ROMs: esptool.py -p PORT -b 460800 read_flash 0 ALL flash_contents.bin Für PORT den entsprechenden COM-Port verwenden, an dem der ESP32 angeschlossen ist. Wiederherstellung dann mit der write_flash Option des esptool.

Es könnte Sinn machen, die Datei partitions.csv ebenfalls zu sichern. So ließen sich einzelne Partitionen aus der flash_contents.bin Datei extrahieren und einzeln wiederherstellen. Das Wiederherstellen der Partitionen nvs und spiffs würde auch alle Einstellungen wiederherstellen aber die aktuelle Firmware-Version beibehalten.

Wie konfiguriere ich den Repeater/Funksignalverstärker? Der Repeater benötigt eine Senderliste ("White-List") von Funksender-ID die er verstärken soll. Steht ein Funksender nicht auf der Senderliste wird er ignoriert. Soll z.B. ein Sonnensensor mit der ID 201234 repeatet werden, muss diese ID in die Senderliste eingetragen werden. Wird nun ein Kommando empfangen was von diesem Sonnensensor gesendet wurde, dann wird eine exakte Kopie dieses Kommando unmittelbar darauf vom am Tronferno angeschlossenen Sender erneut ausgesendet. Gibt es mehrere Repeater, dann darf ein Sender nicht bei mehreren Repeatern auf der Senderliste stehen, sondern nur bei genau einem.
Welche minimale Konfiguration benötigt ein Tronferno der ausschließlich als Repeater verwendet werden soll? Wenn ein eigenständiger Repeater benötigt wird, dann beschränkt sich die Konfiguration auf:
Welche GPIOs muss ich in der Konfiguration einstellen? In der Regel können relativ beliebige GPIOs in der Schaltung angeschlossen und entsprechend in der Konfiguration zugewiesen werden, solange diese vom verwendeten ESP32-Board nicht anderweitig beansprucht werden (z.B. von einem Ethernet Baustein auf dem Board).
Wie melde ich Handsender und Sonnensensoren in TronfernoMCU an? Die Sonnensoren kann man unter Zahnrad->Sender->Anmelden einscannen. Dort den Anmelden Knopf drücken. Zahnrad ist sichtbar für Administrator oder höher. Antwort: In Weboberfläche den Tab Zahnrad->Sender->Anmelden öffnen. Dort den Anmelden Knopf drücken. Nun auf dem Handsender STOP oder auf dem Sonnensensor: "SO POS INST" drücken. Das Gerät erscheint als ID in der Liste "All". Im darunter befindlichen Häkchen-Feld alle Empfänger auswählen welche dieser Sender bewegt (bei denen er mittels SET angemeldet wurde).
Wie stelle ich die Endpunkte ein?

Funktionen

Warum macht die Dämmerungs-Funktion den Rollladen zu wenn es noch zu hell oder bereits zu dunkel ist? Wie hilft die Option Astro-Korrektur? Die Astro/Dämmerungs-Funktion verwendet eine Tabelle für ein Halbjahr und der Motor spiegelt diese intern für das andere Halbjahr. Leider passen diese Halbjahre nicht exakt zusammen. Es wird immer Tage geben mit falschen Zeiten. Man kann durch die Korrektur die Halbjahrs-Tabelle modifizieren, dass Zeiten gewählt werden die für beide Halbjahre einigermaßen passen. Entweder eine Zeit die zwischen beiden realen Zeiten liegt, oder eine Zeit die in beiden Halbjahren entweder niemals vor/nach Dämmerung ist. Die korrigierte Tabelle muss dann zu dem betreffenden Rollladen übertragen werden um wirksam zu sein. Die Vorhersage der Dämmerung in der Weboberfläche benutzt immer die aktuell voreingestellte Korrektur und die daraus erzeugte Tabelle. Wenn die im Rollladen gespeicherte Tabelle eine andere ist, dann werden die Vorhersage-Zeiten nicht damit übereinstimmen.
Wozu können Handsender und Sonnensensoren in TronfernoMCU angemeldet und gespeichert werden? Der Sinn dabei ist, die aktuelle Position eines Rollladen bestmöglich zu verfolgen. Leider gibt es mit Fernotron keine Möglichkeit einfach den Motor zu fragen welche Position er gerade hat. Also muss diese, soweit möglich, aus den Funk- und Timer-Daten ermittelt werden.
Kann ein TronfernoMCU gleichzeitig Programmierzentrale und Repeater sein? Ja. Dieses bietet sich an, wenn der Standort von Programmierzentrale und Repeater sowieso am gleichen Ort wäre.
Kann ich zwei oder mehr Tronferno-MCU im selben Haus verwenden Das ist möglich, aber sie werden nicht zusammenarbeiten sondern sind unabhängig voneinander. Gründe für mehrere TronfernoMCUs: