Du sprichst genau das Thema an was mir am meisten sorgen macht... Viele funktionen, möglichst individuell anpassbar, aber dennoch verständlich und einfach anzupassen für nicht Nerds...
Ok vieles werde ich versuchen über ne gute Doku weg zu machen. Doch wie du meintest, wo man eingreifen kann und anpassen kann wird mittlerweile sehr viel... teils muss ich ja schon stellen suchen oder verpasse das ich die funktion noch irgendwo anders aufrufe (heute passiert nachdem ich die setLight verändert habe und damit die parameter erweitern wollte. Ging nicht
).
Das perfekte Menü werden wir wohl nicht kreieren können, aber evt schon so das es flexibel und für viele bleibt ohne zuviel im code rumzuwurschteln... aber grade was dinge wie Speichern angeht wirds gefährlich. immerhin greifen wir hier auf den EEPROM zu der nicht nur begrenzt ist sondern auch noch mit schlimmen konsequenzen überschrieben werden kann. Beispiel hierfür ist wenn ich nen float an die stelle eines ints schreibe und dann nach reset dieses float als int lade... Das killt meinen Speicher komplett und lässt den Arduino abstürtzen. (gute Sache: Ohne schaden zu nehmen)
Viele Dinge wie Beleuchtungskanal Tag/Nacht würd man einmal einstellen und dann nie wieder, es hat trotzdem Vorteile dies im Menü zu haben. Man kann es ja überspringen beim nächsten mal. Doch Mittagszeit und Verlauf sind dinge die man ohne Code änderung ins Menü schreiben könnte. Auch wenn man es nicht braucht hätte es ja vorteile wenn man diese Zeilen im Code nicht suchen muss.
Relays an rollen zu binden anstelle fest zu verankern ist der nächste Punkt:
Macht es Sinn? Ja.
Ist es umsetzbar? definitiv.
verlieren wir dadurch übersicht oder flexiblität? Eventuell, da ich 8 Relays fest programmieren müsste und diesen Feste Pins zuweisen. Diese sind dann im Code ohne änderung geblockt. Wer nur 4 Relays hat kann es ignorieren, wer 12 hat muss es erweitern -> wo wir wieder bei eingriffen in den Code an 4-7 Stellen sind... Hier geht es also nur drum das Mittelmaß zu finden. Schön wäre da natürlich nen grafik interface wo ich nur verbindungen anklicke (Siemens Logo lässt grüßen)...
Ich glaube werde nochmal nen paar Tage drüber nachdenken müssen bis ich ne Lösung habe...
Moritz (Der hofft das sich Robert nicht ausklinckt. Die Ideen sind klasse :thumbs: )