NEWS
OBI Funk-Steckdosenumbau ESP8266 (Generation1 Rund)
-
Hallo Sissi,
ich habe heute die Firmware 1.09 auf die Steckdosen gemacht. ging Problemlos.
Das umschalten auf feste IP oder auch wieder zurück, sollten die Erklärungen nicht auch besser
in der Webseite stehen statt nur hier im Forum?
` > Feste IP-Adressen möglich.
CODE: ALLES AUSWÄHLEN
192.xx.xx.xx/devname?=obi
obi.local/fIP?=192.168.1.27
obi.local/fIPgateway?=192.168.1.100
obi.local/fIPstatus?=1
Zurück von feste IP auf DHCP geht nur über Neustart.
CODE: ALLES AUSWÄHLEN
obi.local/fIPstatus?=0
=> [REBOOT]
Hostname wird gesetzt. Steckdose ist damit z.B. unter obi.local erreichbar.
MAC-Adresse wird angezeigt. `
-
Verständnisfrage:
Setze ich die feste IP nicht in der Fritz!Box?
So mache ich das mit all meinen Geräten.
Für mich macht dieses Feature bei der Steckdose so gar keinen Sinn gerade :?: :!:
Wenn ich mich irre, bitte korrigieren
-
Hallo,
für mich macht das sehr wohl Sinn.
Denn nicht jeder möchte seine Steckdosen in dem Netzwerk betreiben das seine PC's nutzen. Evtl. Gastnetz oder extra Netz für IOT Geräte usw..
Somit kann ich/man vorher festlegen mit welcher Adresse das Gerät genutzt werden soll und muss nicht umständlich in der IP Liste suchen was hat das Gerät (Steckdose) jetzt für eine IP, um dann danach eine feste IP zu vergeben.
Also wenn auch Du den Einen Weg gehen möchtest, gibt es jetzt trotzdem noch einen anderen Weg.
-
Dann habe ich nichts gesagt.
Wieder was gelernt.
Danke
-
Außerdem ist eine feste IP (außerhalb des DHCP Bereiches) etwas anderes als eine Adressreservierung im DHCP-Server.
Gruß
Rainer
-
Hallo ins Forum,
vielen Dank an Tom und Sissi für die Erstellung/Weiterentwicklung und vor allem Bereitstellung des Source-Codes. Dadurch konnte ich einen DS18B20 an den offenen GPIO0 klemmen und damit eine Temperaturmessung integrieren.
Dabei habe ich auch kleine Bugs in der 1.0.9 gefunden, ich hoffe, das ist für den ersten Post nicht zu anmaßend
In der Obi-wall-plug_Ver_BETA1.0.8.ino muss die span-id bei FIX-IP-Subnet korrigiert werden (von iSubnet in ipSubnet, sonst schlägt das update für manche Felder fehl:
void handle_root() { wwwInfos = "**ESP8266** own IP : " + WiFi.localIP().toString() + " (Mac:" + WiFi.macAddress() + ") " + "GATEWAY : " + WiFi.SSID() + " IP : " + WiFi.gatewayIP().toString() + " FIX-IP-Status: " + fIPstatus + " (0=off/1=on)" + " FIX-IP-Address: " + fIPown.toString()+ "" + " FIX-IP-Gateway: " + fIPgateway.toString()+ "" + " FIX-IP-Subnet: " + fIPsubnet.toString()+ "" + " NTP-Server: " + NTP.getNtpServerName() + "" + " RSSI : " + WiFi.RSSI() + " dBm FlashSize : " + ESP.getFlashChipSize() + " Time since start : " + timeStamp() + "" + " (" + gerDate(NTP.getTimeDateString(NTP.getFirstSync())) + ")" + " Zeit : " + gerDate(NTP.getTimeDateString()) + "" + " Time to Event : OFF " + " **SWITCH STATUS : " + relStatus + "**/" + DelayStatus + " " + "**[SWITCH ON](/ON) " + "[SWITCH OFF](/OFF)** " + "";
also so
! + "
FIX-IP-Subnet: " + fIPsubnet.toString()+ ""Außerdem ist die Reihenfolge der Update-Strings ipSubnet und ipGateway in handle_commands.ino und im wwwScript unterschiedlich, das kann man z.B. in handle_commands.ino durch das Vertauschen der Zeilen im updateValue korrigieren:
void handle_update(){ String rTime = ""; if (enableReconnect== 1) { rTime = NTP.getTimeStr((timeNow - LastKeepWIFIAlive)/1000)+"/"; } String delayTimer="OFF"; if (enableDelay == true){ if (timeNow < iDelayON && handle_Delay == 1) {delayTimer="DelayON:" + NTP.getTimeStr ((iDelayON-timeNow)/1000);} if (timeNow < iDelayOFF && handle_Delay == 2) {delayTimer="DelayOFF:" + NTP.getTimeStr ((iDelayOFF-timeNow)/1000);} if (timeNow < iONDelayOFF && handle_Delay == 3){delayTimer="ONDelayOFF:" + NTP.getTimeStr ((iONDelayOFF-timeNow)/1000);} if (timeNow < iOFFDelayON && handle_Delay == 4){delayTimer="OFFDelayON:" + NTP.getTimeStr ((iOFFDelayON-timeNow)/1000);} if (timeNow < iAutoONOFF && handle_Delay == 5) {delayTimer="AutoONFF:" + NTP.getTimeStr ((iAutoONOFF-timeNow)/1000);} if (timeNow < iDelayWatchDogOn && handle_Delay == 10) {delayTimer="Watch Dog Reset in:" + NTP.getTimeStr((iDelayWatchDogOn-timeNow)/1000);} if (timeNow < iDelayWatchDogOff && handle_Delay == 11) {delayTimer="Watch Dog Power on in:" + NTP.getTimeStr ((iDelayWatchDogOff-timeNow)/1000);} } String updateValue = String(timeStamp())+";" +relStatus+";" +wwwStatus+";" +DelayStatus+";" +rTime+";" +delayTimer+";" +WiFi.RSSI()+";" +gerDate(NTP.getTimeDateString())+";" +NTP.getNtpServerName()+";" +String(iDevname)+";" +fIPown.toString()+";" +fIPgateway.toString()+";" +fIPsubnet.toString()+";" +fIPstatus+";" +";" ; server.send(200, "text/plane", updateValue); }
! …
! +fIPown.toString()+";"
! +fIPsubnet.toString()+";"
! +fIPgateway.toString()+";"
! +fIPstatus+";"
! ...Hoffentlich habe ich mich wenigstens an die wichtigsten Forenregeln gehalten…
MfG
Alex
-
Hallo ins Forum,
vielen Dank an Tom und Sissi für die Erstellung/Weiterentwicklung und vor allem Bereitstellung des Source-Codes. Dadurch konnte ich einen DS18B20 an den offenen GPIO0 klemmen und damit eine Temperaturmessung integrieren.
Dabei habe ich auch kleine Bugs in der 1.0.9 gefunden, ich hoffe, das ist für den ersten Post nicht zu anmaßend
In der Obi-wall-plug_Ver_BETA1.0.8.ino muss die span-id bei FIX-IP-Subnet korrigiert werden (von iSubnet in ipSubnet, sonst schlägt das update für manche Felder fehl:
Außerdem ist die Reihenfolge der Update-Strings ipSubnet und ipGateway in handle_commands.ino und im wwwScript unterschiedlich, das kann man z.B. in handle_commands.ino durch das Vertauschen der Zeilen im updateValue korrigieren:
Hoffentlich habe ich mich wenigstens an die wichtigsten Forenregeln gehalten…
MfG
Alex `
Hi, mit 1.1.0 erledigt.- Homoran´s Anmerkung
-
Hallo sissiwup,
Update auf Firmware 1.1.0 hat ohne Probleme funktioniert.
War ich vorher blind oder hast du die Anzeigen unten rechts zur Einstellungen der IP's hinzugefügt.
Auf jeden Fall danke dafür.
Mal ne andere Frage an die Entwickler?
Bei den Fritzboxen kann man ja Zeitgesteuert "WLAN" ein und ausschalten, diese Art der Programmierung zur Zeiteinstellung finde ich richtig Cool.
Ist sowas zu Programmieren um unsere OBI Steckdosen über solch ein Menu zum ein bzw. ausschalten zu bringen?
-
Grundsätzlich würde solch eine Timerfunktion natürlich auch machbar sein.
Ich frage mich nur, warum…
Das Projekt war im Ansatz dafür geplant, die Dose in den ioBroker und die HM einzubauen.
Ne eierlegende Wollmilchsau hatte zumindest ich niemals geplant.
Als nächstes muss dann noch ne App fürs Handy ohne Cloud für Android und iPhone und dann kann man auf die ganzen Steuergeräte ganz verzichten
Grüße
Tom
-
Hi,
da es mich genervt hat, das man nicht sieht, wann die Dose geschaltet hat, habe ich den Status gedoppelt:
Links werden die letzen 20 Schaltungen etc. angezeigt, Rechts die Servicemeldungen, wobei ich den Reset des WatchDog auf Service gesetzt habe.Außerdem im Code aufgeräumt und EEProm etwas überarbeitet.
-
Hallo sissiwup,
Update auf Firmware 1.1.0 hat ohne Probleme funktioniert.
War ich vorher blind oder hast du die Anzeigen unten rechts zur Einstellungen der IP's hinzugefügt.
Auf jeden Fall danke dafür.
Mal ne andere Frage an die Entwickler?
Bei den Fritzboxen kann man ja Zeitgesteuert "WLAN" ein und ausschalten, diese Art der Programmierung zur Zeiteinstellung finde ich richtig Cool.
Ist sowas zu Programmieren um unsere OBI Steckdosen über solch ein Menu zum ein bzw. ausschalten zu bringen? `
Du meinst so etwas:
Oder wie es diese Version kann?Problem dabei ist, wenn die Zeit mal "hoppelt", d.h. es werden ein paar Sekunden übersprungen da neues Update vom NTP, dann kann es sein das ein Schaltvorgang verpasst wird. Eigentlich müßte mann dann die Zeit nachfahren. Das finde ich recht kompliziert.
-
Hallo siisiwup,
Ja so was wie im ersten Bild aus der Fritzbox.
Halt nur um die Steckdose Zeitgesteuert zu schalten.
Die Zweite Möglichkeit geht auch, mir gefällt die erste wegen ihrer Übersichtlichkeit.
VG
meierchen006
-
Hallo siisiwup,
Ja so was wie im ersten Bild aus der Fritzbox.
Halt nur um die Steckdose Zeitgesteuert zu schalten.
Die Zweite Möglichkeit geht auch, mir gefällt die erste wegen ihrer Übersichtlichkeit.
VG
meierchen006 `
Der Vorteil der 1. Übersichtlich/simple zu implementieren
Der Nachteil: Schalten nur alle 15 Minuten! Nicht Minutengenau!
-
Hallo,
ich habe aktuell 5 Funksteckdosen im Einsatz. Alle bis auf eine sind normal im verhalten:
Antwortzeiten auf ein Request ca. 20-30msEine aber ist auffällig:
Die Antwortzeiten sind erheblich höher.Ich habe in der Testversion schon die Schleife im Webfenster auf 2000ms erhöht und 500ms timeout eingebaut.
Außerdem wartet er nach Timeout 4 Sekunden bis zur nächsten Abfrage.
Ideen?
(natürlich gleiche Software, gleiches WLAN, gleicher Standort)
-
Hallo Sisiwup,
Ja, evtl. Könnte man ja auf 5 Minuten gehen,
15 Minuten würden evtl. zum Licht Ein und Ausschalten reichen.
Für was genaueres müsste man dann sehen.
Edit:
Nach nochmaligem Ansehen des zweiten Bildes denke ich dass man dort genauer Steuern kann, ein Ein- bzw. Ausschalten.
-
Neue Version um auch bei schlechten Empfang arbeiten zu können:
Was ist neu:
Ajax an/aus schaltbar
cpufrequenz 80/160 schaltbar
Update-Handling der website nimmt auf esp Rücksicht,
d.h. wenn er länger braucht zum Antworten wird langsamer upgedatet.
(siehe Zeile unter Time)
Der Speicher wird mit angegeben um zu beobachten ob es da Probleme gibt.
Historie ist jetzt 2x10 lang
Compiledatum und Speicherversion
Optimierung Antwortzeiten WEB-Server
-
Und ich dachte schon, ich hab fürn 10er ne normale WLAN Dose von OBI gekauft
Noch ein paar Updates und das Teil geht für mich arbeiten, macht den Einkauf und erledigt die Hausarbeit :lol: :lol: :lol: :lol:
Ihr seid echt die Geilsten.
Hut ab, was Ihr aus dem Ding zaubert Daumen hoch
Edit:
Kleinen Wehrmutstropfen gibt es, wenn ich auf der Website manuell auf Switch on klicke, bekomme ich diesen Bildschirm durchgängig.
Ebenso wenn ich den Namen der Dose festgelegt habe.
Sie ist nicht mehr per IP zu erreichen.
Die States werden doppelt angezeigt. Eventuell ein Bug?
-
Hallo zusammen,
auch von mir erstmal einen dicken Daumen hoch , genau was ich gesucht habe und jetzt funktioniert es auch richtig gut.
Leider habe ich am Anfang ein paar Probleme mit den WiFi Passwort gehabt, da hat sich ein kleiner Bug im Code eingeschlichen.
Hintergrund: das WiFi Passwort konnt garnicht in den EEPROM geschrieben werden, sondern erst ab der Stelle 32 des temp Strings
wurde ins EEPROM geschrieben, wobei das WiFi Passwort gleich vorn beginnt. Es fehlten also immer die ersten 32 Zeichen.
Und somit hab ich mich in einer Dauer-Neuanmelde-Schleife bewegt, da ich mich nie mit meinen Netzwerk verbinden konnte.
Könntet Ihr das bitte in die nächste Version mit reinnehmen, ich hoffe es gibt noch weitere Version, da Ihr super Ideen habt.
Bug-Behebung hier Datei "espEEPROMSet.ino" Zeile 272
<u>Original Code</u>
`case 21: //wifi_PWD EEPROM.begin(1024); tmpValue = String(wifi_PWD)+tSt+tSt+tSt; for (int i = 32; i < 64; i++){EEPROM.write(0 + i, tmpValue[i]);} //Serial.println("SSID written to EEPROM"); found = true; break;` <u>~~[u]~~Vorschlag Bugfix[/u]</u> `~~[code]~~ case 21: //wifi_PWD EEPROM.begin(1024); tmpValue = String(wifi_PWD)+tSt; for (int i = 32; i < 64; i++){EEPROM.write(0 + i, tmpValue[i-32]);} //Serial.println("SSID written to EEPROM"); found = true; break;[/code]` Man könnte auch mit i=0 starten und beim EEPROM.write von 32 + i loslaufen. Riesen Dank und weiterso, der Beamer! PS: Vielleicht wollt Ihr die Sourcen in ein GIT Hub legen, dann muss man nicht immer die ZIPs durch die Gegend schieben![/i]
-
Hallo zusammen,
auch von mir erstmal einen dicken Daumen hoch , genau was ich gesucht habe und jetzt funktioniert es auch richtig gut.
Leider habe ich am Anfang ein paar Probleme mit den WiFi Passwort gehabt, da hat sich ein kleiner Bug im Code eingeschlichen.
Hintergrund: das WiFi Passwort konnt garnicht in den EEPROM geschrieben werden, sondern erst ab der Stelle 32 des temp Strings
wurde ins EEPROM geschrieben, wobei das WiFi Passwort gleich vorn beginnt. Es fehlten also immer die ersten 32 Zeichen.
Und somit hab ich mich in einer Dauer-Neuanmelde-Schleife bewegt, da ich mich nie mit meinen Netzwerk verbinden konnte.
Könntet Ihr das bitte in die nächste Version mit reinnehmen, ich hoffe es gibt noch weitere Version, da Ihr super Ideen habt.
Bug-Behebung hier Datei "espEEPROMSet.ino" Zeile 272
<u>Original Code</u>
`case 21: //wifi_PWD EEPROM.begin(1024); tmpValue = String(wifi_PWD)+tSt+tSt+tSt; for (int i = 32; i < 64; i++){EEPROM.write(0 + i, tmpValue[i]);} //Serial.println("SSID written to EEPROM"); found = true; break;` <u>~~[u]~~Vorschlag Bugfix[/u]</u> `~~[code]~~ case 21: //wifi_PWD EEPROM.begin(1024); tmpValue = String(wifi_PWD)+tSt; for (int i = 32; i < 64; i++){EEPROM.write(0 + i, tmpValue[i-32]);} //Serial.println("SSID written to EEPROM"); found = true; break;[/code]` Man könnte auch mit i=0 starten und beim EEPROM.write von 32 + i loslaufen. Riesen Dank und weiterso, der Beamer! PS: Vielleicht wollt Ihr die Sourcen in ein GIT Hub legen, dann muss man nicht immer die ZIPs durch die Gegend schieben! `~~[code]~~case 21: //wifi_PWD EEPROM.begin(1024); tmpValue = String(wifi_PWD)+tSt+tSt+tSt; for (int i = 0; i < 64; i++){EEPROM.write(32 + i, tmpValue[i]);} //Serial.println("SSID written to EEPROM"); found = true; break;` Ist richtig. (das Passwort kann max. 64 Zeichen lang sein). Sry, ist beim aufräumen passiert. ![609_code_1_1_1b.zip](/assets/uploads/files/609_code_1_1_1b.zip) ![609_firmware_1_1_1b.zip](/assets/uploads/files/609_firmware_1_1_1b.zip) [/i][/code][/i] ``` `
-
Und ich dachte schon, ich hab fürn 10er ne normale WLAN Dose von OBI gekauft
Noch ein paar Updates und das Teil geht für mich arbeiten, macht den Einkauf und erledigt die Hausarbeit :lol: :lol: :lol: :lol:
Ihr seid echt die Geilsten.
Hut ab, was Ihr aus dem Ding zaubert Daumen hoch
Edit:
Kleinen Wehrmutstropfen gibt es, wenn ich auf der Website manuell auf Switch on klicke, bekomme ich diesen Bildschirm durchgängig.
Ebenso wenn ich den Namen der Dose festgelegt habe.
Sie ist nicht mehr per IP zu erreichen.
Unbenannt1.PNG
Die States werden doppelt angezeigt. Eventuell ein Bug?
Unbenannt3.PNG `
Die Dose ist noch zu erreichen / kannst du über ip/getState testen.
Du kannst sie auch per ip/reboot neu starten.
Die (0) sieht merkwürdig aus, da müßte 10101 stehen. Ich schaue mal was da los ist.
=> nach einmal Reboot läuft es bei mir, ist also ein Problem beim schreiben der neuen Paramter. Schaue ich mal morgen.
PS: Von Welcher Version bist du gekommen? Oder ganz neue Dose?