-
-
Notifications
You must be signed in to change notification settings - Fork 225
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature Request: Wifi Handling Code Vorschlag #571
Comments
Zum Thema WiFi hätte ich auch noch einen Vorschlag. Ahoy kann ja schon im Setting den stärksten AP anzeigen wenn man mehrere APs mit der gleichen SSID hat. Wäre es nicht sinnvoll wenn dann auch immer mit dem stärksten AP (gleiche SSID) im Netz verbunden wird ? Bei mir kommt es öfters vor, keine Ahnung nach welchen Kriterien, das sich die DTU NICHT mit dem stärksten verbindet. Als Beispiel, bei den Shellies gibt es eine Option wo man einstellen kann, ab wieviel dBm sich der Shelly versucht mit einem stärkeren zu verbinden. Was auch wunderbar funktioniert 😉 |
wow, das ist schon ein gewisser Aufwand das umzusetzen und zu verstehen. Ich hoffe ich komme die nächsten Tage dazu. Evtl. kannst du nach dem Test es auch als pull request einreichen, dann habe ich es leichter 😉 Bisher waren deine Anpassungen immer vollständig und sehr verständlich, daher kann man mit deinem 'Rezept' die Änderungen bestimmt leicht einbauen. |
Mir schnattern echt die Ohren was @beegee3 da so raus läßt. Da bleibt kein Stein, ähhh Bit mehr auf dem anderen 😅 weiter so 👍 Das wird immer besser 😎 |
@lumapu ja, pull request wäre hier vernünftig. Programmiere in einer abgeschotteten virtuellen Umgebung, ohne direkten Github Zugang. Das muss ich erst anpassen, sorry.
Ist mir auch aufgefallen, bei mir drängelt sich immer der schwächste AP vor 😞 |
noch ein Zusatz: |
@beegee3 in app:setup und app:regularTickers stehen ja jetzt die plugin Ticker: |
@stefan123t die MQTT Ticker werden in |
@beegee3 heute habe ich dein Rezept in Ahoy reingebacken. Es fühlt sich sehr gut an. |
@lumapu 👍 sieht sehr gut aus, Perfekte Umsetzung 😄. Ein Ansatz zu @knickohr
bei Dieser 'Feature Request' kann m.E. geschlossen werden. |
super, danke! 😎 |
Wie in #548 angekündigt, hier ein Vorschlag zum Wifi Handling. Hatte die Idee dort grob skizziert, hier nun der passende Code.
Solange eine Wifi Verbindung aufgebaut wird, soll nichts anderes laufen. Dafür braucht man eine Schnittstelle von ahoywifi zu app und muss z.B. zum reconnect alle laufenden Ticker abschalten, d.h.
scheduler.h
, der Ticker reset aus setup ist nun in einer eigenen Funktion (für Aufruf aus app):ahoywifi.h
, Callback zu appahoywifi.cpp
, Callback Nutzung:die
app::loop
nutzt nun einen Callback für die eigentlichen Aufgaben. Die ursprünglicheloop
ist inloopStandard
umbenannt.So kann man leicht zwischen Wifi Verbindung aufbauen (
loopWifi
) und Standardaufgaben (loopStandard
) switchen.(Könnte man auch mit einer
if
Anweisung machen, ist dann aber eine Überprüfung, die zusätzlich permanent den Prozessor beschäftigt; finde es so eleganter.)Außerdem erfordert die Verlegung vom MQTT Server connect nach
tickNtpUpdate
, dass die Informationen zu Sun und IVCommunication mit Hilfe von Tickern übertragen werden, da beim Aufruf nicht sicher ist, dass die MQTT Verbindung steht.app.h
app.cpp
, die bisher ungenutzte VariablemMqttActive
wird auf(mConfig->mqtt.broker[0] > 0)
gesetzt. Jeder weiteremMqtt
Bezug ist vonmMqttActive
abhängig (würde sie inmMqttEnabled
umbenennen; sie sollte wohl mal einen anderen Zweck erfüllen?!).pubMqtt.h
, baut selbst keine Verbindung mehr auf, d.h.mEnReconnect
undonWifi...
komplett entfernen (NICHT aberonConnect
undonDisconnect
), dafüreinfügen (wird in
app::tickNtpUpdate
aufgerufen).Einzig bei
MQTT_SERVER_UNAVAILABLE
bin ich mir nicht sicher, ob da nicht einmClient.connect();
für den reconnect eingefügt werden muss, da ja kein Wifi disconnect stattfand, sondern evtl. 'nur' die MQTT Server Verbindung abgebrochen ist.tickerSun
undtickerComm
geben nur Erfolgsmeldungen zurück:Hoffentlich habe ich nichts übersehen, konnte erst nach Sunset testen, i.W. also Wifi connect/disconnect/reconnect.
Daher ist es vielleicht besser, das bei Sonne nochmal zu testen, bevor evtl. etwas davon in die dev.03 übernommen wird.
The text was updated successfully, but these errors were encountered: