NEWS
OBI Funk-Steckdosenumbau ESP8266 (Generation1 Rund)
-
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…
-
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… `
Hallo,
habe ich auch bemerkt. Du kannst den Typ einfach in ioBroker ändern.
Keine Ahnung warum er da int gewählt hat und nicht Zeichenkette.
Du kannst ja auch ON oder on oder off oder OFF übergeben.
-
Hallo,
habe noch einen Timer eingefügt, da alle 5 Sekunden die Temp. abzufragen mir doch ein wenig heftig war.
min. ist jetzt alle 5 Sekunden, ein guter Wert ist vermutlich 600 Sekunden = alle 10 Minuten.
1.1.9a -> starte erste Messung nach 5 Sekunden. Defaultwert DHT-Interval wurde nicht gelesen. Bei Update von 1.1.9 auf 1.1.9a wird der Wert zurückgesetzt! Löst Problem bei Anzeige Response … Avg ...
-
N'Abend,
erst einmal vielen Dank für die tolle Arbeit.
Ich möchte meine Obi Steckdose (IP: 192.168.178.30) mit MQTT nutzen. Hierfür lasse ich den MQTT Broker auf der IP: 192.168.178.100 laufen. Bei der Konfiguration der IP Adresse des Brokers über http://192.168.178.30/mqtt?ip=%3C192.168.178.100> werden durch die Firmware die letzte "0" sowie das ">" abgeschnitten:
Wenn ich die ersten Blöcke in der IP-Adresse kürze, dann werden die IP-Blöcke am Ende korrekt übernommen. Ich vermute, dass der String mit der IP-Adresse einfach zu früh abgeschnitten wird.
Ich habe es mit der Version 1.1.7, 1.1.8. und 1.1.9 versucht, alle mit dem selben Ergebnis.
Viele Grüße.
Sandro
-
Sorry, habe den Fehler gefunden. Man muss den Wert ohne die "Klammern" setzen. :roll:
-
Hab dann auf 1.1.7 upgedatet. Gleiche Problem + keine Response Anzeige mehr.
Unbenannt3.PNG `
=> 1.1.9a löst das Problem mit der Anzeige, war ein Java-Script Fehler.
-
Leider nicht :oops:
Ach du meinst wahrscheinlich die Response Anzeige.
Nicht so schlimm, bin auf die 1.1.1 zurück.
Die läuft zufriedenstellend. Zwar noch mit den doppelten States aber ansonsten sehr stabil.
-
Nicht so schlimm, bin auf die 1.1.1 zurück.
Die läuft zufriedenstellend. Zwar noch mit den doppelten States aber ansonsten sehr stabil. `
Führt das Skript nicht auch zweimal zum Schalten - und daher die doppelten States? Wenn dem so ist, solange du nur ON oder OFF benutzt, ist es vielleicht nur kosmetisch. Aber wenn du (oder wer immer das Skript nutzt) mal ein TOGGLE machen solltest, ginge das an die Funktionalität.
Gruß,
Alex
-
Wird wohl kosmetischer Art sein das Problem, es sei denn die States werden gespeichert und der Puffer oder was auch immer läuft über
Ich benutze die Dosen in der VIS und eben auch mal manuell.
-
Wird wohl kosmetischer Art sein das Problem, es sei denn die States werden gespeichert und der Puffer oder was auch immer läuft über
Ich benutze die Dosen in der VIS und eben auch mal manuell. `
Hast du eine der beiden Lösungsvarianten probiert?
(cuxd oder Extra-Schaltung in vis?)
Die States sind nicht doppelt, sondern zeigen genau was du schaltest an.
Wenn du zweimal ON schaltest, dann wird auch zweimal protokolliert.