Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Praktische Anwendungen (Showcase)
  4. Siedle Klingel / Türöffner mit ESP8266 und MQTT

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.1k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.1k

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

Scheduled Pinned Locked Moved Praktische Anwendungen (Showcase)
235 Posts 68 Posters 117.7k Views 56 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • EisbaeeerE Eisbaeeer

    @basti97 Hi. Bei Siedle wird das mit 7.1 und 7.2 unterschieden. Die Punktierung sind die entsprechenden Stockwerke bzw. Wohnungen. Schau dir mal das Schaltbild der Siedle Anlage an. Da sieht man das ganz gut.
    Die RFID Schaltung wertet aber das Türklingeln nicht mit aus. Das musst du dann schon an dem jeweiligen Handapparat machen.

    Basti97B Offline
    Basti97B Offline
    Basti97
    Most Active
    wrote on last edited by
    #141

    @eisbaeeer
    Ich habe diese Klingel von Siedle mit folgender Bezeichnung HTS 71101

    Und so sieht die Platine aus. Bis jetzt habe ich nur das Etagen Klingeln abgegriffen.
    Die weiteren Punkte habe ich noch nicht gefunden.
    s-l1600.jpg

    945fc44e-1cdd-41c9-b0fa-a53b2edf5281-grafik.png

    Wenn ich das richtig gelesen habe kann ich nur mit der Software meine Tür per RFID öffnen bzw verwalten. Da ich mich bis jetzt sonst noch nie mit Bus fähigen Klingelanlagen beschäftigt habe.

    Iobroker läuft als VM auf Proxmoxserver x folgende Hersteller im Einsatz Sonoff, Gosund, Siemens x Aofo über Tasmota x Zigbee x das Smarthome wächst und wächst

    1 Reply Last reply
    0
    • B Banjo89

      @Eisbaeeer

      Vielen Dank für deine Anleitung, war etwas kniffelig aber habe es umgesetzt bekommen!!

      IMG_1298.jpg IMG_1297.jpg

      Basti97B Offline
      Basti97B Offline
      Basti97
      Most Active
      wrote on last edited by
      #142

      @banjo89 Ich habe zwar unten bereits ein Kommentar wie man die Siedle HTS711 smart machen kann. Nun habe ich gesehen das du die gleiche Version wie ich habe. Kannst du mir bitte mal Beschreiben wie du das ganze umgesetzt hast + benötigte Bauelemente. Bis jetzt werte ich nur den Etagen Klingel per Logo 8 aus. Bei dir sieht es auf dem ersten Blick so einfach aus. 🙂

      Danke für deine Hilfe 🙂

      Iobroker läuft als VM auf Proxmoxserver x folgende Hersteller im Einsatz Sonoff, Gosund, Siemens x Aofo über Tasmota x Zigbee x das Smarthome wächst und wächst

      1 Reply Last reply
      0
      • Basti97B Offline
        Basti97B Offline
        Basti97
        Most Active
        wrote on last edited by
        #143

        @Banjo89 Kannst du mir bitte dein Schaltplan zu deiner siedle schicken da ich verscheinlich eine ähnliche habe.😁😁

        Iobroker läuft als VM auf Proxmoxserver x folgende Hersteller im Einsatz Sonoff, Gosund, Siemens x Aofo über Tasmota x Zigbee x das Smarthome wächst und wächst

        1 Reply Last reply
        0
        • EisbaeeerE Eisbaeeer

          Zum Thema Türöffner habe ich nochmals nachgelegt. Ich habe nun meine Außenstation mit einem RFID-Leser nachgerüstet und auch die Siedle Beleuchtung "enhanced".
          Jetzt kann ich per Weboberfläche Zutrittsberechtigungen vergeben und muss nicht die ganze Schließanlage tauschen, wenn mal ein Schlüssel verloren geht.
          Hier ein paar Bilder vom Umbau:

          20210429_220729.jpg
          20210501_144436.jpg
          20210501_145117.jpg
          20210501_153354.jpg
          20210501_162042.jpg
          20210501_162056.jpg

          Leider kann man hier ja keine Videos hochladen. Aber den Rest kann man sich ja vorstellen 😉

          Web.png

          Ciaran BauligC Offline
          Ciaran BauligC Offline
          Ciaran Baulig
          wrote on last edited by
          #144

          @eisbaeeer kannst deinen Umbau mit rfid mal ein wenig genauer erläutern/Pläne ergänzen? Finde die Idee mega!

          1 Reply Last reply
          0
          • S Offline
            S Offline
            StefanR1984
            wrote on last edited by StefanR1984
            #145

            Edit: Hat sich erledigt. Läuft super! Besten Dank. Lag an einer kalten Lötstelle.

            Vlg

            Hallo zusammen,

            ich bin neu im Forum und habe eine Frage bezüglich der ESP8266 mit einer Siedle HTA 711-01

            Es liegt zwischen 1 und 7 20V Spannung an und ich bin nach Eisbeers Bauplan vorgeganen.

            Zur Ausführung des Scipts verwende ich einen ESP8266 mit einem Arduino Script:

            // https://www.mikrocontroller.net/topic/444994?goto=new#new
            
            #include <ESP8266WiFi.h>
            #include <WiFiUdp.h>
            #include <WiFiClientSecure.h> 
            #include <UniversalTelegramBot.h>
            #include <ArduinoJson.h>
            
            
            //------------------------------------------------
            // configuration with fix ip
            //------------------------------------------------
            
            // MAC-ID: 
            
            // Telegram BOT Token (Get from Botfather)
            #define botToken "********************************************"
            
            WiFiClientSecure secured_client;
            UniversalTelegramBot bot(botToken, secured_client);
            
            //Deine User ID oder Chat_ID
            #define userID "********************************************"
            
            
            
            X509List cert(TELEGRAM_CERTIFICATE_ROOT);
            
            
            
            // wlan param
            const char* ssid    = "********************************************";
            const char* WLANKEY = "********************************************";   
            
            // sip params
            const char *sipip       = "192.168.5.1";
            int         sipport     = 5060;
            const char *sipuser     = "********************************************";         // angelegter Nutzername vom Telefoniegerät
            const char *sippasswd   = "********************************************";           // PW vom Nutzername vom Telefoniegerät
            
            // dial params
            const char *sipdialnr   = "**701";                // Rundruf an alle         
            const char *sipdialtext = "Haustuer";
            
            // network params
            const char *ip          = "192.168.5.20";     // ESP IP Adresse eintragen
            const char *gw          = "192.168.5.1";      
            const char *mask        = "255.255.255.0";
            const char *dns         = "192.168.5.1";
            //------------------------------------------------
            
            #define DEBUGLOG
            WiFiUDP Udp;
            
            /////////////////////////////////////////////////////////////////////////////////////////////////////
            //
            // hardware and api independent Sip class
            //
            /////////////////////////////////////////////////////////////////////////////////////////////////////
            
            class Sip
            {
                char       *pbuf;
                size_t      lbuf;
                char        caRead[256];
            
                const char *pSipIp;
                int         iSipPort;
                const char *pSipUser;
                const char *pSipPassWd;
                const char *pMyIp;
                int         iMyPort;
                const char *pDialNr;
                const char *pDialDesc;
            
                uint32_t    callid;
                uint32_t    tagid;
                uint32_t    branchid;
            
                uint32_t    iAuthCnt;       // original 'int'
                uint32_t    iRingTime;
                uint32_t    iMaxTime;
                uint32_t    iDialRetries;   // original 'int'
                int         iLastCSeq;
                void        AddSipLine(const char* constFormat , ... );
                bool        AddCopySipLine(const char *p, const char *psearch);
                bool        ParseParameter(char *dest, int destlen, const char *name, const char *line, char cq = '\"');
                bool        ParseReturnParams(const char *p);
                int         GrepInteger(const char *p, const char *psearch);
                void        Ack(const char *pIn);
                void        Cancel(int seqn);
                void        Bye(int cseq);
                void        Ok(const char *pIn);
                void        Invite(const char *pIn = 0);
            
                uint32_t    Millis();
                uint32_t    Random();
                int         SendUdp();
                void        MakeMd5Digest(char *pOutHex33, char *pIn);
            
              public:
                Sip(char *pBuf, size_t lBuf);
                void        Init(const char *SipIp, int SipPort, const char *MyIp, int MyPort, const char *SipUser, const char *SipPassWd, int MaxDialSec = 10); //10
                void        HandleUdpPacket(const char *p);
                bool        Dial(const char *DialNr, const char *DialDesc = "");
                bool        IsBusy() {
                  return iRingTime != 0;
                }
            };
            
            Sip::Sip(char *pBuf, size_t lBuf)
            {
              pbuf = pBuf;
              lbuf = lBuf;
              pDialNr = "";
              pDialDesc = "";
            }
            
            bool Sip::Dial(const char *DialNr, const char *DialDesc)
            {
              if (iRingTime)
                return false;
            
              iDialRetries = 0;
              pDialNr = DialNr;
              pDialDesc = DialDesc;
              Invite();
              iDialRetries++;
              iRingTime = Millis();
              return true;
            }
            
            void Sip::Cancel(int cseq)
            {
              if (caRead[0] == 0)
                return;
              pbuf[0] = 0;
              AddSipLine("%s sip:%s@%s SIP/2.0",  "CANCEL", pDialNr, pSipIp);
              AddSipLine("%s",  caRead);
              AddSipLine("CSeq: %i %s",  cseq, "CANCEL");
              AddSipLine("Max-Forwards: 70");
              AddSipLine("User-Agent: sip-client/0.0.1");
              AddSipLine("Content-Length: 0");
              AddSipLine("");
              SendUdp();
            }
            
            void Sip::Bye(int cseq)
            {
              if (caRead[0] == 0)
                return;
              pbuf[0] = 0;
              AddSipLine("%s sip:%s@%s SIP/2.0",  "BYE", pDialNr, pSipIp);
              AddSipLine("%s",  caRead);
              AddSipLine("CSeq: %i %s", cseq, "BYE");
              AddSipLine("Max-Forwards: 70");
              AddSipLine("User-Agent: sip-client/0.0.1");
              AddSipLine("Content-Length: 0");
              AddSipLine("");
              SendUdp();
            }
            
            void Sip::Ack(const char *p)
            {
              char ca[32];
              bool b = ParseParameter(ca, (int)sizeof(ca), "To: <", p, '>');
              if (!b)
                return;
            
              pbuf[0] = 0;
              AddSipLine("ACK %s SIP/2.0", ca);
              AddCopySipLine(p, "Call-ID: ");
              int cseq = GrepInteger(p, "\nCSeq: ");
              AddSipLine("CSeq: %i ACK",  cseq);
              AddCopySipLine(p, "From: ");
              AddCopySipLine(p, "Via: ");
              AddCopySipLine(p, "To: ");
              AddSipLine("Content-Length: 0");
              AddSipLine("");
              SendUdp();
            }
            
            void Sip::Ok(const char *p)
            {
              pbuf[0] = 0;
              AddSipLine("SIP/2.0 200 OK");
              AddCopySipLine(p, "Call-ID: ");
              AddCopySipLine(p, "CSeq: ");
              AddCopySipLine(p, "From: ");
              AddCopySipLine(p, "Via: ");
              AddCopySipLine(p, "To: ");
              AddSipLine("Content-Length: 0");
              AddSipLine("");
              SendUdp();
            }
            
            void Sip::Init(const char *SipIp, int SipPort, const char *MyIp, int MyPort, const char *SipUser, const char *SipPassWd, int MaxDialSec)
            {
              caRead[0] = 0;
              pbuf[0] = 0;
              pSipIp = SipIp;
              iSipPort = SipPort;
              pSipUser = SipUser;
              pSipPassWd = SipPassWd;
              pMyIp = MyIp;
              iMyPort = MyPort;
              iAuthCnt = 0;
              iRingTime = 0;
              iMaxTime = MaxDialSec * 2000;   // 1500
            }
            
            void Sip::AddSipLine(const char* constFormat , ... )
            {
              va_list arglist;
              va_start( arglist, constFormat);
              uint16_t l = (uint16_t)strlen(pbuf);
              char *p = pbuf + l;
              vsnprintf(p, lbuf - l, constFormat, arglist );
              va_end( arglist );
              l = (uint16_t)strlen(pbuf);
              if (l < (lbuf - 2))
              {
                pbuf[l] = '\r';
                pbuf[l + 1] = '\n';
                pbuf[l + 2] = 0;
              }
            }
            
            // call invite without or with the response from peer
            void Sip::Invite(const char *p)
            {
              // prevent loops
              if (p && iAuthCnt > 3)
                return;
            
              // using caRead for temp. store realm and nonce
              char *caRealm = caRead;
              char *caNonce = caRead + 128;
            
              char *haResp = 0;
              int   cseq = 1;
              if (!p)
              {
                iAuthCnt = 0;
                if (iDialRetries == 0)
                {
                  callid = Random();
                  tagid = Random();
                  branchid = Random();
                }
              }
              else
              {
                cseq = 2;
                if (   ParseParameter(caRealm, 128, " realm=\"", p)
                       && ParseParameter(caNonce, 128, " nonce=\"", p))
                {
                  // using output buffer to build the md5 hashes
                  // store the md5 haResp to end of buffer
                  char *ha1Hex = pbuf;
                  char *ha2Hex = pbuf + 33;
                  haResp = pbuf + lbuf - 34;
                  char *pTemp = pbuf + 66;
            
                  snprintf(pTemp, lbuf - 100, "%s:%s:%s", pSipUser, caRealm, pSipPassWd);
                  MakeMd5Digest(ha1Hex, pTemp);
            
                  snprintf(pTemp, lbuf - 100, "INVITE:sip:%s@%s", pDialNr, pSipIp);
                  MakeMd5Digest(ha2Hex, pTemp);
            
                  snprintf(pTemp, lbuf - 100, "%s:%s:%s", ha1Hex, caNonce, ha2Hex);
                  MakeMd5Digest(haResp, pTemp);
                }
                else
                {
                  caRead[0] = 0;
                  return;
                }
              }
              pbuf[0] = 0;
              AddSipLine("INVITE sip:%s@%s SIP/2.0", pDialNr, pSipIp);
              AddSipLine("Call-ID: %010u@%s",  callid, pMyIp);
              AddSipLine("CSeq: %i INVITE",  cseq);
              AddSipLine("Max-Forwards: 70");
              // not needed for fritzbox
              // AddSipLine("User-Agent: sipdial by jl");
              AddSipLine("From: \"%s\"  <sip:%s@%s>;tag=%010u", pDialDesc, pSipUser, pSipIp, tagid);
              AddSipLine("Via: SIP/2.0/UDP %s:%i;branch=%010u;rport=%i", pMyIp, iMyPort, branchid, iMyPort);
              AddSipLine("To: <sip:%s@%s>", pDialNr, pSipIp);
              AddSipLine("Contact: \"%s\" <sip:%s@%s:%i;transport=udp>", pSipUser, pSipUser, pMyIp, iMyPort);
              if (p)
              {
                // authentication
                AddSipLine("Authorization: Digest username=\"%s\", realm=\"%s\", nonce=\"%s\", uri=\"sip:%s@%s\", response=\"%s\"", pSipUser, caRealm, caNonce, pDialNr, pSipIp, haResp);
                iAuthCnt++;
              }
              AddSipLine("Content-Type: application/sdp");
              // not needed for fritzbox
              // AddSipLine("Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE, SUBSCRIBE, INFO");
              AddSipLine("Content-Length: 0");
              AddSipLine("");
              caRead[0] = 0;
              SendUdp();
            }
            
            // parse parameter value from http formated string
            bool Sip::ParseParameter(char *dest, int destlen, const char *name, const char *line, char cq)
            {
              const char *qp;
              const char *r;
              if ((r = strstr(line, name)) != NULL)
              {
                r = r + strlen(name);
                qp = strchr(r, cq);
                int l = qp - r;
                if (l < destlen)
                {
                  strncpy(dest, r, l);
                  dest[l] = 0;
                  return true;
                }
              }
              return false;
            }
            
            // search a line in response date (p) and append on
            // pbuf
            bool Sip::AddCopySipLine(const char *p, const char *psearch)
            {
              char *pa = strstr((char*)p, psearch);
              if (pa)
              {
                char *pe = strstr(pa, "\r");
                if (pe == 0)
                  pe = strstr(pa, "\n");
                if (pe > pa)
                {
                  char c = *pe;
                  *pe = 0;
                  AddSipLine("%s", pa);
                  *pe = c;
                  return true;
                }
              }
              return false;
            }
            
            int Sip::GrepInteger(const char *p, const char *psearch)
            {
              int param = -1;
              const char *pc = strstr(p, psearch);
              if (pc)
              {
                param = atoi(pc + strlen(psearch));
              }
              return param;
            }
            
            // copy Call-ID, From, Via and To from response
            // to caRead
            // using later for BYE or CANCEL the call
            bool Sip::ParseReturnParams(const char *p)
            {
              pbuf[0] = 0;
              AddCopySipLine(p, "Call-ID: ");
              AddCopySipLine(p, "From: ");
              AddCopySipLine(p, "Via: ");
              AddCopySipLine(p, "To: ");
              if (strlen(pbuf) >= 2)
              {
                strcpy(caRead, pbuf);
                caRead[strlen(caRead) - 2] = 0;
              }
              return true;
            }
            
            void Sip::HandleUdpPacket(const char *p)
            {
              uint32_t iWorkTime = iRingTime ? (Millis() - iRingTime) : 0;
              if (iRingTime && iWorkTime > iMaxTime)
              {
                // Cancel(3);
                Bye(3);
                iRingTime = 0;
              }
            
              if (!p)
              {
                // max 5 dial retry when loos first invite packet
                //     int                int              uint32         int
                if (iAuthCnt == 0 && iDialRetries < 5 && (iWorkTime > (iDialRetries * 200)) )
                {
                  iDialRetries++;
                  delay(30);
                  Invite();
                }
                return;
              }
            
              if (strstr(p, "SIP/2.0 401 Unauthorized") == p)
              {
                Ack(p);
                // call Invite with response data (p) to build auth md5 hashes
                Invite(p);
              }
              else if (strstr(p, "BYE") == p)
              {
                Ok(p);
                iRingTime = 0;
              }
              else if (strstr(p, "SIP/2.0 200") == p)    // OK
              {
                ParseReturnParams(p);
                Ack(p);
              }
              else if (   strstr(p, "SIP/2.0 183 ") == p // Session Progress
                          || strstr(p, "SIP/2.0 180 ") == p ) // Ringing
              {
                ParseReturnParams(p);
              }
              else if (strstr(p, "SIP/2.0 100 ") == p)   // Trying
              {
                ParseReturnParams(p);
                Ack(p);
              }
              else if (   strstr(p, "SIP/2.0 486 ") == p // Busy Here
                          || strstr(p, "SIP/2.0 603 ") == p // Decline
                          || strstr(p, "SIP/2.0 487 ") == p) // Request Terminatet
              {
                Ack(p);
                iRingTime = 0;
              }
              else if (strstr(p, "INFO") == p)
              {
                iLastCSeq = GrepInteger(p, "\nCSeq: ");
                Ok(p);
              }
            }
            
            /////////////////////////////////////////////////////////////////////////////////////////////////////
            //
            // hardware dependent interface functions
            //
            /////////////////////////////////////////////////////////////////////////////////////////////////////
            
            int Sip::SendUdp()
            {
              Udp.beginPacket(pSipIp, iSipPort);
              Udp.write(pbuf, strlen(pbuf));
              Udp.endPacket();
            #ifdef DEBUGLOG
              Serial.printf("\r\n----- send %i bytes -----------------------\r\n%s", strlen(pbuf), pbuf);
              Serial.printf("------------------------------------------------\r\n");
            #endif
              return 0;
            }
            
            // generate a 30 bit random number
            uint32_t Sip::Random()
            {
              // return ((((uint32_t)rand())&0x7fff)<<15) + ((((uint32_t)rand())&0x7fff));
              return secureRandom(0x3fffffff);
            }
            
            uint32_t Sip::Millis()
            {
              return (uint32_t)millis() + 1;
            }
            
            void Sip::MakeMd5Digest(char *pOutHex33, char *pIn)
            {
              MD5Builder aMd5;
              aMd5.begin();
              aMd5.add(pIn);
              aMd5.calculate();
              aMd5.getChars(pOutHex33);
            }
            
            /////////////////////////////////////////////////////////////////////////////////////////////////////
            //
            // Arduino setup() and loop()
            //
            /////////////////////////////////////////////////////////////////////////////////////////////////////
            
            char caSipIn[2048];
            char caSipOut[2048];
            Sip aSip(caSipOut, sizeof(caSipOut));
            
            void setup()
            {
              
              Serial.begin(115200);
              Serial.println();
            
              WiFi.disconnect(true);
              delay(10);
              WiFi.mode(WIFI_STA);
              delay(10);
            
              WiFi.begin("********************************************", "********************************************");  // SSID und WLAN-Key eintragen
              
              Serial.print("Connecting");
            
              while (WiFi.status() != WL_CONNECTED)
              {
                delay(100);
                Serial.print(".");
              }
            
              Serial.println();
              Serial.print("Connected, IP address: ");
              Serial.println( WiFi.macAddress() );
              Serial.println( WiFi.localIP() );
              Serial.println( ESP.getChipId() );
              
            
              int i = 0;
              for (i = 0; i < 100; i++)
              {
                if (WiFi.status() == WL_CONNECTED)
                  break;
                delay(100);
                Serial.print(".");
              }
            
              if (i >= 100)
              {
                // without connection go to sleep
                delay(500);
                ESP.deepSleep(0);
              }
            
              WiFi.persistent(true);
              Serial.printf("\r\nWiFi connected to: %s\r\n", WiFi.localIP().toString().c_str());
              Udp.begin(sipport);
              aSip.Init(sipip, sipport, ip, sipport, sipuser, sippasswd, 15);
              aSip.Dial(sipdialnr, sipdialtext);
            
              secured_client.setTrustAnchors(&cert);
              bot.sendMessage(userID, "Es hat an der Tür geklingelt!", "");
              
            }
            
            int deepSleepDelay = 0;
            void loop(void)
            {
              
              int packetSize = Udp.parsePacket();
              if (packetSize > 0)
              {
                caSipIn[0] = 0;
                packetSize = Udp.read(caSipIn, sizeof(caSipIn));
                if (packetSize > 0)
                {
                  caSipIn[packetSize] = 0;
                  #ifdef DEBUGLOG
                  IPAddress remoteIp = Udp.remoteIP();
                  Serial.printf("\r\n----- read %i bytes from: %s:%i ----\r\n", (int)packetSize, remoteIp.toString().c_str(), Udp.remotePort());
                  Serial.print(caSipIn);
                  Serial.printf("----------------------------------------------------\r\n");      
                  #endif
                }
              }
              aSip.HandleUdpPacket((packetSize > 0) ? caSipIn : 0 );
            
              if (!aSip.IsBusy() && deepSleepDelay == 0)
                deepSleepDelay = millis();
            
              if (deepSleepDelay && (millis() - deepSleepDelay) > 3000) {
                ESP.deepSleep(0);
              }
            }
            

            Das Script funktioniert und wenn ich GND und RST kurzschließe wird das Script ausgeführt.

            Sobald ich das Konstrukt aus Zener Diode - Widerstand - Optokoppler an die Klingel anschließe und diese betätige, tut sich leider nichts.

            Anbei noch eine Liste meiner verwendeten Bauteile:

            Board:
            https://www.reichelt.com/de/en/developer-boards-nodemcu-esp8266-wi-fi-module-debo-jt-esp8266-p219900.html?&trstct=pos_4

            Optokoppler
            https://www.reichelt.com/1-fach-optokoppler-5kv-35v-50ma-50-600-dip-4-ltv-817-p76173.html?CCOUNTRY=445&LANGUAGE=de&trstct=pos_0&&r=1

            Widerstand
            https://www.reichelt.de/widerstand-metalloxyd-560-ohm-0207-1-0-w-5--1w-560-p1832.html?trstct=magaz_txtlink

            Zener Diode
            https://www.ebay.de/itm/380928180250?var=650272010680

            Ich hoffe mir kann hier jemand helfen 🙂

            Eine Vermutung wäre, dass ich den Widerstand zu hoch gewählt habe?

            Danke und VLG

            Stefan

            1 Reply Last reply
            0
            • N Offline
              N Offline
              nullfreizeit
              wrote on last edited by
              #146

              Hallo zusammen,

              habe eine Siedle Anlage mit dem Netzteil BNG 650 im Keller und 3 x das Haustelefon AIB 150. Würde gerne das Klingelsignal abgreifen und den Türöffner betätigen. Gibt es hier schon eine Abhilfe/Ideen? Vielen Dank.

              1 Reply Last reply
              0
              • M Offline
                M Offline
                med3
                wrote on last edited by
                #147

                Hi, weiß jemand ob das mit einem Siedle HT 611-01 genau so funktioniert?

                EisbaeeerE tobasiumT 2 Replies Last reply
                0
                • M med3

                  Hi, weiß jemand ob das mit einem Siedle HT 611-01 genau so funktioniert?

                  EisbaeeerE Offline
                  EisbaeeerE Offline
                  Eisbaeeer
                  Developer
                  wrote on last edited by
                  #148

                  @med3 ja geht genau so. Habe ich hier auch im Einsatz.

                  Kein support per PM. Bitte im Forum Fragen stellen!

                  1 Reply Last reply
                  0
                  • L Offline
                    L Offline
                    lonetom
                    wrote on last edited by
                    #149

                    Hallo Zusammen
                    Hat jemand Erfahrung mit einer Urmet 4+N (Innenstelle Urmet 1133 mit elektronischen Signalgeber) Erfahrung?
                    Welche Änderungen wären erforderlich bei Bedarf?
                    thx tom

                    1 Reply Last reply
                    0
                    • M Marcel512

                      Soo, ich habe das ganze gestern Abend fertig gestellt. Für alle Interessierten anbei mal die Schaltung, der ESP-Code und ein paar Fotos vom Aufbau!

                      16715_img_5099.jpg

                      Die Oberseite des ESP habe ich dabei fachmännisch mit Isolierband isoliert, da im Gehäuse direkt untendrunter eine Schraube sitzt 🙂

                      In der LTSpice Simulation erkennt man gut die ca 1.05 V die dann beim Klingeln (12 VAC an 7/1) am Optokoppler anliegen.

                      16715_ltspice.png

                      Die Spannungsversorgung ist aktuell über einen LD1117V33 und einen normalen 5V USB Netzstecker realisiert.

                      Prinzipiell könnte man mit einer Erweiterung (die in der Software auch vorgesehen ist) auch über ein Relais den Türöffner betätigen, was ich

                      aber bei mir jetzt noch nicht realisiert habe.

                      Bauteile ESP / Spannungsversorgung

                      • ESP-01

                      • LD1117V33

                      • 😄 100µF

                      • 😄 100nF

                      Bauteile Klingelerkennung

                      • PC817

                      • 1N4007 (hatte keine 1N4148 da, geht aber genauso!)

                      • R: 2k2

                      • 😄 10µF

                      Schaltung

                      16715_kicad.png

                      Programmiert habe ich das ganze mit Arduino.

                      (*.ino Dateien mag das Board nicht, das .c einfach wieder weg machen 🙂 )

                      16715_siedleesp.h
                      16715_siedleesp.ino.c

                      Wen es interessiert: auf der anderen Seite sitzt ein NodeRED was eine Pushover Nachricht verschickt.

                      Viele Grüße,

                      Marcel

                      T Offline
                      T Offline
                      TheHellSite
                      wrote on last edited by TheHellSite
                      #150

                      EDIT: Eben erst gesehen, du hast ja ein anderes Telefon mit einer anderen Spannung.

                      1 Reply Last reply
                      0
                      • M med3

                        Hi, weiß jemand ob das mit einem Siedle HT 611-01 genau so funktioniert?

                        tobasiumT Offline
                        tobasiumT Offline
                        tobasium
                        wrote on last edited by
                        #151

                        @med3

                        Ich habe mir das ganze auch gebaut aber mit Tasmota im Einsatz. Es fehlt eben noch ein Gehäuse.
                        Sobald es klingelt bekomme ich über mehre Kanäle eine Benachrichtigung (Telegram, Alexa)
                        Über mein normales Telegram Menü kann ich dann Türe öffnen auslösen.

                        Siedle-Gehirn_Steckplatine.jpg
                        MVIMG_20210225_162428.jpg

                        Basti97B M 2 Replies Last reply
                        1
                        • EisbaeeerE Eisbaeeer

                          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

                          T Offline
                          T Offline
                          TheHellSite
                          wrote on last edited by
                          #152

                          Hallo @Eisbaeeer ,

                          erstmal vielen Dank für deine Lösung!!!

                          Ich habe bei mir ein Siedle HTS 711-0 verbaut.
                          Aktuell möchte ich dies zwar noch nicht in mein Smart Home integrieren, aber ich bin sehr an einer Funk Klingel Erweiterung interessiert.

                          Siedle bietet dafür den NSC 602-00 Adapter an. https://www.siedle.de/de-de/produkte/nsc-602-0-nebensignal-controller/
                          In meinen Augen ist das Abzocke...

                          Jetzt meine Frage:
                          Kann ich deine Bauteile zur Klingelerkennung nutzen, um eine Funkerweiterung anzuschließen?
                          www.heidemann-handel.de/details-produkte/funkkonverter-hx.html
                          Den Rest für die Smart Home integration benötige ich aktuell nicht.

                          Viele Grüße
                          TheHellSite

                          T 1 Reply Last reply
                          0
                          • T TheHellSite

                            Hallo @Eisbaeeer ,

                            erstmal vielen Dank für deine Lösung!!!

                            Ich habe bei mir ein Siedle HTS 711-0 verbaut.
                            Aktuell möchte ich dies zwar noch nicht in mein Smart Home integrieren, aber ich bin sehr an einer Funk Klingel Erweiterung interessiert.

                            Siedle bietet dafür den NSC 602-00 Adapter an. https://www.siedle.de/de-de/produkte/nsc-602-0-nebensignal-controller/
                            In meinen Augen ist das Abzocke...

                            Jetzt meine Frage:
                            Kann ich deine Bauteile zur Klingelerkennung nutzen, um eine Funkerweiterung anzuschließen?
                            www.heidemann-handel.de/details-produkte/funkkonverter-hx.html
                            Den Rest für die Smart Home integration benötige ich aktuell nicht.

                            Viele Grüße
                            TheHellSite

                            T Offline
                            T Offline
                            TheHellSite
                            wrote on last edited by TheHellSite
                            #153

                            Da hier keiner geantwortet hat, habe ich es einfach mal getestet. Mit Erfolg!
                            Vielen Dank @Eisbaeeer für die ursprüngliche Lösung.

                            Nachfolgend noch eine Liste der Bauteile und Bilder.

                            Viele Grüße
                            TheHellSite


                            Verwendete Bauteile

                            • Gegensprechstelle: Siedle HTS 711-0
                            • Funksender: Heidemann Funkkonverter HX
                            • Funkempfänger: Heidemann HX One
                            • Optokoppler (PC817X1NSZ1B)
                            • Zenerdiode (BZX85C20V = 1N4747A)
                            • Widerstand (560 Ohm)

                            Bilder

                            Gegensprechstelle ohne Funkerweiterung
                            001_gegensprechstelle_ohne_funkerweiterung.jpg

                            Gegensprechstelle mit Funkerweiterung
                            002_gegensprechstelle_mit_funkerweiterung.jpg

                            DIY-Adapter und Funkkonverter
                            003_adapter_und_funkkonverter.jpg

                            EisbaeeerE 1 Reply Last reply
                            1
                            • T TheHellSite

                              Da hier keiner geantwortet hat, habe ich es einfach mal getestet. Mit Erfolg!
                              Vielen Dank @Eisbaeeer für die ursprüngliche Lösung.

                              Nachfolgend noch eine Liste der Bauteile und Bilder.

                              Viele Grüße
                              TheHellSite


                              Verwendete Bauteile

                              • Gegensprechstelle: Siedle HTS 711-0
                              • Funksender: Heidemann Funkkonverter HX
                              • Funkempfänger: Heidemann HX One
                              • Optokoppler (PC817X1NSZ1B)
                              • Zenerdiode (BZX85C20V = 1N4747A)
                              • Widerstand (560 Ohm)

                              Bilder

                              Gegensprechstelle ohne Funkerweiterung
                              001_gegensprechstelle_ohne_funkerweiterung.jpg

                              Gegensprechstelle mit Funkerweiterung
                              002_gegensprechstelle_mit_funkerweiterung.jpg

                              DIY-Adapter und Funkkonverter
                              003_adapter_und_funkkonverter.jpg

                              EisbaeeerE Offline
                              EisbaeeerE Offline
                              Eisbaeeer
                              Developer
                              wrote on last edited by
                              #154

                              @thehellsite Freut mich, wenn es bei Dir funktioniert hat!

                              Kein support per PM. Bitte im Forum Fragen stellen!

                              1 Reply Last reply
                              0
                              • f0m3F Offline
                                f0m3F Offline
                                f0m3
                                wrote on last edited by f0m3
                                #155

                                ups. dummer Post meinerseits, löschen geht aber anscheinend nicht 😞

                                1 Reply Last reply
                                0
                                • tobasiumT tobasium

                                  @med3

                                  Ich habe mir das ganze auch gebaut aber mit Tasmota im Einsatz. Es fehlt eben noch ein Gehäuse.
                                  Sobald es klingelt bekomme ich über mehre Kanäle eine Benachrichtigung (Telegram, Alexa)
                                  Über mein normales Telegram Menü kann ich dann Türe öffnen auslösen.

                                  Siedle-Gehirn_Steckplatine.jpg
                                  MVIMG_20210225_162428.jpg

                                  Basti97B Offline
                                  Basti97B Offline
                                  Basti97
                                  Most Active
                                  wrote on last edited by
                                  #156

                                  @tobasium Wo hast du die Spannung hergeholt ich habe bei mir Wechselspannung an der Klingel.
                                  Welchen Optokoppler bzw Diode hast du für das Etagen und für das Klingeln vor dem Haus benutzt.

                                  Iobroker läuft als VM auf Proxmoxserver x folgende Hersteller im Einsatz Sonoff, Gosund, Siemens x Aofo über Tasmota x Zigbee x das Smarthome wächst und wächst

                                  tobasiumT 1 Reply Last reply
                                  0
                                  • S Offline
                                    S Offline
                                    Sekretär
                                    wrote on last edited by
                                    #157

                                    Ich will euch mal meine Lösung verraten. Innen habe ich auch die Siedle HTS 711-0 verbaut. Außen ist bei mir die Siedle Vario mit 2 Tastern. An dieser habe ich den Strom(ca. 16Volt AC) an der Soffitte abgegriffen und einen Shelly Uni daran gehangen. Als Leuchte habe ich eine LED mit einer 10mA Mini Miniatur Konstantstromquelle für LEDs KSQ2 angeschlossen.
                                    Der Kontakt kommt direkt vom Siedle Klingeltaster. Der hat auf der Platine zwei Microschalter die gebrückt die Klingel gleichzeitig auslösen. Einen davon habe ich mit dem Cuttermesser auf der Platine getrennt und meinen Kontakt für den Shelly angelötet.
                                    Ich habe Wlan in Tür nähe und die ganze Sache läuft schon ein Paar Tage. Wie lange das alles läuft wird sich zeigen.
                                    Sprechen und Türöffnen geht mit meiner Variante nicht aber mein Ziel ist erreicht:

                                    • die Siedle funktioniert wie immer,
                                    • Benachrichtigung per Telegramm mit Foto von der Überwachungskamera,
                                    • Alexa sagt "Es hat an der Haustür geklingelt",
                                      nur das Blockly für das VIS welches aufpoppt, das Tür Foto zeigt und nach einer Minute wieder verschwindet habe ich noch nicht gefunden.
                                      Vieleicht kann mir da einer helfen.
                                    T 1 Reply Last reply
                                    0
                                    • EisbaeeerE Eisbaeeer

                                      Zum Thema Türöffner habe ich nochmals nachgelegt. Ich habe nun meine Außenstation mit einem RFID-Leser nachgerüstet und auch die Siedle Beleuchtung "enhanced".
                                      Jetzt kann ich per Weboberfläche Zutrittsberechtigungen vergeben und muss nicht die ganze Schließanlage tauschen, wenn mal ein Schlüssel verloren geht.
                                      Hier ein paar Bilder vom Umbau:

                                      20210429_220729.jpg
                                      20210501_144436.jpg
                                      20210501_145117.jpg
                                      20210501_153354.jpg
                                      20210501_162042.jpg
                                      20210501_162056.jpg

                                      Leider kann man hier ja keine Videos hochladen. Aber den Rest kann man sich ja vorstellen 😉

                                      Web.png

                                      Mr EnglishM Offline
                                      Mr EnglishM Offline
                                      Mr English
                                      wrote on last edited by
                                      #158

                                      @eisbaeeer kann man sich die software esp-door herunterladen, wenn ja wo ?
                                      Gruß English

                                      EisbaeeerE 1 Reply Last reply
                                      0
                                      • Mr EnglishM Mr English

                                        @eisbaeeer kann man sich die software esp-door herunterladen, wenn ja wo ?
                                        Gruß English

                                        EisbaeeerE Offline
                                        EisbaeeerE Offline
                                        Eisbaeeer
                                        Developer
                                        wrote on last edited by
                                        #159

                                        @mr-english Hallo. Die ist auf github verfügbar: https://github.com/marelab/esp-rfid
                                        Gruß

                                        Kein support per PM. Bitte im Forum Fragen stellen!

                                        1 Reply Last reply
                                        0
                                        • EisbaeeerE Eisbaeeer

                                          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

                                          f0m3F Offline
                                          f0m3F Offline
                                          f0m3
                                          wrote on last edited by f0m3
                                          #160

                                          Leider ist der Link zur Schaltung, wie man die Tür öffnen kann mit Transistor oder Relais nicht mehr verlinkt bzw. der Link ist tot.
                                          Ich habe hier ein HTS 811 und frage mich wo ich am besten mit einem Wemos + Transistor schalte. Die Taster sind ja nur noch so "gummitaster" also wird da anlöten kompliziert. Sollte ich hier probieren (markiert)
                                          2022-02-19 09.36.38.jpg
                                          oder kennt jmd. eine bessere Stelle? Wenn ich das, wo die Pfeile sind mit draht brücke summt der öffner.

                                          Ich habe hier noch ein Bild von der Rückseite 2022-02-19 09.37.25.jpg

                                          Nachtrag für Interessierte. Ich habe diese Analyse des HTS811 gefunden, da hat isch jemand richtig viel Mühe gemacht. https://www.richis-lab.de/Siedle.htm

                                          Und gemessen habe ich inwzischen auch. Im Ruhezustand liegt zwischen dem punkt "roter Pfeil" und GND (schwarzer Pfeil bzw. Siedle-KLemme "1" eine Spannung von knapp 6v an. der Schalter Verbindet zu GND. Kann mir jemnd helfen bzgl einer Transistorschaltung? Nimmt mann einfach einen BC547 und mach Pin1 an den Roten PFeil, Pin2 an einen Digitalen output vom ESP8266 und Pin3 an GND?

                                          f0m3F 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          259

                                          Online

                                          32.4k

                                          Users

                                          81.4k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe