Anleitung: Maxxair MaxxFan Deluxe Wifi Controller für VanPi

Hallo Zusammen,

nachdem es hier im Forum immer wieder Fragen bezüglich der Einbindung des MaxxFan Deckenventilator gibt, möchte ich hier meine Implementierung mit euch teilen.

Hardware

Für den Versuchsaufbau benötigt ihr:

Verkabelung

Verbindet die LED mit D1, GND und 3,3 V auf dem Chip… Fertig

Software

Ich habe den Arduino-Code auf GitHub (GitHub - ffroehlcke/maxx-wifi-controller: Maxx Remote Wifi Controller) gestellt. Übertragt den Code auf den Mikrocontroller. Die Baudrate ist 9600.

Damit euer Compiler Regex unterstützt, müsst ihr ein Flag setzen:

Arduino IDE: create/update platform.local.txt
Windows: C:\Users(username)\AppData\Local\Arduino15\packages\espxxxx\hardware\espxxxx{version}\platform.local.txt
Linux: ~/.arduino15/packages/espxxxx/hardware/espxxxx/{version}/platform.local.txt

compiler.cpp.extra_flags=-DASYNCWEBSERVER_REGEX=1

Einrichtung

Nach dem Einschalten startet der Kontroller einen Access-Point mit der SSID Maxx-Wifi-Controller und den Passwort 12345678 (kann/sollte im Code geändert werden).

Verbindet euch mit diesem WLAN und ruft das Web-Interface über

Auf dieser Seite könnt ihr nun euren Ventilator steuern oder den Kontroller mit einem vorhandenen WLAN, z.B. vom VanPi, verbinden. Wählt dazu das gewünschte Netzwerk aus und gebt den Schlüssel ein. Die Zugangsdaten werden auf dem Chip gespeichert.

Einbindung in VanPi

Aktuell ist die API noch nicht im VanPi implementiert. Ich habe die Steuerung daher “minimalinvasiv” in den Code gemogelt und reagiere auf die bereits vorhandene Implementierung. Es werden keine vorhandenen Flows geändert, damit bleibt das Update einfach. Importiert diesen Flow in NodeRed (http://van.pi:1880/ → Burgermenü → Import) und übernehmt die Änderung.

maxx-wifi.json (3,9 KB)

Damit die Steuerung erscheint, müsst ihr in den VanPi Einstellungen an einem freien USB-Port noch den MaxxFan hinterlegen.

Darf es noch ein bisschen mehr sein?

Aktuell arbeite ich an einer Platine, die direkt mit 12 V oder 5 V USB-C betrieben werden kann. Wer mich unterstützen will, darf sich gerne melden.

Ich freue mich auf Feedback zum Projekt.

10 Likes

Ohh woow cool. Das ist ja der Hammer. Wäre sehr interessiert dran an der Platine wo das alles zusammen ist und gleich mit 12V betrieben werden kann! Wie weit bist du damit?

Ich habe noch zwei Platinen hier liegen, die laufen auch schon. Schreib mich einfach direkt an.

1 Like

Guter Hinweis!

Damit euer Compiler Regex unterstützt, müsst ihr ein Flag setzen:

Arduino IDE: create/update platform.local.txt
Windows: C:\Users(username)\AppData\Local\Arduino15\packages\espxxxx\hardware\espxxxx{version}\platform.local.txt
Linux: ~/.arduino15/packages/espxxxx/hardware/espxxxx/{version}/platform.local.txt

compiler.cpp.extra_flags=-DASYNCWEBSERVER_REGEX=1

platformio: platformio.ini:
build_flags =
-DASYNCWEBSERVER_REGEX

Hi Frederik,

du hast mich auf dem workshop gebeten wegen der 12V auf der maxxfan Platine zu schauen. Ich habe heute mal genauer nachgesehen, ob ich die Anschlüsse erreichen kann … leider vergeblich. Falls ich die Tage mal auf das Dach muss baue ich in kurz aus und melde mich dann.

MfG, Dirk

1 Like

Hallo Freddy, bin recht neu bei IDE. Bekomme Fehler wegen fehlender libary eeprom_h. Welche ist das?
Kannst Du das als espeasy hochladen?
Gruß Klaus

Ich wollte gerade den D1 flashen. Jedoch kommt in der Arduino IDE folgende Fehlermeldung:

exit status 1

Compilation error: extended character is not valid in an identifier

In der platform.local.txt habe ich die flag gesetzt…

Moin,
das klingt so, als wären komische Zeichen im Code gelandet.
z.B. “ an stelle von "

Wie hast du den Code von Github geladen? Vielleicht via Copy&Paste und nicht heruntergeladen? Ich glaube du kannst auch über Notepad++ schauen, ob nicht UTF8-Zeichen im Code sind.

Ich habe die maxx-wifi-controller.ino direkt von github heruntergeladen.
Wenn ich diese in Arduino IDE öffne steht doctype html…
Ist dies die falsche Datei?

EDIT: Ich habe nun auf github alles per zip Datei heruntergeladen. Jetzt funktioniert es :see_no_evil: