NEWS

Siedle Klingel / Türöffner mit ESP8266 und MQTT


  • Developer

    Hallo zusammen

    Da es schon viele Fragen bezüglich Anbindung einer Siedle Türklingel gab, möchte ich hier kurz zeigen, wie man auch ohne den Teuren NSC 602 Nebensignal-Controller die Klingel und Türöffner Funktion integrieren kann.

    Kosten sind ca. 9 Euro. Man braucht dafür:

    1 x NodeMCU (ESP8266)

    1 x DC-DC Wandler

    1 x PC817 (Optokopller)

    1 x Widerstand 470 Ohm

    Optional (wenn man Türe auch öffnen möchte), Relais als Fertigmodul für ESP8266 oder

    1 x BC547 (Transistor)

    1 x Widerstand 470 Ohm

    ACHTUNG VERALTET! Neue Schaltung hier: viewtopic.php?p=175100#p175100

    Die Anbindung kann über jeden beliebigen Handapparat (in meinem Fall ein Siedle HTA-711) erfolgen. Folgende Schritte sind zu tun:

    • Vom Siedle Netzgerät die 24V Spannung zum Handappart bringen (2 freie Adern). Kennzeichnung am Netzteil + und -

    • Über den DC-DC Wandler (eingestellt auf 5V oder 3,3V, je nach NodeMCU) auf den ESP8266 anschließen

    • Den Optokoppler (3 im Bild) mit Pin2 auf die Schraubklemme (Siedle Klemmblock 1) löten. An Pin1 des Optokopplers einen 470 Ohm Widerstand anlöten (4 im Bild) und an (1 im Bild) anlöten. (1 im Bild ist der Anschluss des Reed-Relais vom Hörer). Am besten einen Schrumpfschlauch verwenden, um Kurzschlüsse zu vermeiden.
      139_platine_li__2_.jpg

    Jetzt geht es beim NodeMCU weiter. Als Betriebssystem habe ich das EASY Esp verwendet. Wie ihr den Kontakt zu iobroker bringt, bleibt Euch überlassen. Ich habe MQTT verwendet. Der Pin 3 des PC817 (Optokoppler) schließt ihr auf Masse des NodeMCU, den Pin 4 des PC817 auf den Eingangspin Eurer Wahl am NodeMCU. Diesen jetzt noch in EASY Esp mit "internal pullup" konfigurieren. Nun habt ihr schon mal das Signal der Klingel in iobroker. Wer noch möchte, kann einen Pin des NodeMCU als Ausgang konfigurieren und per Transistor und Vorwiderstand an der Basis den Türöffner Taster brücken. Ich habe das bei mir "noch" nicht realisert. Derzeit sehe ich keine Notwendigkeit, die Tür über iobroker zu öffnen. Ich lasse mir Bilder per Telegram senden, wenn jemand an der Tür klingelt.

    Hier noch ein paar Bilder, wie das im Gehäuse des HTA-711 untergebracht ist.

    Viel Spaß beim nachbauen, ich übernehme keine Garantie. Macht nur das, was ihr euch auch zutraut!

    Eisbaeeer

    139_20170916_135206.jpg
    139_20170916_135304.jpg
    139_20170916_135412.jpg



  • Hi,

    Kann man auch mit ein Siedle HTA 811 machen ? Klingel und Türöffner mit ein Esp8266 , hast du ein Schaltplan wie du bei dir gemacht hast ?


  • Developer

    Ich habe in zwischen wieder umgebaut. Es geht noch einfacher mit einer Z-Diode, ohne in die Elektronik einzugreifen. Ich suche den Schaltplan mal raus. Bin nur im Moment im Urlaub.

    Gesendet von meinem SM-G950F mit Tapatalk



  • @Eisbaeeer:

    Ich habe in zwischen wieder umgebaut. Es geht noch einfacher mit einer Z-Diode, ohne in die Elektronik einzugreifen. Ich suche den Schaltplan mal raus. Bin nur im Moment im Urlaub.

    Gesendet von meinem SM-G950F mit Tapatalk `

    Nice , dann warte ich noch .


  • Forum Testing

    Sehr sehr geil 🙂

    Bin auch schon gespannt.

    Danke und schönen Urlaub.

    Christian



  • Urlaub schon vorbei ? 😛


  • Developer

    Noch nicht. Nächste Woche 😉

    Gesendet von meinem SM-G950F mit Tapatalk



  • Nice ,

    Weiter schönen Urlaub. 😄



  • Hi zusammen!

    Mal eine kurze Frage:

    Warum empfiehlst du ein Relaismodul zum Öffnen der Tür?

    Ich habe die Türöffnung realisiert, indem ich einen NPN Transistor als Schalter nutze.

    Also Collector an den Pin vom oberen Bügelkontakt, Emitter an die Klemme 1 vom Klemmblock und der ESP8266 schaltet über einen Basisvorwiderstand durch.

    Ich habe mich natürlich auch gefragt, ob der Transistor die zu schaltende Spannung/Strom aushält, aber "probieren geht über studieren" und noch funktioniert es 😄

    Daher die Frage:

    Ist das Relais "sicherer" in der Benutzung oder gibt es andere Vor-/Nachteile?

    Viele Grüße & schönen Urlaub noch!



  • @ Sotray hast du ein Schaltplan davonn ? wurde mit HTA 811 und ein Wemos D1 auche gehen ?



  • Hi Slemy,

    also ich bin wie folgt vorgegangen:

    Ich habe mir die Platine angeschaut und festgestellt, dass das Drücken des Tasters letztendlich den Eingang "1" vom Klemmblock (GND) mit dem oberen Bügelkontakt des TÖ brückt. Dann habe ich zum Testen die beiden Kontakte per Draht bzw. Kabel gebrückt und der TÖ wurde betätigt (ich muss dazu sagen, dass ich relativ nah an der Haustüre wohne und daher "hören" kann ob es funktioniert oder nicht :P)

    Nachdem das in der Theorie funktioniert hat, muss ich also nur noch den Schalter per Logik realisieren können -> Transistor als Schalter.

    Ich habe dir mal in LTSpice eine Schaltung aufgezeichnet, aber keine Garantie 😄

    Der ESP8266 wird zusätzlich noch mit 5V versorgt, so wie es Eisbaeeer auch erklärt hat - nur habe ich dies nicht eingezeichnet, da ich Ewigkeiten nicht mehr mit LTSpice gearbeitet habe 😄

    An deiner Stelle würde ich also schauen, welche Kontakte gebrückt werden müssen um den TÖ zu betätigen.

    Du kannst natürlich auch "einfach" den oberen und unteren Bügelkontakt des TÖ auf der Bestückungsseite über einen Transistor verbinden, jedoch ist das dann ganz schön gepfuscht 😄

    Bei Fragen meld' dich einfach!

    LG
    8530_schaltungt_.png



  • THX sieht schon mal einfach aus .

    Kann ich auf mein Wemos D1 Tasmota drauf machen , oder brauch ich ein andere Script ?

    Wie sieht es aus wenn jemand klingelt ? kann das man auch irgendwie am Wemos D1 klemmen ?

    Wär nice wenn man die zwei Sachen dann über iObroker bedienen kann mit Skripts (Blockly )usw.



  • Genau - es sah mir fast "zu" einfach aus 😛

    Daher hatte ich auch nachgefragt, ob ich ggf. ein Relais o.Ä. zum Schalten nehmen sollte, da Eisbaeeer sicherlich bessere Kenntnis im elektrotechnischen Bereich hat.

    Den ESP8266 habe ich mit MicroPython geflasht: https://docs.micropython.org/en/latest/ … intro.html

    Da ich den Wemos D1 nicht genau kenne, kann ich dir leider keine präzisen Antworten geben, aber mein MQTT Skript, welches auf dem ESP8266 läuft sieht wie folgt aus:

    from umqtt.simple import MQTTClient
    from machine import Pin
    import machine
    import ubinascii
    import time
    
    #Config Pin4 as Output for doorOpener
    pin = machine.Pin(4, machine.Pin.OUT)
    pin.off() 
    
    # Modify below section as required
    CONFIG = {
         # Configuration details of the MQTT broker
         "MQTT_BROKER": "<addresse>",
         "USER": "<username>",
         "PASSWORD": "<password>",
         "PORT": <port>,
         "TOPIC": b"doorOpener",
         # unique identifier of the chip
         "CLIENT_ID": b"esp8266_" + ubinascii.hexlify(machine.unique_id())
    }
    
    # Method to act based on message received   
    def onMessage(topic, msg):
        print("Topic: %s, Message: %s" % (topic, msg))
    
        if msg == b"on":
            pin.on()
            time.sleep(1)
            pin.off()
    
    def listen():
        #Create an instance of MQTTClient 
        client = MQTTClient(CONFIG['CLIENT_ID'], CONFIG['MQTT_BROKER'], user=CONFIG['USER'], password=CONFIG['PASSWORD'], port=CONFIG['PORT'])
        # Attach call back handler to be called on receiving messages
        client.set_callback(onMessage)
        client.connect()
        client.publish("test", "ESP8266 is Connected")
        client.subscribe(CONFIG['TOPIC'])
        print("ESP8266 is Connected to %s and subscribed to %s topic" % (CONFIG['MQTT_BROKER'], CONFIG['TOPIC']))
    
        try:
            while True:
                msg = client.wait_msg()
                #msg = (client.check_msg())
        finally:
            client.disconnect()  
    
    listen()</port></password></username></addresse> 
    

    Das Skript "Gerüst" findest du in der uMQTT Library description wenn ich mich recht erinner und musst es praktisch nur noch für deinen Bedarf anpassen.

    Als weiteres Skript benötigst du zum Starten die main.py, die den Microcontroller mit deinem Internet verbindet,ggf. den AccessPoint beendet und das MQTT Skript startet:

    import network
    import time
    sta_if = network.WLAN(network.STA_IF)
    
    #Connect to Wi-Fi
    if not sta_if.isconnected():
        print('connecting to network...')
        sta_if.active(True)
        sta_if.connect('<ssid>', '<password>')
        while not sta_if.isconnected():
            pass
    print('network config:', sta_if.ifconfig())
    
    #Disable Access Point
    ap_if = network.WLAN(network.AP_IF)
    ap_if.active(False)
    
    #Import MQTT script to start service
    time.sleep(1)
    import mqtt_listener</password></ssid> 
    

    Auf meinem Smartphone habe ich dann eine MQTT Dashboard App runtergeladen, ebenfalls mit cloudmqtt verbunden (siehe CONFIG Details) und publishe dort per Button die Message "on" unter dem Topic "doorOpener", welches den Pin 4 (bzw. "D2") für 1 Sekunde auf HIGH setzt.

    Das etwas geloggt wird. o.Ä. wenn jemand klingelt habe ich bei mir nicht realisiert.

    Eisbaeeer hat oben eine Anleitung geschrieben wie es funktionieren kann, wenn du bspw. über einen Optokoppler das Signal am Reed Relais abfängst und an einen Pin der als Input konfiguriert ist weitergibst.

    Dann könntest du ja bspw. den Timestamp loggen und weisst so, wiespät jemand bei dir zuhause war 🙂

    VG!


  • Developer

    Ich weiß euch brennt es zwischen den Fingern. Ich bin bald aus dem Urlaub zurück. Grundsätzlich braucht man kein Relais. Die obige Schaltung funktioniert (hatte ich ein Relais erwähnt? Kann mich gar nicht erinnern). Der Trick ist bei den 1n, mit einer Z- Diode die Schwellspannung für das Klingeln zu kappen. So wie ich das noch im Kopf habe, werden 24V Spitze, Spitze beim klingeln erzeugt. Mit einer 20V Z Diode , einem Spannungsteiler und damit auf den AD Wandler des ESP kann dann das Klingel Signal erfasst werden. Ich verwende aber der Einfachheit halber easyesp mit MQTT. Bin zwar Programmierer 😉 aber man muss ja nicht immer alles selber machen 😉

    Gesendet von meinem SM-G950F mit Tapatalk



  • Hallo,

    nur, falls es jemanden interessiert, habe ich https://homematic-forum.de/forum/viewtopic.php?f=18&t=30357 mal die Verknüpfung einer bestehenden Siedle-Anlage bestehend aus TLE 061-0 und HTS 811-0 mit einer DoorPi-Videotürsprechanlage beschrieben.

    Die Beschreibung der Einbindung in den ioBroker steht aber noch aus. 8-)



  • Nice , Danke dir .

    Denke werde doch Tasmota nehmen , ist für mich einfacher .

    3740_neue_bitmap.jpg

    2. Danach .

    Muss nur in Console das eingeben

    SaveData 1 [ENTER]

    PulseTime 50 [ENTER]

    SaveData 0 [ENTER]

    PulseTime bestimmt wie lange das Relais in 0.1s-Schritten anzieht bevor es abfällt. 0 entspricht dabei einem Schalter, 00 wären demnach 50 x 0.1s = 5Sekunden

    und der Rest nach Schaltplan .


  • Developer

    So, nun zu meiner lang versprochenen, neuen Schaltung, wenn man das noch so nennen kann. Es ist bedeutend einfacher geworden. Und für die reine Klingelmeldung (von Türe öffnen halte ich nicht viel, falls man keine Audio Verbindung zur Türstation hat) muss die Platine noch nicht einmal angefasst werden.

    Was wird benötigt?

    1 x NodeMCU (ESP8266)

    1 x DC-DC Wandler

    1 x PC817 (Optokopller)

    1 x Widerstand 470 Ohm

    1 x Zener Diode 20V

    Optional (wenn man Türe auch öffnen möchte), die Schaltung hier: viewtopic.php?p=172406#p172406

    Der Eingang des Optokopplers wird über einen Vorwidertand und die Zener Diode auf die Schraubklemme 7 angeschlossen und die Masse des Eingangs auf Klemme 1. Die anderen beiden an den NodeMCU (siehe Bild). Für das Foto habe ich den Schrumpfschlauch noch nicht aufgezogen. Dieser wurde über die Zener Diode und den Vorwiderstand geschrumpft. Wichtig ist wirklich der genaue Anschluss, da der Optokoppler verpolt nicht funktioniert. Läuft bei mir sehr gut und ist ohne Eingriff auf der Platine machbar.

    139_20180904_202553.jpg
    139_20180904_202640.jpg

    Einstellungen der NodeMCU mit EASYESP
    139_esp-setting1.png
    139_esp-setting2.png
    139_esp-setting3.png

    Einstellungen in iobroker

    Hier ist eigentlich nur die Authentifizierung eingerichtet, welche auch beim ESP eingetragen sind.
    139_iobrokermqtt-1.png
    139_iobrokermqtt-2.png
    139_iobrokermqtt-3.png

    Javascript, welches mir per Telegram 4 Bilder meiner Kamera schickt

    var request = require('request');
    var fs      = require('fs');
    var source_url = 'http://x.x.x.x/snapshot.cgi?user=xxx&pwd=xxx&rate=11'; //Snapshot Adresse der IpKamera
    var zaehler = 0; 
    
    function sendImage() {
        zaehler++;
        request.get({url: source_url, encoding: 'binary'}, function (err, response, body) {
            fs.writeFile("/opt/iobroker/iobroker-data/files/webcam/snap"+zaehler+".jpg", body, 'binary', function(err) {
    
            if (err) {
                console.error(err);
                zaehler=0;
            } else {
                console.log('Snapshot sent');
                sendTo('telegram.0', '/opt/iobroker/iobroker-data/files/webcam/snap'+zaehler+'.jpg');
                   if (zaehler >= 4) {
            zaehler = 0;
        }
            }
          });
        });
    }
    on("mqtt.0.Siedle.IO.Klingel", function (obj) {
        if (obj.state.val) {
            zaehler = 0;
            // send 4 images: immediately, in 5, 15 and 30 seconds
            sendImage();
            setTimeout(sendImage, 5000);
            setTimeout(sendImage, 15000);
            setTimeout(sendImage, 30000);
        }
    });
    
    

    Grüße Eisbaeeer



  • Ein sehr interessantes Projekt!

    Die Anbindung suche ich schon sehr lange.

    Natürlich habe ich eine andere Sprechstelle … 😞

    Würde es bei der auch gehen?

    6536_2018-09-05_21.00.21.jpg


  • Developer

    @malc:

    Natürlich habe ich eine andere Sprechstelle … 😞

    Würde es bei der auch gehen? `

    Hallo malc

    Da es sich um die selbe Technik 1+n handelt, also die Funktionsweise die gleiche ist, also auch meine Sprechstelle bei dir funktionieren wird, kurz gesagt, Ja, es wird funktionieren.

    Der Platz ist halt ein bischen knapp.

    Gruß Eisbaeeer



  • Hallo Eisbaeeer,

    vielen Dank für die schnelle Antwort!

    Ich werde aber vermutlich einen ESP-01 nehmen, der passt da locker rein. Ob ich an die Spannungsversorgung komme wird sich zeigen, aber das ist Schritt 2. Erstmal deine Schaltung bauen und prüfen ob der ESP das mitbekommt. Ich werde berichten!

    Malc

    @Eisbaeeer:

    Da es sich um die selbe Technik 1+n handelt, also die Funktionsweise die gleiche ist, also auch meine Sprechstelle bei dir funktionieren wird, kurz gesagt, Ja, es wird funktionieren.

    Der Platz ist halt ein bischen knapp. `


Log in to reply
 

Suggested Topics

  • 7
  • 18
  • 105
  • 3
  • 131
  • 2
  • 4
  • 2

1.5k
Online

25.3k
Users

31.4k
Topics

400.1k
Posts