WiFi uP Relais mit Temp/Feuchte mit ESP8266

Ich möchte euch ein super Modul mit dem ESP8266 vorstellen.
Links sind hier ja verboten, ESP8266 Wlan / WiFi Relay in eine Suchmaschine oder in der Bucht
eingeben hilft.
Hier ein Bild des Modul
und noch eins
Wie das Modul in ein WLAN-Netzwerk eingebunden bzw. installiert wird, steht in der Info des Shops.

Was kann es:
über WLAN, UDP, einer Android App, und MQTT nutzbar
ein Relais Ein- oder Ausschalten auch zeitgesteuert z.B. für eine Tasterfunktion
einen Temperatur/Feuchtesensor der DHT-Serie auslesen und zyklisch diese Werte senden.
Hat einen Anschluß-Pin für einen externen Taster (IO15 nach GND) zum Schalten vor Ort ohne WLAN

Was ist besonderes an diesem ESP8266 Modul:
runde kleine Bauform, kann in einer Schalterdose hinter einem Taster sitzen,
ideal für Mietwohnungen, weil es vollständig rückrüstbar ist
könnte in einer Art Busverdrahtung mit 5Volt oder auch per Schaltregler mit 230V~ arbeiten
Das bistabile Relais bekommt nur Strom, wenn es schalten soll.
Also nur eine kleine Standbyleistung.
Mit einer Abdeckung zB von (BuschJäger Art.Nr. 02.659900195) kann es auch als Sensor und Aktor arbeiten

Wie nutzt man es in IP-Symcon:

Man braucht eine Booleanvariable für den Zustand des Relais,
zwei Floatvariablen für Temperatur und Feuchte,
eine IO-UDP Instanz,
einen Cutter und Registervariable für den Zustand des Relais,
einen Cutter und Registervariable für die Temperatur und Feuchte
und ein paar Auswerte- und SchaltScripte, los geht’s


Booleanvariable Typ: ~Switch, Aktionscript ist das ToogleScript, 2 Floatvariablen erstellen
Eine IO-Instanz UDP Socket erstellen,
Empfangshost der IPS-Server, Empfangsport 18666
Sendehost ist das ESP-UP-Modul, Sendeport 18566
IO_Instance.jpg
Wenn man mit dieser Instanz auf Debug geht, dann sieht man folgenden String:
29321,1,192.168.0.22,3,0,E,E,DVES_009BB321
die erste Zahl gehört zu dem ESP-Modul
die 2. Zahl ist iM unwichtig
die 3. Zahl ist die IP-Adresse im WLAN-Netz
die 4. Zahl ist iM unwichtig, gibt die Art der Meldung an, hier 3 für Relais
die 5. Zahl ist für die Zustand-Erkennung des Relais in IPS wichtig
die 6. Zahl ist der Temperaturwert des DHT-Fühlers, ist keiner da steht ein „E“ dort
die 7. Zahl ist der Feuchtewert des DHT-Fühlers, ist keiner da steht ein „E“ dort
Diese Daten werden nun mit einem Cutter bearbeitet um den Zustand des Relais zu erkennen
Dazu erstellt man einen Cutter
linkes Trennzeichen alles was vor der 5.Zahl steht
rechtes Trennzeichen ein Komma
Im Debugfenster des Cutters sollte dann so etwas stehen:
CURRENTBUFER E,E,DVES_009BB32129321,1,192.168.0.22,3,1,E,E,DVES_009BB321
SENDCHUNK 1 oder 0

Mit diesem Cutter füttert man eine Registervariable, also Registervariable erstellen, ausführendes Script wird nach folgendes Script, übergeordnete Instanz ist der eben erstellte Cutter
Lesescript der Registervariable mit folgendem Inhalt:

 <?
