WeMos D1 mini als WLAN-Sensor/-Aktor

Problemlösungen und Hinweise von allgemeinem Interesse zur Haussteuerung mit HomeMatic

Moderator: Co-Administratoren

Benutzeravatar
Gelegenheitsbastler
Beiträge: 586
Registriert: 15.10.2017, 07:29
Hat sich bedankt: 14 Mal
Danksagung erhalten: 41 Mal

Re: WeMos D1 mini als WLAN-Sensor/-Aktor

Beitrag von Gelegenheitsbastler » 30.11.2017, 07:47

Ich musste echt schmunzeln, als ich das gelesen habe. Ist aber hier wirklich etwas OT. Aber auch ich hätte Interesse an solch einer Funklösung. Allerdings muss die klein und akkubetrieben sein. Bisher löse ich das Problem eher dezentral. Ich habe in alle Batteriefächer dieses Projekt verbaut:
Beschreibung hier: https://forum-raspberrypi.de/forum/thre ... eko-timer/
aktuelle Version hier: https://forum-raspberrypi.de/forum/thre ... version-2/
Wenn ich das durch eine Funklösung ersetzen oder ergänzen könnte, die von der HM gesteuert wird, wäre das natürlich noch viel besser.
Das Komplizierteste an der Hausautomatisation ist der WAF.™ ​

Übersicht meiner Projekte


RaspberryMatic 3.47.22.20191026 auf Raspberry Pi 3B mit HomeMatic Funkmodul von ELV und RTC

Etliche selbst gebaute Aktoren und Sender

MathiasZ

Re: WeMos D1 mini als WLAN-Sensor/-Aktor

Beitrag von MathiasZ » 30.11.2017, 08:35

Ich habe jetzt Motor driver bekommen, einen Arduino Uno habe ich schon. Das LAN-Shield lässt noch auf sich warten.
Ich bin beim Überlegen, ob ich einen Motor oder einen Steppermotor verbauen will.

Der (Stepper)Motor sol ein Ventil öffnen, nach ein paar Sekunden wieder schließen.

Ich setze bewußt auf Arduino und LAN-Shield, weil WLAN ist mir da zu heikel. Ausserdem kann ich den Arduino über PoE versorgen. Einen entsprechenden PoE-Splitter habe ich auch.
Gruß,
Mathias

Gesendet von meinem SM-N915FY mit Tapatalk

dondaik
Beiträge: 12929
Registriert: 16.01.2009, 18:48
Wohnort: Steingaden
Hat sich bedankt: 1604 Mal
Danksagung erhalten: 222 Mal

Re: WeMos D1 mini als WLAN-Sensor/-Aktor

Beitrag von dondaik » 30.11.2017, 16:57

@Gelegenheitsbastler
eigentlich ist die funklösung recht einfach ( liegt auch hier irgendwo rum ) es gibt im wemos 1-2 sketche die schalten von der ccu seite ein relais ( ua m.yoda) wäre halt die winterabendaufgabe das mit einem esp32 zu machen denn der hat zudem, bei bedarf, ein recht gutes DS verhalten ( siehe andreas spies bei yt )

viewtopic.php?f=31&t=29321#p263120
Zuletzt geändert von dondaik am 30.11.2017, 21:03, insgesamt 1-mal geändert.
-------
!!! der download der handbüchern auf den seiten von eq3 und das lesen der tips und tricks kann das hm-leben sehr erleichtern - das nutzen der suche nach schlagworten ebenso :mrgreen: !!!
wer schreibfehler findet darf sie behalten.

dondaik
Beiträge: 12929
Registriert: 16.01.2009, 18:48
Wohnort: Steingaden
Hat sich bedankt: 1604 Mal
Danksagung erhalten: 222 Mal

Re: WeMos D1 mini als WLAN-Sensor/-Aktor

Beitrag von dondaik » 30.11.2017, 17:11

ups gerad gefunden der suchbgriff war "xmas timer ic" :-) :-)

