Hallo,
vielleicht gehört es auch in die Anfängerfragen. Ich bitte daher um Entschuldigung falls ich hier falsch bin.
Ich habe bisher FHEM auf einem Raspberry Pi 3 am Laufen mit zwei Selbstbau NanoCuls.
Da ich nun aber viel vom WeMos D1 ESP8266 gelesen habe würde ich nun gerne damit beginnen.
Der ESP8266 hat ja einige GPIO's daher würde ich gerne im Idealfall auch nur einen dafür benutzen.
In diesem Fall würde ich gerne eine Komplettlösung für den Hausflur (Siehe Bild) haben:
- Klingelsignalerkennung mit einem Relais/Brückengleichrichter/Elko(2 Drähte einfache Türklingel)
- Einfacher Taster direkt an der Wohnungstür als 2. Klingel (separat)
- Magnetkontakt z.B. diesen hier: https://www.conrad.de/de/magnetkontakt-abus-fu7350w-750754.html?gclid=EAIaIQobChMIg_f6hf-P1QIVIrHtCh2N1wxtEAQYASABEgJRh_D_BwE&insert_kz=VQ&ef_id=WLbvIAAAAQc5aoer:20170717092248:s (https://www.conrad.de/de/magnetkontakt-abus-fu7350w-750754.html?gclid=EAIaIQobChMIg_f6hf-P1QIVIrHtCh2N1wxtEAQYASABEgJRh_D_BwE&insert_kz=VQ&ef_id=WLbvIAAAAQc5aoer:20170717092248:s)
- PIR Bewegungsmelder
- eventuell: DHT22 oder DHT11 für Temperatur
Wäre es möglich das alles an einem ESP8266 zu realisieren?
Wie setzt man so etwas am besten um?
Gerade die Klingelerkennung ist mir sehr wichtig. Welche Komponenten bräuchte ich dafür.
Vielleicht hat jemand so etwas oder einzelne Punkte bereits umgesetzt.
Vielen Dank schon mal.
Wichtig ist der ESP verträgt nur 3,3V an den GPIOs. Das heißt mehr und das Teil ist gebraten. Dementsprechend muss man genau darauf achten das die Spannung und Stromstärken innerhalb des erlaubten bleiben.
Klingel, Taster und Magnetkontakt sollten eigentlich per Pull-Up oder Pull-Down an einen GPIO angeschlossen werden können. Sprich das wären 3 belegte GPIO Ports. Je nach dem wie man den DHT22 anschließt sind es 2 oder 1 Pin. PIR weiß ich im Moment gar nicht wie viele Kabel der braucht. Anschließen sollte eigentlich machbar sein. Software technisch könnte das interessant werden, man müsste mit Interrupts arbeiten damit die Signale auch alle erfasst werden, mit reinen Lesezyklen und dann benachrichtigen von FHEM könnte es passieren das man ein Signal verpasst.
Sollte gehen der PIR braucht auch nur 1 Leitung (und halt +- aber das ja egal)
Moin Rakete,
Zitat von: Rakete0815 am 17 Juli 2017, 13:36:28
Wäre es möglich das alles an einem ESP8266 zu realisieren?
Klar, mit dem ESP könntest du locker einige Saturn5 Raketen zum Mond navigieren..... 8)
Rechenpower und Hardware lassen da keine Wünsche über.
Zitat von: Rakete0815 am 17 Juli 2017, 13:36:28
Wie setzt man so etwas am besten um?
Du muss dir zu Anfang einige Fragen stellen:
- Welche Versorgungsspannung steht dir zur Verfügung, sinnvolle Batterienutzung fällt momentan noch aus.
- Wo möchtest du die Schaltung installieren, UP-Dose, kleines Gehäuse?
- Wie möchtest du den ESP an FHEM anbinden? WEB, UDP, MQTT
- braucht die Schaltung noch Reserven oder bleibt es bei der Anbindung?
Ich würde einen I2C-Portexpander empfehlen (MCP23017), damit hast du zusätzliche 16-IOs.
Schau mal z.B. hier:
- http://www.s6z.de/cms/index.php/homeautomation-homecontrol/hardwareplattformen/esp8266 (http://www.s6z.de/cms/index.php/homeautomation-homecontrol/hardwareplattformen/esp8266)
- https://forum.fhem.de/index.php/topic,67303.0.html (https://forum.fhem.de/index.php/topic,67303.0.html)
- https://forum.fhem.de/index.php/topic,63898.0.htm (https://forum.fhem.de/index.php/topic,63898.0.htm)l
- https://forum.fhem.de/index.php/topic,50238.0.html (https://forum.fhem.de/index.php/topic,50238.0.html)l
Gruß
Pf@nne
Zitat von: Rakete0815 am 17 Juli 2017, 13:36:28Gerade die Klingelerkennung ist mir sehr wichtig. Welche Komponenten bräuchte ich dafür.
Schau mal hier (http://blog.heimetli.ch/raspberry-pi-wechselstrom-klingel.html).
Oder beim DoorPi-Projekt (https://forum.fhem.de/index.php/topic,49877.0.html).
Zitat von: Rakete0815 am 17 Juli 2017, 13:36:28
Wie setzt man so etwas am besten um?
Hi,
am einfachsten ESPEasy drauf flashen und in FHEM mit dem ESPEasy Modul einbinden.
Was Du hast sind dann zwei Geräte die in ESPEasy direkt unterstützt werden und zweimal einfach Switch Input. Das aufwändigste wird das Netzteil und alles so verpacken, dass es gut aussieht.
Gruß Otto
Na das hört sich ja alles schon mal prima an :)
Vielen Dank für die Antworten. Ich werde heute Abend gleich mal die ganzen Links studieren.
Zitat von: Pf@nne am 17 Juli 2017, 20:22:32
- Welche Versorgungsspannung steht dir zur Verfügung, sinnvolle Batterienutzung fällt momentan noch aus.
Es ist eine Steckdose vorhanden. Daher sollte die Stromversorgung kein Problem darstellen.
Zitat von: Pf@nne am 17 Juli 2017, 20:22:32
- Wo möchtest du die Schaltung installieren, UP-Dose, kleines Gehäuse?
Das würde ich gerne in ein kleines Gehäuse einbauen.
Zitat von: Pf@nne am 17 Juli 2017, 20:22:32
- Wie möchtest du den ESP an FHEM anbinden? WEB, UDP, MQTT
Das wäre auch meine Frage :)
Die wurde aber gerade scheinbar beantwortet:
Zitat von: Otto123 am 18 Juli 2017, 15:44:28
Hi,
am einfachsten ESPEasy drauf flashen und in FHEM mit dem ESPEasy Modul einbinden.
Vielen Dank auch an dich :)
Zitat von: Pf@nne am 17 Juli 2017, 20:22:32
- braucht die Schaltung noch Reserven oder bleibt es bei der Anbindung?
Ich denke das wird das Maximum sein was im Flur umgesetzt werden soll.
Die Temperatur im Flur ist mir jetzt auch nicht wirklich wichtig.
Derzeit habe ich noch eine Sirene im Flur über eine Funksteckdose angeschlossen.
Das wollte ich irgendwann noch einmal anders machen, wäre eventuell noch ne Möglichkeit.
Muss aber nicht sein.
Allen anderen auch schon einmal vielen Dank für eure Antworten.
So bin ich gestartet -> http://heinz-otto.blogspot.de/2017/01/esp8266-in-fhem.html
Fand ich wirklich einfach. Aber wie immer -> 1000 Wege 8)
Heute bin ich endlich dazu gekommen einen D1 Mini zu flashen.
Habe testweise mal einen DHT11 angeschlossen. Funktioniert prima.
Ich bin bis jetzt wirklich begeistert und werde wohl noch ein paar von den Minis bestellen.
Nun noch einmal zum Thema:
Neben dem DHT11 (GPIO-12) habe ich einen einfachen Taster (GPIO-0) angeschlossen und als Switch konfiguriert.
Nach jedem Tastendruck wechselt er den Status 0/1. Bei einer Klingel schalte ich aber nichts ein oder aus sondern
es gibt nur einen kurzen Impuls.
Beispiel:
Klingel unberührt: Status 0
Klingel wird betätigt: Status 1
und danach direkt wieder Status 0
Switch input wäre ja falsch oder ? Welches Device müsste ich bei ESP Easy wählen?
Oder wird das in FHEM geregelt (Dummy, DOIF, Event?)
Ich habe gestern einige Teile bestellt.
Sobald die da sind möchte ich die Türklingel entsprechend dieser Anleitung einbinden:
Zitat von: Per am 18 Juli 2017, 13:22:03
Schau mal hier (http://blog.heimetli.ch/raspberry-pi-wechselstrom-klingel.html).
:)
Ich wollte nun den DHT11 in meine Homebridge einbinden. Dachte da an einen Homekittauglichen Dummy.
Leider bekommt der Dummy keine Daten. Wo ist mein Denkfehler?
Oder ist das alles Quatsch und es geht einfacher?
Der Dummy...
define Haustuer.DHT11 dummy
attr Haustuer.DHT11 genericDeviceType thermometer
attr Haustuer.DHT11 homebridgeMapping Tem=temperature Hum=humidity
attr Haustuer.DHT11 icon temp_temperature
attr Haustuer.DHT11 room Homekit
attr Haustuer.DHT11 stateFormat Hum: humidity% - Tem: temperature°C
Soll über diesen Notify...
define Haustuer.DHT11.notify notify ESPEasy_Haustuer_Test:(Tem|Hum).* {\
fhem("setreading Haustuer.DHT11 $EVENT");;\
Die Daten von diesem DHT11 bekommen:
define ESPEasy_Haustuer_Test ESPEasy IP 80 espBridge Haustuer_Test
attr ESPEasy_Haustuer_Test IODev espBridge
attr ESPEasy_Haustuer_Test Interval 300
attr ESPEasy_Haustuer_Test group ESPEasy Device
attr ESPEasy_Haustuer_Test presenceCheck 1
attr ESPEasy_Haustuer_Test readingSwitchText 1
attr ESPEasy_Haustuer_Test room ESPEasy
attr ESPEasy_Haustuer_Test setState 3
Das State sieht so aus: STATE Hum: 61.0 Tem: 24.0
Zitat von: Rakete0815 am 23 Juli 2017, 00:31:15
define Haustuer.DHT11.notify notify Haustuer.DHT11.notify notify ESPEasy_Haustuer_Test:(Tem|Hum).* {\
fhem("setreading Haustuer.DHT11 $EVENT");;\
Wenn es kein cut'n'paste Fehler im Forum ist, könnte
define Haustuer.DHT11.notify notify ESPEasy_Haustuer_Test:(Tem|Hum).* {\
fhem("setreading Haustuer.DHT11 $EVENT");;\
gehen.
Danke aber das war es leider nicht. War scheinbar wirklich ein Copy/Paste Fehler habe es korrigiert.
Ich habe es jetzt noch einmal ohne dummy und notify probiert.
Nun habe ich in der Apple Home App zwar dieses Thermometer aber es zeigt 0° an ???
define ESPEasy_Haustuer_Test ESPEasy IP 80 espBridge Haustuer_Test
attr ESPEasy_Haustuer_Test IODev espBridge
attr ESPEasy_Haustuer_Test Interval 300
attr ESPEasy_Haustuer_Test alias Thermometer Wohnungstür
attr ESPEasy_Haustuer_Test genericDeviceType thermometer
attr ESPEasy_Haustuer_Test group ESPEasy Device
attr ESPEasy_Haustuer_Test homebridgeMapping Tem=temperature Hum=humidity
attr ESPEasy_Haustuer_Test presenceCheck 1
attr ESPEasy_Haustuer_Test readingSwitchText 1
attr ESPEasy_Haustuer_Test room ESPEasy,Homekit
attr ESPEasy_Haustuer_Test setState 3
attr ESPEasy_Haustuer_Test stateFormat Hum: Humidity% - Tem: Temperature°C
Läuft jetzt. :)
Es lag am HomebridgeMapping.
CurrentTemperature=Temperature CurrentRelativeHumidity=Humidity
So funktioniert es.
Magnetkontakt läuft auch.
Nun fehlen nur noch die bestellten Teil damit es weiter gehen kann.
So langsam trudeln die Päckchen hier ein. :)
Ich hoffe, dass ich am Wochenende die Klingelerkennung zusammenbasteln kann.
Nun wird es doch noch etwas interessant... und wieder passend zum Thema "mehrere Sensoren an einem ESP8266".
Ich werde schauen, ob ich das ganze nun wirklich ausreizen kann oder ob ich im Hausflur noch einen zweiten WeMos brauche.
Folgende Sensoren / Aktoren möchte ich verwenden:
Grün = läuft
- Türkontakt
- DHT11
- Klingelerkennung
- Taster als 2. Klingel Wohnungstür
- Piezo Alarm über GPIO direkt
- LED-Blitz der Alarmanlage (12V) über ein Relais-Shield
= 6 GPIO'sDas alles soll in dieses Gehäuse (siehe Anhang):
https://www.reichelt.de/?ARTICLE=62385&PROVID=2788&wt_mc=amc141526782519998&gclid=EAIaIQobChMI4IjU4s2p1QIVzZEbCh27awZdEAkYAiABEgIu1fD_BwE (https://www.reichelt.de/?ARTICLE=62385&PROVID=2788&wt_mc=amc141526782519998&gclid=EAIaIQobChMI4IjU4s2p1QIVzZEbCh27awZdEAkYAiABEgIu1fD_BwE)
Desweiteren würde ich noch gerne folgendes Umsetzen:
Ein Stückchen weiter, im Flur, ist an der Decke ein einfacher Rauchmelder angebracht.
Diesen würde ich auch gerne "smart" machen. (Leitung dorthin legen ist kein Problem)
Nun würde ich gerne das Alarmsignal abgreifen (sollte kein Problem sein)
Ich möchte aber auch gerne wissen wann die 9V Batterie leer geht.
Und das aus 2 Gründen:
1. ganz klar die Sicherheit
2. piept das Teil auch wenn die Batterie leer geht, was wiederum bedeutet, dass ich eine PushNachricht (Feuer!) erhalte sofern ich das Signal über den Piezo-Buzzer abgreife.
Daher dachte ich an sowas:
http://www.ebay.de/itm/Spannungssensor-Spannung-Strom-messen-Sensor-Stromsensor-Arduino-Raspberry-Pi-/252715004567?hash=item3ad6fcf297:g:yvQAAOSwxxdZZXER (http://www.ebay.de/itm/Spannungssensor-Spannung-Strom-messen-Sensor-Stromsensor-Arduino-Raspberry-Pi-/252715004567?hash=item3ad6fcf297:g:yvQAAOSwxxdZZXER)
kann ich das mit dem Wemos Mini nutzen und die Daten über ESPEasy und FHEM auswerten?
Das wären nochmal
2 GPIO's für den Rauchmelder
Und dann könnte man ja in das Rauchmeldergehäuse noch einen PIR-Bewegungssensor (
1 GPIO) einbauen.
Zu guter letzt wäre da noch eine indirekte LED-Beleuchtung (einfarbig daher
1 GPIO), die nachts in Verbindung mit dem PIR den Weg zum Bad erleuchten soll :)
Macht insgesamt
10 GPIOS ;D D0-D8 sind ja 9 was ist z.B. mit A0?
Fragen über Fragen mir qualmt schon der Kopf.... und im Hinterkopf sind schon die nächsten Projekte... ;D
Zitatwas ist z.B. mit A0?
Ist der analoge Eingang 8)
Du kannst die GPIOs binär kodieren, da hast Du 2 hoch 9 - sorry liegt wohl am Wisky vor mir 8)
Du kannst einen zweiten Wemos nehmen, da sparst Du Kabel.
Oder D9 (RX) und D10 (TX) - die serielle Schnittstelle.
Gruß Otto
Zitat von: Rakete0815 am 27 Juli 2017, 16:13:32Ich möchte aber auch gerne wissen wann die 9V Batterie leer geht.
Wenn du eh ein Kabel hoch legst, versorge ihn doch von unten mit Strom. Dann musst du auch nicht mehr hochklettern zum Batteriewechsel.
Hallo
ich habe gestern die Klingelsignalerkennung auf einem ProtoShield zusammengelötet.
Anschlüsse für Türkontakt, DHT und Buzzer habe ich auch gleich draufgesetzt.
Nun habe ich die Türklingel in ESPEasy als Switch - Push Button active high angelegt.
In FHEM wird nun der State bei jedem klingeln auf on/off gesetzt.
Gibt es da ne Möglichkeit das ganze direkt im Device zu ändern oder legt man
dafür besser einen Dummy an, der mir mein gewünschtes DingDong ausgibt.
In Apple Home wird mir dementsprechend auch ein Contact angezeigt mit dem Status offen oder
geschlossen.
Zitat von: Otto123 am 27 Juli 2017, 20:40:05
Ist der analoge Eingang 8)
Du kannst die GPIOs binär kodieren, da hast Du 2 hoch 9 - sorry liegt wohl am Wisky vor mir 8)
Du kannst einen zweiten Wemos nehmen, da sparst Du Kabel.
Oder D9 (RX) und D10 (TX) - die serielle Schnittstelle.
Gruß Otto
Ja dann werde ich wohl die 4€ für einen zweiten Wemos im Flur investieren :)
Zitat von: Per am 28 Juli 2017, 11:33:08
Wenn du eh ein Kabel hoch legst, versorge ihn doch von unten mit Strom. Dann musst du auch nicht mehr hochklettern zum Batteriewechsel.
Das möchte ich eher ungern, da bei einem Stromausfall dann nicht einmal mehr
der Rauchmelder selbst einen Ton von sich gibt. Das kann ich erst machen wenn ich eine Notstromversorgung für FHEM habe. ;D
Zitat von: Rakete0815 am 29 Juli 2017, 12:53:38
Nun habe ich die Türklingel in ESPEasy als Switch - Push Button active high angelegt.
In FHEM wird nun der State bei jedem klingeln auf on/off gesetzt.
Gibt es da ne Möglichkeit das ganze direkt im Device zu ändern oder legt man
dafür besser einen Dummy an, der mir mein gewünschtes DingDong ausgibt.
Hi,
ich verstehe die Frage nicht wirklich, aber ich ahne Du meinst das hier -> https://forum.fhem.de/index.php/topic,74725.msg665131.html#msg665131
Weil: Push Button active high würde ich für die Klingel nicht nehmen ;D
Gruß Otto
:o Ja stimmt Normal Switch ist das richtige... Danke :)
Das war wirklich ein Denkfehler ::)
zu früh gefreut... :(
Seit gestern Abend funktioniert die Klingelerkennung einfach so nicht mehr.
Mittags ging noch alles einwandfrei. Ich bekomme einfach keine Benachrichtigung mehr.
Alles Andere (Türkontakt, DHT) funktioniert.
In den Logs von ESPEasy wird kein State-Wechsel erkannt. Also kann ich FHEM und Pushover ausschließen.
Die Klingel selber funktioniert.
Kann es auch ein Fehler in ESPEasy sein oder hat sich hardwareseitig meine Schaltung verabschiedet?
Edit: eben ging es mal wieder und dann wieder nicht...
Heute (2.8.2017) kamen aufeinmal 5 PushoverNachrichten, dass es geklingelt hat obwohl keiner geklingelt hatte. :o
Es ist zum Mäuse melken... :-\
Ich vermute mal das zum einen die Impulse zu kurz sind das ESPEasy diese schlicht einfach nicht mit bekommt (kann sehr gut der Fall sein wenn ohne Interrupts gearbeitet wird) und das andere ist das du vermutlich keinen Pull-Up oder Pull-Down geschaltet hast für den Eingang der Klingel am GPIO. Wenn man das nicht macht und ein undefiniertes Signal anliegt, haben die GPIOs gerne mal die Eigenschaft zu schwingen, sprich immer von High auf Low und umgekehrt wechseln.
Wenn ESPEasy nicht mit kurzen Impulsen klar kommt bleibt die Möglichkeit eine eigene Software zu schreiben oder per Hardware ein Monoflop davor zu schalten um ein stabiles zeitlich langes Signal zu bekommen.
Hallo Danke für deine Antwort
Zitat von: sbiermann am 02 August 2017, 16:43:01
Ich vermute mal das zum einen die Impulse zu kurz sind das ESPEasy diese schlicht einfach nicht mit bekommt (kann sehr gut der Fall sein wenn ohne Interrupts gearbeitet wird)
Wie kann ich das korrigieren/verbessern?
Zitat von: sbiermann am 02 August 2017, 16:43:01
und das andere ist das du vermutlich keinen Pull-Up oder Pull-Down geschaltet hast für den Eingang der Klingel am GPIO.
Ich habe diese Schaltung nachgebaut dort wurde ein 4k7 Pull-Up verwendet:http://blog.heimetli.ch/raspberry-pi-wechselstrom-klingel.html (http://blog.heimetli.ch/raspberry-pi-wechselstrom-klingel.html)
Hi,
eigentlich hat der ESP auch einen aktivierbaren PullUp an Board, was hast Du genau eingestellt? Screenshot?
ZitatWeil die Schaltung bloss eine Halbwelle zur Ansteuerung des Optokopplers nützt, pulsiert der Pegel am GPIO mit der Frequenz des Wechselstroms. Beim 50Hz-Netz bedeutet dies, dass der Pin etwas weniger als 10msec aktiv ist und dann wieder etwas mehr als 10msec inaktiv ist.
Du machst natürlich damit nicht einen Impuls sondern Sperrfeuer im 50 Hz Rhythmus.
Vielleicht einfach ein RC Glied zum glätten?
Gruß Otto
Zitat von: Otto123 am 02 August 2017, 18:54:44
Hi,
eigentlich hat der ESP auch einen aktivierbaren PullUp an Board, was hast Du genau eingestellt? Screenshot?
Hier der Screenshot
Wie viel Volt liefert die Klingel denn und ist es Wechsel- oder Gleichspannung? Hast du wie in dem Beispiel auch einen Optokoppler verwendet?
Naja damit hast Du jetzt bloß zwei PullUps nicht schlimm.
ich kann keine genauen Angaben zum Wert des Pull-up finden, wohl im Bereich 30-100kOhm.
Ich habe keine Erfahrung mit dem Abfragen des Tasters und der Speisung mit Impulsen und keine Vorstellung was da passiert. Aber ich denke es ist ein Problem...
Gruß Otto
Zitat von: sbiermann am 02 August 2017, 20:24:09
Wie viel Volt liefert die Klingel denn und ist es Wechsel- oder Gleichspannung? Hast du wie in dem Beispiel auch einen Optokoppler verwendet?
Laut Vermieter sind es 8V Wechselspannung. Ich werde am Wochenende mal den Trafo suchen.
Ich hatte gestern mal ein Multimeter dran... da waren es beim Klingeln 6,4 V.
Demnach müsste ich den 560 Ohm Widerstand doch durch einen mit 470 Ohm tauschen.
Bin kein Elektriker, fummel mich da selber so rein.
Optokoppler habe ich auch verbaut. Ich habe exakt die Schaltung nachgebaut.
Zitat von: Otto123 am 02 August 2017, 21:27:30
Ich habe keine Erfahrung mit dem Abfragen des Tasters und der Speisung mit Impulsen und keine Vorstellung was da passiert. Aber ich denke es ist ein Problem...
Gruß Otto
Ich hoffe ich bekomme das noch hin. Trotzdem Danke du hast mir bereits sehr geholfen.
Der Widerstand ist kein Problem, der ist eh Pi mal Daumen dimensioniert ;D
Du musst eventuell verhindern, das der ESP im 50 Hz Takt getriggert wird. Das könnte man an verschiedenen Stellen erreichen.
Das sind nur "laut gedachte" Ideen:
Vielleicht einfach mit einem Kondensator von ca. 10 oder 20 µF parallel am Anschluss vom GPIO
Das wäre Schaltungstechnisch nicht ganz sauber, der Transistor entlädt dann immer den Kondensator direkt.
Da der PullUp im ESP einen höheren Widerstand hat, könnte man eventuell auch das nutzen. Dann würde man das Signal einfach mit einem Kondensator 0,1 - 1 µF einkoppeln.
Viel sauberer wäre zu wissen was der ESP eigentlich mit dem Switch Input macht. Weiß ich leider nicht.
Gruß Otto