//Wird vom WiFi Schalt-Cutter getriggert
if ($_IPS['SENDER'] == "RegisterVariable")
{
    $data = $_IPS['VALUE'];
    if (substr($data,-1) == "1")
   // print(substr($data,-1));
   {
	SetValueBoolean(17919 /*[uP_WiFi_relais\WiFi uP Modul 19]*/,true);
   }
    if (substr($data,-1) == "0")
   {
	SetValueBoolean(17919 /*[uP_WiFi_relais\WiFi uP Modul 19]*/,false);
   }
}
?>

Dieses Script erkennt den Zustand des Relais aufgrund einer Schaltung oder einer zyklischen Meldung.
Die in dem Script benutzte Variable ist die Booleanvariable.
BooleanVar_mit Aktionscript.jpg
Nun will man das Relais ja auch mal aus der Webfront schalten, dazu erstellt man ein neues Script, ein Aktionsscript, mit nach folgendem Inhalt, dieses Script in die Booleanvariable als Aktionsscript eintragen:

 <?
// Dieses Script ist ein Aktionsscript zB Webfront
$Zustand=GetValueBoolean(17919 /*[uP_WiFi_relais\WiFi uP Modul 19]*/);
if ($Zustand == true)
   {
   USCK_SendText(37504 /*[WiFi_UP_Modul_UDP Socket]*/,"3,0");
	//SetValueBoolean(17919 /*[uP_WiFi_relais\WiFi uP Modul 19]*/,false);
   }
if ($Zustand == false)
   {
   USCK_SendText(37504 /*[WiFi_UP_Modul_UDP Socket]*/,"3,1");
	//SetValueBoolean(17919 /*[uP_WiFi_relais\WiFi uP Modul 19]*/,true);
   }
?>

Falls man einen Taster mit diesem uP-Wifi-Relais ansteuern will genügt dieser Scriptinhalt:

<? USCK_SendText(37504 /*[WiFi_UP_Modul_UDP Socket]*/,"9,500"); ?>

Die „9“ steht für Impuls, die nachfolgende Zahl ist die Einschaltzeit in Millisekunden

Wenn man die Temperatur und Feuchte auslesen will, nutzt man einen neuen Cutter und eine neue Registervariable sowie ein Auslesescript.

Cutter: linkes Trennzeichen 29321,1,192.168.0.22,3,
rechtes Trennzeichen ein Komma, übergeordnete Instanz ist die IO-UDP Socket Instanz


Registervariable:
Zielscript ist ein neues Temp Feuchte Auslesescript.
Die übergeordnete Instanz ist der Temp Feuchte Cutter

Inhalt könnte so aussehen, das man die Werte über substring-PHP-Befehl anwendet.
Kann ich iM nicht testen, mir fehlt ein DHT-Fühler, ungefähr nach diesem Muster:

 <?
//Wird vom WiFi Temp Feuchte-Cutter getriggert

if ($_IPS['SENDER'] == "RegisterVariable")
{
    $data = $_IPS['VALUE'];
echo substr($data,2,-2);

//setvaluefloat(22988 /*[uP_WiFi_relais\Feuchte uP WiFi Modul ADR22]*/,substr($data,2,-2));
echo substr($data,4,-4);

//setvaluefloat(22988 /*[uP_WiFi_relais\Feuchte uP WiFi Modul ADR22]*/,substr($data,4,-4));

}
?> 

Ist im Script geremmt, weil das „E“ , das ich bekomme, weil ich keinen Sensor habe, keine Floatzahl ist :wink:

Hier mal ein Bild: Modul unterm Taster


Sollten Fragen auftauchen, ruhig mal die Mail-Funktion nutzen.
Gruß Helmut

Hallo Helmut,

Danke für den Tipp und die Anleitung. Habe mir auch mal eines bestellt, mal sehen was es so kann…:slight_smile:

Joachim

Guten Morgen Joachim,
das Teil ist auch vom Preis der Hammer, deutlich unter 17 Teuronen für ein WLAN Schaltmodul mit diesen Fähigkeiten.

Per Handyapp bis zu 5 Geräte, mit entsprechender Installationsarbeit über IP-Symcon über UDP auch mehr.