http://www.ebay.de/itm/5pcs-Multifuncti ... SwHnFVjYpJ

https://www.ebay.de/itm/10Pcs-Multifunc ... 0005.m2219

doch das ic ist ja nur die halbe miete / timer...
-------
!!! der download der handbüchern auf den seiten von eq3 und das lesen der tips und tricks kann das hm-leben sehr erleichtern - das nutzen der suche nach schlagworten ebenso :mrgreen: !!!
wer schreibfehler findet darf sie behalten.

klassisch
Beiträge: 3974
Registriert: 24.03.2011, 04:32
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 110 Mal
Danksagung erhalten: 71 Mal

Re: WeMos D1 mini als WLAN-Sensor/-Aktor

Beitrag von klassisch » 30.11.2017, 21:19

Wenn Ihr schon eine HM habt, dann nehmt doch einfach einen HM Schaltaktor, den einfach- oder den Vierfach als Bausatz. Die IRLML2502
MOSFETs können schon ein paar Ampere schalten. Werden gerne für Drohnenmotore verwendet. So viel werden batteriebetrieben Lichterketten nicht brauchen.
Falls Ihr doch mehr schalten wollt: Noch ein IRF3708 dahinter.

klassisch
Beiträge: 3974
Registriert: 24.03.2011, 04:32
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 110 Mal
Danksagung erhalten: 71 Mal

WLAN-Katastrophe - wie verhindern?

Beitrag von klassisch » 30.11.2017, 21:23

Hallo,

hatte heute eine sehr seltsamen Effekt. Als ich heute heimkam, waren etliche (nicht alle) meiner ESP8266 nicht mehr erreichbar. Intern haben sie noch gearbeitet, aber die WLAN-Verbindung war weg. Und kam auch nicht mehr. Es braucht dazu einen Reset. Besonders betroffen war die mit schechterem RSSI.
Wie kann das kommen (Fritzbox 7490) und vor allem: Was muß ich beim Programmieren der ESPs beachten, damit sie sich nach einem solchen Event wieder fangen?

dondaik
Beiträge: 12929
Registriert: 16.01.2009, 18:48
Wohnort: Steingaden
Hat sich bedankt: 1604 Mal
Danksagung erhalten: 222 Mal

Re: WeMos D1 mini als WLAN-Sensor/-Aktor

Beitrag von dondaik » 30.11.2017, 21:48

