NEWS
OBI Funk-Steckdosenumbau ESP8266 (Generation1 Rund)
-
Hallo TomT Hallo sissiwup,
ich habe jetzt beide neuen Versionen getestet 1_1_5_b und 1_1_5_c beide funktionieren ohne Sichtbare SSID :mrgreen:
-
Ich habe ja schon fast ein schlechtes Gewissen. Bei mir klappt es leider nicht
SSID-Sichtbar - > Dose kam ins Netz
OTAU auf 1.1.5c
SSID-Unsichtbar
Looking for WiFi ..........................................................
In der seriellen Konsole waren die Daten korrekt.
SSID und KEY waren allerdings in Spitzen Klammern
und jetzt geht die Dose nicht mehr in den AP-Mode
Gruß
Rainer
-
Ich habe ja schon fast ein schlechtes Gewissen. Bei mir klappt es leider nicht
SSID-Sichtbar - > Dose kam ins Netz
OTAU auf 1.1.5c
SSID-Unsichtbar
Looking for WiFi ..........................................................
In der seriellen Konsole waren die Daten korrekt.
SSID und KEY waren allerdings in Spitzen Klammern
und jetzt geht die Dose nicht mehr in den AP-Mode
Gruß
Rainer `
Hmmm.. Was für einen Status bring sie denn? WL_…
-
> Was für einen Status bring sie denn? WL_…
gar nichts, nur endlose PunkteNach abklemmen vom Strom (USB) zusammenbauen und mit 230V schaltete sie anscheinend doch in den AP Mode (hektisches Blinken), also wieder zerlegt und an den USB:
....................................................................................................... WL_NO_SSID_AVAIL Could not connect to SSID! Starting AP at port: 80 Scan done 1\. Nachbar1 2\. Nachbar2 3\. Nachbar3 4\. Nachbar4 SoftAP IP address: 192.168.4.1 AP:ESP8266 Config-AP 376C Pwd:esp8266-1 ets Jan 8 2013,rst cause:4, boot mode:(3,6) wdt reset load 0x4010f000, len 1384, room 16 tail 8 chksum 0x2d csum 0x2d vbb28d4a3 ~ld SPIFFS is formatted. Moving along... SSID: >korrekt< PASS: >richtig< Waiting for Wifi to connect........................................................................................................................
-
Hallo,
habe die Steckdose jetzt mal unter IOBroker mit mqtt getestet, funktioniert - ohne Probleme! Auch Änderung von Path. Schön wären jetzt noch die Delayed -Befehle.
Grüße.. `
Dein Wunsch:
setRelay zeigt nicht mehr den aktuellen Status an, das hat beim Reconnect dazu geführt, dass der MQTT-Broker die Daten neu gesendet hat.
Das macht massive Probleme bei den DELAY-Befehlen.
Bei allen Werten muss ein ein Wert >0 eingetragen werden (Ausnahme setRelay).
Das ist dann immer der Wert in Sekunden.
ONdelayOFF schaltet die Dose z.b. dann sofort an und nach den angegebenen Sekunden wieder aus.
mit stopDelay = 1 kann man den Delay-Timer sofort anhalten ohne die Dose schalten zu müssen.
setRelay hält den Timer auch sofort an.
-
> Was für einen Status bring sie denn? WL_…
gar nichts, nur endlose PunkteNach abklemmen vom Strom (USB) zusammenbauen und mit 230V schaltete sie anscheinend doch in den AP Mode (hektisches Blinken), also wieder zerlegt und an den USB:
....................................................................................................... WL_NO_SSID_AVAIL Could not connect to SSID! Starting AP at port: 80 Scan done 1\. Nachbar1 2\. Nachbar2 3\. Nachbar3 4\. Nachbar4 SoftAP IP address: 192.168.4.1 AP:ESP8266 Config-AP 376C Pwd:esp8266-1 ets Jan 8 2013,rst cause:4, boot mode:(3,6) wdt reset load 0x4010f000, len 1384, room 16 tail 8 chksum 0x2d csum 0x2d vbb28d4a3 ~ld SPIFFS is formatted. Moving along... SSID: >korrekt< PASS: >richtig< Waiting for Wifi to connect........................................................................................................................ ```` `
Wenn ich meine SSID auf unsichtbar gestellt habe, kam immer WL_IDLE_STATUS.
Muss mal schauen wo hier der Unterschied ist.
Die >< habe ich hinzugefügt, damit man ggf. Blanks sieht.
Sonderzeichen hast du keine in SSID oder Passwort (. oder _)?
-
Sonderzeichen hast du keine in SSID oder Passwort (. oder _)? `
Nur Ziffern und "normale" BuchstabenEDIT:
Nochmal SSID im laufenden Betrieb sichtbar geschaltet
Waiting for Wifi to connect...................................... WL_CONNECTED IP address: 192.168.138.93 HTTP server started Relay OFF Start-Webpage Chunk Start Chunk End Start-Webpage1 Chunk Data_Start 27448 .w Chunk Data_End Start-Webpage2 Chunk Data_P_Start Chunk Data_Start 24944 .W .W .w Chunk Data_End Chunk Data_P_End Start-Webpage3 Chunk Data_Start 27448 .w Chunk Data_End Start-Webpage4 Chunk Data_Start 27448 .W .W .W .w Chunk Data_End Start-Webpage5 Chunk Data_P_Start Chunk Data_Start 24256 .W .W .W .w Chunk Data_End Chunk Data_P_End Start-Webpage6 Chunk Data_Start 27448 .w Chunk Data_End Start-Webpage7 End-Webpage Looking for WiFi ...........................................................................................
Nach unsichtbar schalten dann das looking for Wifi…..
Die Punkte laufen auch nach 10 Minuten noch
Gruß
Rainer
-
Sonderzeichen hast du keine in SSID oder Passwort (. oder _)? `
Nur Ziffern und "normale" BuchstabenEDIT:
Nochmal SSID im laufenden Betrieb sichtbar geschaltet
Waiting for Wifi to connect...................................... WL_CONNECTED IP address: 192.168.138.93 HTTP server started Relay OFF Start-Webpage Chunk Start Chunk End Start-Webpage1 Chunk Data_Start 27448 .w Chunk Data_End Start-Webpage2 Chunk Data_P_Start Chunk Data_Start 24944 .W .W .w Chunk Data_End Chunk Data_P_End Start-Webpage3 Chunk Data_Start 27448 .w Chunk Data_End Start-Webpage4 Chunk Data_Start 27448 .W .W .W .w Chunk Data_End Start-Webpage5 Chunk Data_P_Start Chunk Data_Start 24256 .W .W .W .w Chunk Data_End Chunk Data_P_End Start-Webpage6 Chunk Data_Start 27448 .w Chunk Data_End Start-Webpage7 End-Webpage Looking for WiFi ...........................................................................................
Nach unsichtbar schalten dann das looking for Wifi…..
Die Punkte laufen auch nach 10 Minuten noch
Gruß
Rainer `
Hallo,
das ist so weit normal.
Mach mal das WIFI-Debuggin an:
-DDEBUG_ESP_PORT=Serial -DDEBUG_ESP_WIFI
Als compile-Parameter.
Oder als define oben in OBI-wall-plug_Ver_Beta.ino
#define DEBUG_ESP_PORT=Serial #define DEBUG_ESP_WIFI
Im Arduino-IDE sollte es wie folgt gehen:
Im Code direkt nach Serial.begin(...); folgende Anweisung einfügen Serial.setDebugOutput(true); Das aktiviert die Ausgabe zusätzlicher Information. Diese müssen in der IDE ausgewählt werden: Menü -> Werkzeuge -> Debug Port: Serial Menü -> Werkzeuge -> Debug Level: WIFI
und ersetz mal in espVPN.ino monitorWiFi mit:
void monitorWiFi() { if (WiFi.status() != WL_CONNECTED) { if (connectioWasAlive == true) { connectioWasAlive = false; Serial.print("Looking for WiFi "); WiFi.reconnect(); } Serial.println(printConnectionType(WiFi.status())); // Serial.print("."); delay(500); } else if (connectioWasAlive == false) { connectioWasAlive = true; Serial.printf(" connected to %s\n", WiFi.SSID().c_str()); } }
Nutzt du eine statische IP oder DHCP?
-
Mir fällt da gerade noch was auf :
Schalte doch mal den Wifi.Reconnect = 0.(AUS)
Dann kann man sehen, ob er im Netzt bleibt, oder ob es Probleme mit dem Reconnect gibt, der ja defaultmäßig eingeschaltet ist.
Wenn sie dann im Netz bleibt….
Grüße
Tom
-
Hallo,
habe den Code bereinigt und mal auf LWIP 2.0 umgestellt.
Vlt. hilft das auch Homoran. (Dann bitte die firmware nutzen!, nicht code)
MQTT Einstellungen bei mir (Broker/Client):
-
Mir fällt da gerade noch was auf :
Schalte doch mal den Wifi.Reconnect = 0.(AUS)
Dann kann man sehen, ob er im Netzt bleibt, oder ob es Probleme mit dem Reconnect gibt, der ja defaultmäßig eingeschaltet ist.
Wenn sie dann im Netz bleibt….
Grüße
Tom `
Hi Tom,
ich meine wenn du die SSID umstellt folgt automatisch ein reconnect.
Aber vlt. wäre das noch einmal eine Idee eine andere SSID zu verwenden, z.b. nur wlan (nur kleine Buchstaben)
und als Passwort "testtesttest" auch nur Kleinbuchstaben.
-
Hallo,
meine DHT22 sind endlich abgekommen. Ich hab die mit eingebauten Widerstand gekauft.
Dose / DHT22
VCC -> VCC
GND -> GND
RXD -> DATA
Achtung bei Betrieb ausserhalb der Dose. Keine galvanische Trennung. Alles auf eigenes Risiko!
> Stellen Sie sicher, dass die Kontakte des angesteckten Sensors nicht von außen berührbar sind. Das interne Netzteil der Steckdose besitzt keinen Sicherheitstransformator. Bei einer Überspannung besteht die Gefahr, dass diese in den Niederspannungskreis durchschlägt. (Vielen Dank an Dr. Alexander Steingass für den Hinweis.)
` > Warnung: Arbeiten an Netzgeräten
Berührungen mit 230 Volt können Sie schwer verletzen oder töten. Schließen Sie das Gerät nicht geöffnet an die Netzspannung an. Alle Modifikationen geschehen über die Versorgungsspannung des USB-RS232-Adapters. Verschließen Sie das Gerät ordnungsgemäß, bevor Sie es an die Steckdose anschließen! `
Ist erstmal rudimentär implementiert, d.h. Anzeige in WEB und MQTT.
ioBroker folgt. CCU2 dann auch.
Aktuell wird auch nur der DHT22 unterstützt. Der DHT11 muss per define aktiviert werden:
/ Uncomment whatever type you're using! //#define DHTTYPE DHT11 // DHT 11 #define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321 //#define DHTTYPE DHT21 // DHT 21 (AM2301)
-
Hab das Problem leider immer noch (Firmware 1.1.5b)
Hab dann auf 1.1.7 upgedatet. Gleiche Problem + keine Response Anzeige mehr.
-
Hab das Problem leider immer noch (Firmware 1.1.5b)
Unbenannt2.PNG
Hab dann auf 1.1.7 upgedatet. Gleiche Problem + keine Response Anzeige mehr.
Unbenannt3.PNG `
Ich Tippe auf ein Script auf deinen ioBroker. Der Reagiert auf das State und setzt dann per Web die Dose.
Deaktivere mal deine Skripte.
-
CCU-Integration für DHT-Sensor:
Im CUxD ein Device anlegen:
Einstellen auf Thermostat:
(SE-50-5 ist der Name den ihr auf der CCU zu sehen bekommt).
Name des Devices merken: CUX9002001In der CCU2 anlernen, dann auf Einstellungen des Devices.
Ganz Oben auf Temp+Hum gehen, Häkchen weg bei USE_HMDATAPT (Kanal 1 und 2)
Device auf Dose Eintragen (gemerkter Name von oben CUX9002001 + Channel :1):
Und hier die Version dazu:
PS: Wann ändere ich die Versionsnummer und wann kommt ein Buchstabe:
- Bei Änderungen die ein neues Feld zum Speichern ins EEPROM notwendig machen, dann muss die Versionsnummer hochgezählt werden #
- Bei Fixes oder kleinen Features wird nur ein Buchstabe angehängt.
-
Scripte hatte ich schonmal gestoppt.
Dann bekomme ich aber in der VIS nicht mehr den aktuellen Status der Dosen.
-
Scripte hatte ich schonmal gestoppt.
Dann bekomme ich aber in der VIS nicht mehr den aktuellen Status der Dosen. `
Hallo,
Dann bitte mal die Skripte Posten.
-
on({id: "esp8266.1.Obi-Gaestezimmer.SetState"/*SetState*/, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("esp8266.1.Obi-Gaestezimmer.SetState").val === true) { try { require("request")('http://192.XXX.X.XXX/ON').on("error", function (e) {console.error(e);}); } catch (e) { console.error(e); } console.log("request: " + 'http://192.XXX.X.XXX/ON'); } else { try { require("request")('http://192.XXX.X.XXX/OFF').on("error", function (e) {console.error(e);}); } catch (e) { console.error(e); } console.log("request: " + 'http://192.XXX.X.X/OFF'); } });
on({id: "esp8266.1.Obi-Gaestezimmer.State", change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("esp8266.1.Obi-Gaestezimmer.State").val === true) { setState("esp8266.1.Obi-Gaestezimmer.SetState", true, true); } else { setState("esp8266.1.Obi-Gaestezimmer.SetState", false, true); } });
Script 1 ist zum Schalten und das 2. damit in VIS der aktuelle AN/AUS Wert angezeigt wird.
Benutze ich die Scripte nicht, dann werde mir falsche Werte angezeigt, wenn ich die Dose mit der Hand anschalte.
-
on({id: "esp8266.1.Obi-Gaestezimmer.SetState"/*SetState*/, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("esp8266.1.Obi-Gaestezimmer.SetState").val === true) { try { require("request")('http://192.XXX.X.XXX/ON').on("error", function (e) {console.error(e);}); } catch (e) { console.error(e); } console.log("request: " + 'http://192.XXX.X.XXX/ON'); } else { try { require("request")('http://192.XXX.X.XXX/OFF').on("error", function (e) {console.error(e);}); } catch (e) { console.error(e); } console.log("request: " + 'http://192.XXX.X.X/OFF'); } });
on({id: "esp8266.1.Obi-Gaestezimmer.State", change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("esp8266.1.Obi-Gaestezimmer.State").val === true) { setState("esp8266.1.Obi-Gaestezimmer.SetState", true, true); } else { setState("esp8266.1.Obi-Gaestezimmer.SetState", false, true); } });
Script 1 ist zum Schalten und das 2. damit in VIS der aktuelle AN/AUS Wert angezeigt wird.
Benutze ich die Scripte nicht, dann werde mir falsche Werte angezeigt, wenn ich die Dose mit der Hand anschalte. `
Hallo,
Schaltet aber das 2. Skript nicht das erste. Dann ist auch klar, warum du eine "Echo" bekommst.
Du darfst im zweiten Skript nicht das SetState setzen.
Es gibt zwei Varianten: Nutze CUXD, dann gibt es einen Datenpunkt.
Oder nutze ohne Skript:
die Extrasteuerung
Obere Knopf CUXD,untere Knopf ioBroker mit Extrasteuerung
Keine Preller:
Ansonsten musst du im Skript 1 abfragen, das Skript zwei den Wert gesetzt hat,
z.B. über eine globale Variable/State …
-
Hallo,
großes Danke für den Ausbau von MQTT! Alles Top, Aber eine kosmetische Kleinigkeit ist mir beim Ändern meiner IOBroker scripte aufgefallen: Das Topic setRelay muss wohl als Zahl übergeben werden. Die anderen Datenpunkte sind String. Einheitlich alles string wäre besser oder der Typ dem Topic entsprechent. Bei meinen geliebten Dalay-Befehlen :lol: wäre z.B. der Typ Zahl natürlich passender als String.
Grüße…