Das es mit MQTT, Openhab und Nodered (kenn ich überhaupt nicht) geht, steht in der Info im Shop.

Linuxfreunde bekommen eine Anleitung.

Ich habe im keine Zeit, werde irgendwann noch die Installation von DHT und die Inst. von mehren WLAN uP Modulen aufzeigen.

Gruß Helmut

Super! Habe ich auch gleich geordert.

Jetzt fehlt nur noch der Stromsensor, aber Helmut hat dafür bestimmt schon das passende AddOn…:rolleyes:

Tommi

Hallo Tommi,
das Problem ist, dass es Wechselstrom ist.

Für die Umwandlung auf eine Messpannung für den ESP Analogeingang braucht es viel Platinenplatz.

Und das „Preiswert-Etikett“ ist wohl dann auch weg.

Nun, die Eierlegende Wollmilchsau erfinde ich auch nicht.

Ich hatte den Umbau eines ganz normalen Aus-Lichtschalter zu einem über WLAN fähigen Schalter incl des Erhalt der Schalterfunktion vorgeschlagen.

Umbau ungefähr so wie im Bild im ersten Beitrag

Nachteil das der unter Putz WiFi-Schalter nicht mehr den Zustand der angeschlossenen Leuchte erkennt.

In diesem Zusammenhang kam die Erkennung ins Gespräch.

Der Entwickler der ESP-Software konnte sich eine Zustandserkennung vorstellen.

Mit dem dann integrierten Tasteranschluß, weiß man(n) den Zustand.

Gruß Helmut

Ich dachte an den auch bei dem „Homematic Schaltaktor mit Leistungsmessung“ eingesetzten CS5490, der über UART angeklemmt wird, alle Transformationen für Wechselstrommessung intern macht und nur einen kleinen Shunt und ein wenig „Vogelfutter“ für Filter und Spannungsteiler braucht. Siehe ELV Journal 4/2014 S.25 . Das Programmieren des ESP mit Arduino sollte dann nur noch Fleißarbeit sein.
Leider habe ich noch keine Bezugsquelle für Privat gefunden. Nur die ACS7xx gibt es bei Ebay als Modul.

Tommi

Naja, schau mal wie groß das sein könnte

Gruß Helmut

Ookkk… .Ich würde sagen auf Deinem Bild sind neben dem CS ein Netzteil, OCs sowie ein extra MC zur Ansteuerung des USB drauf. Das würde doch der ESP machen, oder? Deshalb sind damit auch wesentlich Teile mehr drauf als bei http://www.elv.de/Schalten-und-Messen-%E2%80%93-HomeMatic%C2%AE-Funk-Schaltaktor-mit-Leistungsmessung-Teil-2/x.aspx/cid_726/detail_48732

Tommi

Hallo Tommi,
wie Du aus meinen Bastelein erkenn kannst, bin ich ein Freund von solchen preiswerten Dingen, die zur Hausautomation beitragen können.

Ich habe mit dem Entwickler der Firmware dieses WiFi-uP-RelaisModul super gute Erfahrungen gemacht.

Er hat meine Wünsche zur Anbindung dieses Modules an IP-Symcon: Meldungsformat, Tasterfunktion, in seine Firmware eingebunden.
Macht es auch für Openhab, MQTT und was weiß ich was.

Vielleicht kannst Du ihn überreden, dass er seine Platine überarbeitet. Steht aber in Konkurrenz zu dem Homematic-Teil und hat schon ein Gehäuse, CE-Zeichen und Sicherungsbauteile. Ob sich sowas rechnet…

Gruß Helmut

Ich kann ja mal fragen. Evtl. kann man es als optionale Zusatzplatine machen.

Leider hatte ich total verdrängt, das heute am Feiertag keine Post kommt, sonst hätte ich schon mal mit dem Teil spielen können…

Hallo Leute,