hatte das noch nicht, ggf die ip des esp zwischendurch abfragen - bei verlust ein rebbot ? ansonsten hatte ich nur mal eine "endlosschleife" in der loop für die einwahl, ggf ist da ein weiterer ansatz das er diese nach xx fehlversuchen verläßt ( idee ansatz dazu bei yt bitbastelei, der hat das mal bei einem esp mit dht22 beschrieben welchen er zur serverraumtemperatur benutzt.. ( hoffe ich habe die stelle richtig behalten )
-------
!!! der download der handbüchern auf den seiten von eq3 und das lesen der tips und tricks kann das hm-leben sehr erleichtern - das nutzen der suche nach schlagworten ebenso :mrgreen: !!!
wer schreibfehler findet darf sie behalten.

robsdobs
Beiträge: 510
Registriert: 08.08.2015, 22:52
Danksagung erhalten: 1 Mal

Re: WeMos D1 mini als WLAN-Sensor/-Aktor

Beitrag von robsdobs » 30.11.2017, 22:43

Das Problem habe ich auch regelmäßig.

Ich habe zwei Wemos in der Garage mit sehr schlechten WLAN (Decke, Wände mit sehr viel Stahl).

Bei mir versuchen die Wemos sich zwar bei WLAN Unterbrechung stündlich wiederzuverbinden, das hat funktioniert nicht immer. Zusätzlich habe ich eingebaut, dass diese einen Reset nach 10 Verbindungsversuchen ausführen. Damit kommen diese meist nach 10h wieder.

Gefällt mir aber auch noch nicht und suche generell eine andere Variante, beforzugt per Kabel. Lan Kabel könnte ich verlegen, genauso wie ich HM Wired nicht weit weg habe.
sehr selten im Forum

klassisch
Beiträge: 3974
Registriert: 24.03.2011, 04:32
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 110 Mal
Danksagung erhalten: 71 Mal

Re: WeMos D1 mini als WLAN-Sensor/-Aktor

Beitrag von klassisch » 01.12.2017, 03:21

robsdobs hat geschrieben:Das Problem habe ich auch regelmäßig.
Ich will mich nicht übermäßig beschweren. >250 Tage uptime sind nicht wirklich schlecht.
robsdobs hat geschrieben:Ich habe zwei Wemos in der Garage mit sehr schlechten WLAN (Decke, Wände mit sehr viel Stahl). ..... Gefällt mir aber auch noch nicht und suche generell eine andere Variante, beforzugt per Kabel. Lan Kabel könnte ich verlegen, genauso wie ich HM Wired nicht weit weg habe.
Garage und Garten (hängt noch hinter der Garage) haben überlebt. Die haben bei mir -62dBm bzw. -68dBm. Ich habe LAN im Dachboden und dort meine alte Fritzbox 7170 als AP ans LAN angeschlossen. Der 7170 habe ich eine gemäßigte Richtantenne verpasst und leuchte damit diesen Teil des Garten und dir Garage aus. Sowas könntest Du auch machen. LAN-Kabei in die Garage. und einen Access Point dran. Access Points gibt es schon recht preisgünstig. Damit überstehst Du die Zeit bis es ESP?? mit einer LAN-Möglichkeit gibt. Allerdings könnte je nach räumlichen Gegebenheiten dann das LAN für Angreifer einfacher zu errechen sein. Dann bräuchtest Du einen managed switch, der den Zugang zur Garagenleitung auf die zugelassenen Teilnehmer begrenzt.
Ich hatte auch mal einen sehr billigen Chinesischen AP im Keller. Damit waren die RSSI aller ESPs recht ordentlich. Ich hatte den AP unter der selben SSID wie die Haupt-Fritzbox laufen. Und damit hatte mein Smartphone manchmal Problem und hat dann bei Zonenwechsel ein zeitlang nicht mehr alle WeMos ansprechen können. Der Verzicht auf den zweiten AP im Keller war dann unterm Strich angenehmer und hinreichend stabil. Also >250 Tage uptime ist ja nicht wirklich schlecht. Aber gestern muß irgendwas mit dem WLAN passiert sein. Und es traf auch einen mit -74dBm. Hatte vor diesen >250 Tagen auch einen sehr seltsamen Fall. Da haben sich eine ganze Reihe von ESPs synchron resettet. Netzausfall war wahrscheinich nicht die Ursache, denn dann hätten sich meine HM-MOD-EM-8 mit Netzausfallerkennung und Backup gemeldet hätten.
robsdobs hat geschrieben:Bei mir versuchen die Wemos sich zwar bei WLAN Unterbrechung stündlich wiederzuverbinden, das hat funktioniert nicht immer. Zusätzlich habe ich eingebaut, dass diese einen Reset nach 10 Verbindungsversuchen ausführen. Damit kommen diese meist nach 10h wieder.
Wie hast Du das gemacht? Also Erkennung des Offline-Status und die Gegenmaßnahmen? Da wäre ich an Codeschnipseln sehr interessiert.

fsommer1968
Beiträge: 230
Registriert: 16.02.2008, 17:05
Danksagung erhalten: 9 Mal

Re: WeMos D1 mini als WLAN-Sensor/-Aktor

Beitrag von fsommer1968 » 01.12.2017, 17:07

Hallo klassisch,

hier sind ein paar Codeschnipsel zum Thema WLAN und Connection Aufbau/reboot
Gruss

Frank

Code: Alles auswählen

//Codeschnipsel fuer eine schnellere WLAN Verbindungsprozedur

// Das muss an den Anfang des Sketch
#define TIMEOUT_WLAN_VALID (7200)*1000 // Zeit in sekunden die ohne WLAN gewartet wird
#define FALLBACK_IP  192,168,4,1
#define FALLBACK_DNS 192,168,4,1
#define FALLBACK_GW  192,168,4,1

// Das muss irgendwo in den Sketch und von init() aufgerufen werden
void do_connect_wlan(){
  WiFi.mode(WIFI_STA);
  char isSSID[64];
  strcpy(isSSID,WiFi.SSID().c_str());
  if ((strcmp(isSSID,cfg.wlssid)!=0)&&(strcmp(cfg.wlssid,"")!=0)) {
    #ifdef FSDEBUG
    Serial.println("");
    Serial.print("new WLAN config: ");
    Serial.println(millis());
    #endif    
    WEB_DEBUG1("new WLAN config: ",cfg.wlssid);

    WiFi.begin(cfg.wlssid, cfg.wlpwd);
    wifi_station_set_auto_connect(true);
   } else {
    #ifdef FSDEBUG
    Serial.println("");
    Serial.print("existing WLAN config: ");
    Serial.println(millis());
    #endif
  }
  
   while ((WiFi.status() != WL_CONNECTED)&& ((millis()) < (1000UL*cfg.wlmaxr))) {
    delay(250);
   #ifdef FSDEBUG
   Serial.print(".");
   #endif
   }
   #ifdef FSDEBUG
   Serial.println();
   #endif
   // Wenn kein AP erreicht wird, spanne ein eigenes Netz auf
   // Diesen Block kann man auch weglassen
   if (WiFi.status() != WL_CONNECTED) {    
     #ifdef FSDEBUG
     Serial.print("WLAN Parameter: ");
     Serial.print(cfg.wlssid);
     Serial.print(" / ");
     Serial.println(cfg.wlpwd);*/
     #endif
     WiFi.mode(WIFI_AP);
     IPAddress fallbackIP(FALLBACK_IP); // Fallback bei fehlendem WLAN
     IPAddress fallbackDNS(FALLBACK_DNS);
     IPAddress fallbackGW(FALLBACK_GW);
     WiFi.config(fallbackIP,fallbackGW,IPAddress(255,255,255,0),fallbackDNS);  // im Sourcecode der Klasse geprueft :-( 
     WiFi.begin(cfg.wlssid, cfg.wlpwd);
    } else {
    //WiFi.config(WiFi.localIP(),IPAddress(192,168,178,1),IPAddress(255,255,255,0),IPAddress(192,168,178,1));
   }
  #endif //GOLDBACH
}

//Codeschnipsel fuer WLAN Neuaufbau und ggf. reboot
// Das muss an den Anfang des Sketch
static unsigned long offlinelooptm=0;
static byte reboot_request = 0;

// Das muss an den Anfang von loop()
 if (reboot_request == 1)
    ESP.restart(); // Neustart
	
// Das muss irgendwo in loop() rein
if(WiFi.status()!=WL_CONNECTED) {  // Wenn keine WLAN Verbindung
   if (offlinelooptm==0) { 
     offlinelooptm=millis();        // Verbindungsabbruch Zeitstempel merken
     String tmp_cmd = F("Fehler WLAN Verbindung");
     logentry_add (tmp_cmd,0);
	 // do_connect_wlan();     //zum testen mal einbauen, k.a. ob es was bringt
    } else {
     if (abs(millis()-offlinelooptm)> TIMEOUT_WLAN_VALID)  
       reboot_request=1;             // Reboot wenn mehr als TIMEOUT_WLAN_VALID keine WLAN Verbindung
   }
  } else {
   if (offlinelooptm>0){ 
     String tmp_cmd = F("WLAN Verbindung aufgebaut");
     logentry_add (tmp_cmd,0);
     offlinelooptm=0; 
   } 
}
 

Antworten

Zurück zu „HomeMatic Tipps & Tricks - keine Fragen!“