WeMos D1 mini als WLAN-Sensor/-Aktor

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

Moderator: Co-Administratoren

knopers1
Beiträge: 96
Registriert: 03.09.2014, 22:04

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

Beitrag von knopers1 » 03.08.2017, 15:33

@kopy
auf der Seite 177 habe ich alles zusammengetragen. Ein Sketch habe ich eingefügt.
Dort habe ich alles beschrieben was zu tun ist. Selbst ein Bild von mir ist da.

Nimm doch den Sketch,IP muß Du nur noch anpassen, installiere CUxD auf der CCU und erstelle mit CUxD ein Geraet vom Typ (28)System/Exec/ ein Schalter...
Danach muß Du den erstellten Schalter nur noch etwas anpassen. Lese was ich dort eingetragen habe...

Leser genau ab Seite 175 was ich gemacht habe, dort sind alle meine Fragen beantwortet worden. Auf Seite 177 habe ich alles zusammengetragen. Es geht. und dort findest Du alle Informationen was zu tun ist. Du muß wenigstens lesen, sonst wird es nichts... :wink:
Zuletzt geändert von knopers1 am 04.08.2017, 07:50, insgesamt 1-mal geändert.

Benutzeravatar
kopy
Beiträge: 121
Registriert: 28.12.2015, 14:35
Hat sich bedankt: 2 Mal
Danksagung erhalten: 8 Mal

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

Beitrag von kopy » 03.08.2017, 15:44

Vielen Dank, ich werde mir das genau durchlesen und dann nochmal in Ruhe probieren.

Gruß, Gerd

Mikeldk
Beiträge: 157
Registriert: 24.03.2016, 10:25
Danksagung erhalten: 3 Mal

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

Beitrag von Mikeldk » 04.08.2017, 10:13

Hi, hätte mal ne Kurze Frage:

habe gestern mal ein wenig mit dem Code für dem Pir und der Meldung an die CCU in eine Systemvariable rumgetestet hat auch alles so eigentlich funktioniert.
Nur die Systemvariable in der CCU habe ich nicht zum ändern gebracht, gibt es beim anlegen der Systemvariable in der CCU irgendetwas zu beachten ?

Ich hatte einfach die Variable mit dem Namen Bewegung angelegt, was aber nicht funktioniert hatte Verbindung zur CCU war ok

Gruß
Mike

Benutzeravatar
TomT
Beiträge: 565
Registriert: 19.11.2014, 15:13
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 4 Mal
Danksagung erhalten: 4 Mal

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

Beitrag von TomT » 04.08.2017, 13:05

Hallo,

hat von euch schon mal jemand eine UART Bridge mit 2 ESP8266 gebaut?
Ich würde gerne 2 Arduino Nanos direkt per UART über 2 ESP Module Bidirektional miteinander kommunizieren lassen.

Hat da wer ne Idee zu?

Grüße
Tom

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 » 04.08.2017, 20:32

Mikeldk hat geschrieben: Nur die Systemvariable in der CCU habe ich nicht zum ändern gebracht, gibt es beim anlegen der Systemvariable in der CCU irgendetwas zu beachten ?
Wie sieht der Sketch aus, in dem Teil, der die Daten zur CCU sendet?
Welche FW-Version auf der CCU?
Seit der 2.27.7 überwacht die CCU bei eingehenden http-Meldungen deren Syntax strenger. Ältere Sketche müssen an diesen Stellen überarbeitet werden.

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 » 04.08.2017, 20:35

:-)
man sollte mal ein thema aufmachen: i2c sensoren für den esp8266 ... :-)
gerade über YT gefunden: GY-VL53L0XV2 - laser - entfernungssensor für entfernungen unter 2m ....
-------
!!! 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 » 04.08.2017, 20:44

TomT hat geschrieben:Ich würde gerne 2 Arduino Nanos direkt per UART über 2 ESP Module Bidirektional miteinander kommunizieren lassen.
Hab nicht verstanden, was Du machen möchtest. Blockschaltbild wäre hilfeich.
Was ich gemacht habe: 2 ESP8266 tauschen Daten über die serielle Schnitstelle aus, siehe viewtopic.php?p=339949#p339949 .
Debuggen wird dann schwierig. Der ESP8266 hat leider nur eine HW-Serial. Wenn man mehr HW-Serial braucht ist man mit anderen Geräten besser bedient.
Habe für die Kommunikation eine lib verwendet und mir dazu folgendes notiert:

Code: Alles auswählen

   Serial communication according "EasyTransfer"
     https://github.com/madsci1016/Arduino-EasyTransfer/blob/master/EasyTransfer/examples/EasyTransfer_TX_Example/EasyTransfer_TX_Example.pde
	 http://www.billporter.info/2011/05/30/easytransfer-arduino-library/
	 I2C did not work on WeMos ESP8266, serial on HW-Serial just fine

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 » 04.08.2017, 20:47

