Moin,
vielen Dank für die Aufnahme .
An Helloween fragte meine Frau mich, ob ich nicht irgendwie die Klingel ausmachen kann.
1. keine Lust tausend mal zu Tür zu rennen
aber das wichtigste ,
2. Unser Kind sollte in ruhe schlafen. Schwierig zZ.
Da wir noch eine einfache einfache Klingel wo die Spule mit 2 drähten versorgt wird, blieb mir nur entweder :1 kabel ab oder Sicherung raus.
Ich entschied mich dann für die Sicherung.
Nachteil: nun bekomme ich nicht mit ( von Helloween abgesehen ) ob jemand geklingelt hat.
Da dachte ich mir : eine Kombi aus Relai und Sensor müsste das ganze doch lösen.
Habe aber nichts passendes gefunden was das ganze noch Homekit fähig macht und für so alte / einfache Klingeln geeignet wäre.
Mit dem Relai könnte ich den Kontakt unterbrechen und gleichzeitig könnte ein Sensor das signal abgreifen .
Somit wäre beides abgedeckt.
Durch zufall bin ich dann auf das " Eigene Smarthome Sensoren & Aktoren mit dem ESP8266 bauen - Homebridge Tutorial deutsch" Video gestoßen.
Nun beschäftige ich mich etwas mit dem Thema wie ich das Relai und den Sensor für ESP vobereite und anschließend das ganze über das WEBHOOK Plugin in Homebridge einbinde.
Ich werde meine Kenntnisse natürlich mitteilen bin aber auch für anregungen infos und Tipps dankbar.
Gute Nacht.
_____________
So das war das Vorwort.
Hier das Ergebnis.
Ich habe es geschafft, meine Analoge einfache Hausklingel Smart zu machen.
Anbei die Ausgangsbasis, dann der Umbau und die Verkabelung und der Code.
Erstmal musste ich schauen, wie meine Klingel verkabelt ist. Zusehen am ersten Bild.
Dann habe ich mich schlau gegoogelt und viel gesucht.
Irgendwann habe ich die Anleitung von Reichert gefunden . Anleitung
etwas Verständnis und Probieren und danach ist meine Schaltung zustande gekommen. Bild 2
Ich habe dann ein 2k Ohm Widerstand genommen, eine Diode und den PC817 Optokoppler .
Nach Rücksprache mit jemanden aus einer FB Gruppe wurde ich bestätigt und ich konnte los bauen.
Ich habe dann viel mit Pascal geschrieben, was den Code angeht und die Einrichtung von Webhook.
Vielen lieben Dank noch einmal, vor allem für die Geduld
Ihr seht in den Bildern 3 und 4 meine Lötfähigkeit xD
Hier seht ihr nun den Code für den Wemos.
- #include <ESP8266WiFi.h>
- #include <ESP8266WebServer.h>
- #include <ESP8266mDNS.h>
- #include <ESP8266HTTPClient.h>
- HTTPClient sender;
- ESP8266WebServer server(80);
- const char* ssid = "Sleeping Beauty Castle";
- const char* password = "51791655432156275384";
- // following for the name of: http://name_esp.local/
- const char* dns_name = "esp8266";
- int relay_pin = 5; //D1
- int klingel = 0;
- // D8
- void setup()
- {
- pinMode(relay_pin, OUTPUT);
- pinMode(klingel, INPUT_PULLUP);
- Serial.begin(9600);
- Serial.println("ESP Gestartet");
- WiFi.begin(ssid, password);
- Serial.print("Verbindung wird hergestellt ...");
- while (WiFi.status() != WL_CONNECTED)
- {
- delay(500);
- Serial.print(".");
- }
- Serial.println();
- Serial.print("Verbunden! IP-Adresse: ");
- Serial.println(WiFi.localIP());
- if (MDNS.begin(dns_name)) {
- Serial.println("DNS gestartet, erreichbar unter: ");
- Serial.println("http://" + String(dns_name) + ".local/");
- }
- server.onNotFound([](){
- server.send(404, "text/plain", "Link wurde nicht gefunden!");
- });
- server.on("/", []() {
- server.send(200, "text/plain", "ESP-Startseite!");
- });
- server.on("/relay_on", []() {
- server.send(200, "text/plain", "relay on");
- relay_on();
- });
- server.on("/relay_off", []() {
- server.send(200, "text/plain", "relay off");
- relay_off();
- });
- server.on("/state", []() {
- server.send(200, "text/plain", String(digitalRead(relay_pin)));
- });
- server.on("/state_Sensor", []() { //NEU
- server.send(200, "text/plain", String(digitalRead(klingel))); //NEU
- });
- server.begin();
- Serial.println("Webserver gestartet.");
- }
- void loop() {
- int sensor_pin = digitalRead(klingel);
- server.handleClient();
- if(sensor_pin == 1)
- {
- sender.begin("http://192.168.178.68:51828/?accessoryId=sensor1&state=true");
- sender.GET();
- }
- if(sensor_pin == 0)
- {
- sender.begin("http://192.168.178.68:51828/?accessoryId=sensor1&state=false");
- sender.GET();
- }
- //Der Anfrage 500ms Zeit geben, bevor die Verbindung zum Server wieder beendet wird
- delay(200);
- sender.end();
- }
- void relay_on(){
- digitalWrite(relay_pin, HIGH);
- }
- void relay_off(){
- digitalWrite(relay_pin, LOW);
- }
danach nur noch das Plugin Webhook in Homebridge installieren, einrichten so wie hier
- {
- "platform": "HttpWebHooks",
- "webhook_port": "51828",
- "cache_directory": "./.node-persist/storage",
- "sensors": [
- {
- "id": "sensor1",
- "name": "Geklingelt",
- "type": "contact"
- }
- ],
- "switches": [
- {
- "id": "switch1",
- "name": "Klingel",
- "on_url": "http://esp-10C45F/relay_on",
- "off_url": "http://esp-10C45F/relay_off"
- }
und siehe da. Bild 5 zeigt euch das Ergebnis in Home
Dank Webhook kann nun per Home, die Klingel ausschalten ( Relay ausschalten ) und bekomme dennoch eine Push Nachricht das geklingelt wurde.
Das ganze ist noch ein Prototyp. Ich habe nur noch kein passendes Gehäuse gefunden, auch ist es etwas hoch. man könnte es noch seitlich aufbauen oder oder oder... Ich bin erstmal zufrieden und der Alltag wird zeigen ob es gut funktioniert.
Das ist mein erstes Projekt was ich umsetzen konnte und meine erste Anleitung. (habt etwas Rücksicht wenn was nicht so toll ist)
Vielen Dank an die Helfer.
Viel Spaß für die, die es evtl nachbauen wollen.