Closed vobo-1969 closed 1 year ago
Gute Idee, müssten man sich anschauen. Sollte aber nichts großes sein.
Also ich habs bei mir in ahoywifi.cpp hardcoded so drin:
IPAddress IP(192, 168, x, x);
IPAddress Subnetzmaske(255, 255, 255, 0);
IPAddress Gateway(192, 168, x, x);
IPAddress DNS(192, 168, x, x);
WiFi.persistent(false); // verhindert das neuschreiben des Flash
WiFi.setOutputPower(20.5); // max Tx Power
WiFi.mode(WIFI_STA);
WiFi.config(IP, Gateway, Subnetzmaske, DNS, IPAddress(1, 1, 1, 1)); // DNS 2 = fix 1.1.1.1
WiFi.begin(mSysCfg->stationSsid, mSysCfg->stationPwd);
Bei den x natürlich die eigenen Daten eintragen und IP möglichst außerhalb des DHCP Bereiches, um eine Doppeltvergabe zu vermeiden. Gateway und DNS ist in der Regel die IP vom Router.
Ein weiterer Bug ist, WiFi.begin sollte hinter WiFi.hostname aufgerufen werden!
ich vergebe auch gerne statische IPs im Gerät, aber in dem Fall habe ich es über die Fritz!Box statisch gemacht.
@homeautomation2022 : Ich benutze nur die Binarys zum "flashen", daher ist hier hardcoded Variante nicht wirklich was für mich. Aber trotzdem vielen Dank für den Hinweis.
@CBRocker genau das ist bei mir das Problem ... in meinem Netzwerk "tummeln" sich 2 Fritzboxen in 2 unterschiedlichen Gebäuden (Büro und Wohnhaus). Diese sind über eine Funkstrecke miteinander verbunden. Da kann natürlich nur 1 DHCP Server aktiv sein. Dummerweise muss das die Fritzbox im Bürogebäude sein. Daher möchte ich gerne für die DTU eine statische Adresse eingeben können, damit diese auch noch bei einer Unterbrechung der Funkverbindung weiter läuft und weiter Daten an meinen Fhem Server sendet.
@homeautomation2022 / @vobo-1969 kann man die feste IP nicht einfach anstelle von AHOY-DTU
im Setup unter Device Name als statische IP 192.168.178.XXX
eingeben ?
Das wird doch mW immer per WiFi.setHostname()
gesetzt und die Methode ist mW auch für eine numerische IP Adresse überladen.
Wenn man es sehr einfach halten möchte, müsste man im Setup 1 oder 2 Felder hinzufügen: IP: XXX.XXX.XXX.XXX (wenn leer = DHCP) Gateway/DNS: XXX.XXX.XXX.XXX (hier würde auch nur der letzte Block reichen, da ja Subnetz fest ist, also könnte man anhand der IP automatisch die ersten 3 Blöcke übernehmen) q'n'd wäre nur die IP eingeben und Gateway/DNS fest die 1 hinten, haben aber auch nicht alle Haushalte so, nur 99,99%.
"kann man die feste IP nicht einfach anstelle von AHOY-DTU im Setup unter Device Name als statische IP 192.168.178.XXX eingeben ?" Die steht dann auch groß auf der Startseite und MQTT als Namen, finde ich nicht so toll, dann lieber min. 1 Feld mehr im Setup. "Das wird doch mW immer per WiFi.setHostname() gesetzt und die Methode ist mW auch für eine numerische IP Adresse überladen." -> verstehe ich nicht Hostname setzt nur den DTU Namen für das Netzwerk. Hier war nur mein Einwand, das dieses vor WiFi begin eigentlich aufgerufen werden soll.
ich vergebe auch gerne statische IPs im Gerät, aber in dem Fall habe ich es über die Fritz!Box statisch gemacht.
das ist meiner Meinung nach auch die viel bessere Lösung! mach ich genauso :)
Nicht jeder hat eine Fritte... Außerdem ist es genau genommen auch keine statische IP, sondern einfach nur im DHCP fest zugeordnete IP zu der MAC.
und da Ahoy-DTU jeden Tag mit dem Router verbunden ist, sollte die IP wohl eh gleich bleiben (im Normalfall :-) ). Auf jeden Fall finde ich Ahoy super gelöst, macht viel Spaß damit. Es läuft bei mir super.
Statische IP würde ich auch begrüßen. Habe hier zwei Netze und würde den Ahoy auf Dauer gerne im DHCP-freien Netz haben. Mein Gateway endet auch nicht auf .1. Feste DHCP-Zuweisung im DHCP-Server ist immer ein Problem wenn der Router ersetzt werden muss oder wenn Gäste mal versehentlich einen Router falsch anschließen und ein zweiter DHCP-Server Adressen vergibt. Meiner Meinung nach gibt es gute Gründe, eine statische IP als Konfigurationsoption zu haben. Ich sehe aber auch ein, dass dieser Feature-Request nicht die höchste Priorität hat. Und ja, danke - Ahoy läuft echt super!
Wenn man es sehr einfach halten möchte, müsste man im Setup 1 oder 2 Felder hinzufügen: IP: XXX.XXX.XXX.XXX (wenn leer = DHCP) Gateway/DNS: XXX.XXX.XXX.XXX (hier würde auch nur der letzte Block reichen, da ja Subnetz fest ist, also könnte man anhand der IP automatisch die ersten 3 Blöcke übernehmen) q'n'd wäre nur die IP eingeben und Gateway/DNS fest die 1 hinten, haben aber auch nicht alle Haushalte so, nur 99,99%.
Man braucht zwei Felder, da ein Netz auch größer als 8 Bit sein kann. Ich habe zum Beispiel ein 10.20.0.0/21 Netz der DNS ist auf 10.20.0.5 und der DHCP hat 10.20.2.0/24 Ich habe es bei mir lieber zentral verwaltet, aber sehe hier schon die Möglichkeit es zu implementieren. Die Felder müssten dann so sein:
In der Web UI kann man ja DHCP anzeigen, wenn man eine leere IP erkennt.
Ich habe es so gelöst:
in config_override.h //IP-Adresse vorgeben
und in ahoywifi.cpp WiFi.config(WIFI_IP, WIFI_GW, WIFI_MASK, WIFI_DNS);
Könnte man nicht die Zeile WiFI.config.... aufnehmen? Dann blieben die Einstellungen für die IP-Adresse erhalten.
@lumapu ja Mask hast Du an Deiner IP mit angehängt aber das Gateway fehlt auf jeden Fall noch als extra Feld. Das ist ja nicht zwingend auf dem DNS zu finden. Am Einfachsten / Besten also alle vier Felder wie es @jogibaer65 beschrieben hat oder alternativ per DHCP.
implemented, please test
Es wäre super, wenn man eine statische IP einstellen könnte. Könnte das vielleicht bei einer der nächsten Versionen mit eingebaut werden ?
Viele Grüße Volker