Relais ist eingelötet, Netzspannung angeschlossen, es leuchtet rot, blau blinkt.
Leider habe ich kein Android-Gerät.

Jemand eine Idee wie ich jetzt den „ersten Kontakt“ herstelle?

Joachim

Nachtrag:
Mir ist es nun doch gelungen mit einer App dem Modul eine IP zuzuweisen! Zyklisch wird jetzt etwas empfangen, jedoch reagiert er nicht auf den Sendebefehl. Ich habe hier die aktuelle 4.0 auf dem Testsystem. Kann das daran liegen?

Gibt es auch eine empehlenswerte App für das iPhone?

Nachtrag II: Läuft jetzt! (Fehler lag mal wieder 60cm vor dem Monitor…)
Die Frage nach einer iPhone-App bleibt aber…
Helmut, vielen Dank für die Anleitung und den Tipp!

Hi Joachim,

Du solltest doch mal öfter auf ´nen Kaffee rum kommen!

NETIO, ist das Geld wert.

mfg

BerndJ

…ich will ja! Nur einen gemeinsamen Termin zu koordinieren ist ja immer ein wenig schwierig…:wink:

Erst einmal vielen Dank!

Das Modul ist echt sehr platzsparend aufgebaut, die Reaktionszeit für „normale“ Schaltzeiten akzeptabel.

Bei der von Helmut vorgestellten Anwendung als Wechselschaltung fehlt aber leider ja die Kontrolle über den Status des „Geschalteten“.
Ansonsten gibt es eine Anwendung die mir im Moment in den Sinn kommt: Die Steckdosen in der Fensterlaibung für die - insbesondere von Frauen geliebte - Weihnachtsbeleuchtung…:smiley:

Joachim

Hi,

da hab ich immer noch die ganz billigen Schaltsteckdosen aus dem Baumarkt (2,50€) in Verbindung mit Helmut seinem Multi-Truppa im Einsatz; aber wie bereits von Dir erwähnt: ohne Rückkanal.

mfg

Bernd

Kann man eigentlich die WiFi-Parameter (ssid/Password auch über den seriel Port eingeben?

Ich habe das Modul manuell mit einem seriellen Adapter geflasht, sehe jetzt auch schön die Debug-Meldungen und wollte nun ohne die App das gute Stück ins Netz bringen.

Tommi

Hallo Leute,

zwischenzeitlich habe ich das Modul ebenfalls bekommen und in Betrieb genommen.

Leider werden bei mir nicht die Daten für die Temperatur und Luftfeuchte angezeigt, obwohl ich über einen Portscanner die Daten sehen kann.
D.h. in der Debug Anzeige des UDP-Ports kommt nur ein Teil der Daten an die vom EHZ gesendet werden.

Hat jemand hierzu eine Idee?

Gruß

Axel

Hallo Axel,
inzwischen hat der Entwickler die Trennung mit Komma gegen das Semikolon geändert.

Wenn Du meine Beispiele verwendet hast, kann es daran liegen. Mußt sonst mal Deine Debug Daten zeigen.
Gruß Helmut

Hallo Tommi,
glaube, es geht nur über eine App. Wenn Die erst einmal die Parameter übergeben hast, geht es ohne App per UDP und IPS-Symcon.

Gruß Helmut

Hallo Helmut,

meine Debug Daten sehen folgendermaßen aus:

TRANSMIT 3,0
RECEIVED 53073,3,192.168.178.34,3,0

Es kommen auch ausschließlich nur Daten wenn ein Schaltvorgang durchgeführt wird.

Mein Portscanner gibt allerdings als Ziel 255.255.255.255 an und nicht die direkte Adresse meines IP Symcon Servers.

Gruß

Axel

255.255.255.255
das ist auch gut so, so kann man in IP-Symcon von allen WiFi-uP-Module Daten bekommen und diese dann über einen Cutter selektieren, aber…

Bitte zeige mal das Debug-Fenster der UDP-Instance, da müßte alle 10 Sekunden ein Status kommen.