dondaik hat geschrieben:gerade über YT gefunden: GY-VL53L0XV2 - laser - entfernungssensor für entfernungen unter 2m ....
Hattest Du auch schon mal hier gefunden:
viewtopic.php?p=349989#p349989

Mikeldk
Beiträge: 157
Registriert: 24.03.2016, 10:25
Danksagung erhalten: 3 Mal

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

Beitrag von Mikeldk » 04.08.2017, 20:53

klassisch hat geschrieben:
Mikeldk hat geschrieben: Nur die Systemvariable in der CCU habe ich nicht zum ändern gebracht, gibt es beim anlegen der Systemvariable in der CCU irgendetwas zu beachten ?
Wie sieht der Sketch aus, in dem Teil, der die Daten zur CCU sendet?
Welche FW-Version auf der CCU?
Seit der 2.27.7 überwacht die CCU bei eingehenden http-Meldungen deren Syntax strenger. Ältere Sketche müssen an diesen Stellen überarbeitet werden.

Hi,

also die CCU hat die Neuste 2.29.18
und hier der Code ist dann bestimmt ein alter.

Code: Alles auswählen

/*
 *  PIR an HomeMatic!
 *  4. Schritt: Statusmeldungen an die CCU ueber WLAN
 * 
 *  PIR-Sensor meldet Bewegungen an eine CCU-Systemvariable
 *    
 *  Getesteter Aufbau:
 *     WeMos D1 mini
 *     PIR HC-SR501
 *     Pin-Belegung:
 *        D1: PIR HC-SR501
 *        
 *  7.Maerz 2016 —m.yoda
 */

#include <ESP8266WiFi.h> // Einbinden der WiFi-Library
#include <WiFiClient.h>

// ******* Netzwerkeinstellungen, bitte anpassen! *******
const char* ssid = "WLAN 7270"; // SSID des vorhandenen WLAN
const char* password = "xxxxxxxxxx"; // Passwort für das vorhandene WLAN
IPAddress gateway(192,168,178,1); // IP-Adresse des WLAN-Gateways (mit Kommata!)
IPAddress subnet(255,255,255,0); // Subnetzmaske
IPAddress ip(192,168,178,102); // feste IP-Adresse für den WeMos
const char* host = "192.168.178.70"; // IP-Adresse der CCU (mit Punkten!)
String pirCCUname = "Test"; // Bezeichnung der CCU-Systemvariable für den PIR-Status

const byte pirPin = D1;
boolean status = LOW;
boolean statusJetzt = LOW;

String zeitstempel() { 
  char stempel[10];
  int lfdStunden = millis()/3600000;
  int lfdMinuten = millis()/60000-lfdStunden*60;
  int lfdSekunden = millis()/1000-lfdStunden*3600-lfdMinuten*60;
  sprintf (stempel,"%03d:%02d:%02d", lfdStunden, lfdMinuten, lfdSekunden);
  return stempel;
}

void setup() {
  pinMode(pirPin, INPUT);
  pinMode(BUILTIN_LED, OUTPUT);
  status = digitalRead(pirPin);
  Serial.begin(115200); 
  Serial.println(""); // Leerzeile ausgeben
  Serial.println("WeMos PIR-Sensor");
  Serial.println("");

  // WLAN-Verbindung herstellen
  WiFi.mode(WIFI_STA);
  WiFi.config(ip, gateway, subnet); // auskommentieren, falls eine dynamische IP bezogen werden soll
  WiFi.begin(ssid, password);
  Serial.print("Verbindungsaufbau");

  // Verbindungsaufbau abwarten
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  
  // Verbindungsaufbau an den seriellen Monitor melden
  Serial.println(" erfolgreich!");
  Serial.println("");
  Serial.print("Verbunden mit: ");
  Serial.println(ssid);
  Serial.print("Signalstaerke: ");
  int rssi = WiFi.RSSI();
  Serial.print(rssi);
  Serial.println(" dBm");
  Serial.print("IP-Adresse: ");
  Serial.println(WiFi.localIP());
  Serial.println();
}

void loop() {
  statusJetzt = digitalRead(pirPin);
  if (statusJetzt != status) { // hat sich der Status geaendert? Falls ja:
    status = statusJetzt;
     // Webclient initialisieren
    WiFiClient client;
    // mit dem CCU-Port 8181 verbinden
    if (!client.connect(host, 8181)) {
      Serial.println(zeitstempel() + "  Fehler: Verbindung zur CCU konnte nicht aufgebaut werden");
    }
    // Daten an CCU melden
    client.println("GET /eriwan.exe?antwort=dom.GetObject('" + pirCCUname + "').State('" + status + "')");
    delay(50);
    digitalWrite(BUILTIN_LED, !status);
    Serial.println(zeitstempel() + "  Bewegungsmelder Status: " + String(status));
  }
}

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 » 04.08.2017, 21:23

Ja, alter Code. Mir hat das geholfen:
viewtopic.php?p=350204#p350204

Antworten

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