Ritto over IP

Es war schon lange ein Wunsch von mir, darüber informiert zu werden, wenn der Postbote geklingelt hat. Bzw. wenn er nicht geklingelt hat.

Die Lösung zu dieser Aufgabe konnte ich nun endlich durch Vorarbeit anderer Bastler und Dokumentierer  fertig stellen: Ein ausgefeilter Hack der Ritto Türsprechanlage, der das Klingelsignal abgreift, per WLAN an MQTT meldet und auf dem Rückweg  obendrein noch ermöglicht, den Türöffner von entfernt zu betätigen. Wie geil ist das eigentlich?

Bei dem bei uns verbauten Modell handelt es sich um ein Ritto Wohntelefon Twinbus 7630. Vermutlich wird der Eingriff jedoch auch bei ähnlichen Modellen funktionieren. Im Notfall kann man den Pins einfach mal mit dem Multimeter auf die Pelle rücken und  nachmessen, ob sich spannungsmäßig etwas tut, wenn man klingelt.

Die Weiterentwicklung gegenüber der „Version“ meines Vorgängers besteht hauptsächtlich darin, dass dieses Modul nun auch von der Gesamtanlage gespeist wird, d.h. es ist keine weitere Stromversorgung notwendig. Wer würde auch sonst eine extra Leitung zum „Wohntelefon“ (was ein däml…. Name *Anm. d. Red.) legen, der Aufwand rentiert in den meisten Fällen schlicht nicht. Und Batteriebetrieb fällt sowieso schon mal ganz aus, es sei denn, man hat den seltenen Hang zum permaneten Akkuwechsel.
Das ESP-Modul samt Anhang über den Twinbus „schmarotzenderweise“ zu speisen ist im Übrigen wieder mal eine Angelegenheit der Kategorie „nicht trivial„. Wie in vielen Foren zu lesen ist, ist das gesamte Twinbus-System ziemlich zimperlich, was Eingriffe angeht und alles andere als robust. Die ganzen Warnungen, tunlichst die Finger davon zu lassen, es sei denn, man sei darauf aus, die Gegensprechanlage für das gesamte Haus lahm zu legen (inkl. der Kosten für den Technikereinsatz danach) rief selbstverständlich meine Neugierde auf den Plan.

Um Haftungsfragen auszuschließen, hier mein Disclaimer: Diese Dokumentation ist kein Aufruf zum Nachbau. Dass dieser Hack bei mir seit nun gut 2 zwei Jahren funktioniert ist keine Gewähr dafür, dass es nicht doch zu Schäden an der Ritto-Anlage kommen kann. D.h. jeder Nachbau erfolgt immer auf eigenes Risiko und eigene Verantwortung!

Die Platine bietet 24V an Kontakt Nr.5, das NodeMCU Board braucht 5V. Also braucht’s einen Spannungsregler. Testweise habe ich erst mal einen dumpfen 7805 genommen, der den Spannungsabfall einfach in Wärme verbrät.

Spannungregler 7805

Der wurde aber auch wegen der hohen Differenz von 19V bei den maximal 260mA ordentlich heiß. Hätte funktioniert, aber mangels Konvektionsmöglichkeit habe ich davon abgesehen. Außerdem bin ich auch nicht der Typ, der den Bug zum Feature macht alla „Hey, unser Wohntelefon hat noch eine Fingerwärmfunktion“.
Probiert habe ich also noch einen DC-DC Wandler (TracoPower TSR 1-2450 24 V/DC 5 V/DC 1 A 6 W), der mit der Anlage nicht funktionierte, aber der Zweite tut seine Arbeit perfekt. Es ist ein „FISM Fixed Isolated Modul“ (Würth Elektronik 177920531 24 V 5 V 0.2 A 1 W), macht zwar dauerhaft nur 200mA mit, aber für 5 Sekunden auch 300mA und sollte damit für die Stromspitzen ausreichen.

DC/DC Wandler

Davon abgesehen sollte ein obligatorischer Kondensator auch die Spitzen abfangen. Das Teil ist nun auch schon ein Jahr in Betrieb und funktioniert tadellos, nicht mal der Prozessor ESP8266 ist abgeschmiert.

Zur Übertragung des Klingelsignals ins WLAN habe ich mich für ein NodeMCU entschieden, da ich damit „quick & dirty“ schnell zum Ziel komme.

NodeMCU mit ESP12

Es gibt auch elegantere oder schlankere Lösungen.

Heute würde ich nur noch ein ESP12F-Modul nehmen und gleich einen 24V->3,3V DC/DC Wandler davor setzen.

ESP12F mit ESP8266

Ein ESP12 hat halt keine Spannungswandlung, keinen Serial-zu-USB-Chip (UART) und auch keine Flash-Logik. Diese Funktionen sind auf dem NodeMCU-Board „drumrum“ gebaut und erleichtern den Einstieg. Durch seine Verwendung kann ich zukünftig wesentlich einfacher Updates über die USB-Schnittstelle einspielen, sollte mal beim OTA-Update (über WLAN) etwas schief laufen.

Wemos D1 mini

Die selbe Funktionalität bietet übrigens auch ein Weemos D1-Board, falls das jemand noch nicht kennt.

Zur Ritto-Platine zurück: Mitte oben befindet sich die 24V Speisespannung für das WLAN-Modul und am Pin in der Mitte das Klingelsignal. Wenn jemand die Klingel betätigt, liegen dort 5 Volt an, die man auswerten kann. Der linke der drei Pins in Ground.

Unten rechts befinden sich die beiden Kontakte um den Türöffner zu betätigen. Diese kann man mit einem CMOS 4066, eine Art elektronisches Relais, durchschalten. Das kommt dem Tastendruck am Gerät gleich.

Umgekehrt funktioniert das Durchschalten per CMOS4066 zum ESP3266 leider nicht, da die Schaltzustände bei dieser elektronischen Variante sich nur in einer größeren Änderung des Widerstands unterscheiden. D.h. bei „aus“ ist beim 4066 der  Widerstand nicht unendlich und bei „ein“ ist der Widerstand nicht gleich Null. Welchen Wert diese Widerstände haben, hängt mit der Speisespannung zusammen und ist nicht linear. Also muss eine andere Möglichkeit her, um den GPIO Pin zu schalten.

Diese Aufgabe kann man per Transistor bewältigen, indem man D2 auf Ground bzw. Low Level zieht. Wenn am Klingelkontakt die 5 V anliegen, wird der Transistor leitend und welchselt am  GPIO D2 den Level. Ich habe einen BC547B genommen, aber ich gehe davon aus, dass auch sonst fast jeder übliche NPN-Transistor funktioniert. Davor ist zum Kingelkontakt ein 1 kΩ Widerstand.

Zur Stabilisierung und Entstörung habe ich noch einen 470 μF Kondensator hinter den DC-DC Wandler gehängt.

Die Schaltung kurz aufskizziert:

Der Versuchsaufbau auf dem Breadboard sieht folgendermaßen aus:

… und zum Testen muss die Schaltung natürlich auch an die Anlage:

Was bisher fehlt, ist die Software. Ich habe mich für die Firmware „Tasmota“ von Theo Arends entschieden.

Selbstverständlich kann man mit ein paar Bibliotheken relativ schnell selbst etwas zusammenschustern, aber das Angebot von Theo hat alles an Board, was man benötigt. Wer im ersten Step (noch) keine Lust auf das volle Paket mit MQTT und Node-Red hat, der kann den Türöffner erst mal nur über das Webfrontend steuern, welches sogar „responsive designt“ ist und damit auch auf dem Smartphone schlank aussieht.

Das gesamte Konstrukt vom Breadboard habe ich, nach Versicherung dass auch alles funktioniert, schlicht auf einer Lochrasterplatine  eingelötet. Bei einer nächsten Version würde ich vielleicht eine extra Platine fertigen lassen, aber es funktioniert auch so einwandfrei.

Richtig interessant wird die Sache, wenn man sich nun noch einen MQTT-Server mit z.B. Node-Red gönnt. Zugegebenermaßen ist das alles am Anfang natürlich etwas viel, aber mancher Bastler hat ja schon einen Teil der Infrastruktur zu Hause. Und MQTT ist nun wirklich nicht die Hürde. Es ist mit „apt-get install mosquitto“ ruckzuck auf Debian installiert und funktioniert danach einfach nur noch. -> Ja, der Satz ist zu Ende.  Es tut was es soll und ist wartungsarm.
Als Server(-hardware) nutze ist selbst (aus Performancegründen) einen Intel NUC5CPYH, weil er einen AES-NI Chip und ausreichend Power/RAM hat, um immer alles „schnell mal noch“ drauf zu packen. Wer bereit ist, mehr mit Ressourcen zu haushalten kann auf den doch wesentlich günstigeren Raspberry 3b zurück greifen. Ein Einrichtungstutorial ist hier. Für die Einrichtung von Node-Red mit node.js unter Debian empfehle ich diese Anleitung. Zusätzliche Hinweise wegen dem begrenzten Arbeitsspeicher auf dem Raspberry Pi finden sich in diesen Artikel von Markus Ulsass.

Um letztendlich über das eigentliche Klingeln an der Tür benachrichtigt zu werden setze ich den Dienst Pushover, aufsetzend auf Node-Red, ein.

Da das ausführliche Beschreiben aller beteiligten Komponenten über die Hardware hinaus diesen Artikel sprengen würde, habe ich oben die wichtigsten Punkte gegen aussagekräftige Hilfeseiten verlinkt. Ich wünsche somit viel Spaß bei Nachbauen und freue mich auch über Feedback oder Verbesserungsvorschläge.

20 Antworten auf „Ritto over IP“

  1. Guter Artikel und hilfreich.

    Ich habe selbiges vor,  nur bin ich mir unsicher ob man das Wohntelefon ohne weiteres vom Netz trennen kann!?

    Würde mich über einen Hinweis darüber freuen.

  2. Super Artikel.

    Habe bei mir etwas ähnliches vor, nur würde ich das Klingelsignal direkt im Schaltschrank von dem RITTO Entravox Netzteil abgreifen.
    Da hier schon ein Pi für andere Sachen verbaut ist.

    Darf ich fragen warum Du du deine Installation beim Telefon und nicht direkt beim Netzteil gemacht hast?

    Gruß,
    Christoph

    1. Entschuldige die späte Antwort, ich wurde nicht ordnungsgemäß über Deinen Eintrag benachrichtigt.
      Das Netzteil ist für mich nicht zugänglich, da es sich um eine Wohnanlage mit mehreren Parteien handelt.

  3. Hallo Peter,
    auch ich würde gerne die Klingel und den Türöffner mit Tasmota steuern.
    Jedoch finde ich die genannten punkte nicht, bzw. haben diese bei mir andere Nummern (Version 6.4.1)?

    13 Button1 -> bei mir Button 1 (17)
    17 Relay1 -> bei mir Relay 1 (21)
    Sind die Nummern überhaupt relevant?

    Magst du eventuell die Punkte: buttontopic bell und Pulsetime 5 etwas genauer beschreiben?

    Vielen Dank

    1. Entschuldige die späte Antwort, ich wurde nicht ordnungsgemäß über Deinen Eintrag benachrichtigt. Mein WordPress hat nach einem Update keine Emails mehr versendet.

      Ich beziehe mich noch auf Tasmota Version 5.12.0.j. Offensichtlich haben sich die Nummern geändert. Wofür die genau stehen, kann ich auf die Schnelle jetzt nicht beantworten.
      Soweit ich mich erinnern kann, habe ich buttontopic in „bell“ (kann auch sonstwas sein, nur nicht das, was voreingestellt ist) geändert, damit der Türöffner nicht automatisch betätigt wird. Lässt man die Standardeinstellung so wie sie ist, dann wird automatisch das Relais geschaltet, wenn jemand klingelt. Das ist in den meisten Fällen eher unerwünscht, da man sonst die Tür auch gleich ausbauen kann.
      siehe:
      https://github.com/arendst/Sonoff-Tasmota/wiki/Button-usage#multi-press-functions

      Mit dem Parameter Pulsetime wird die Haltezeit des Relais gesteuert. D.h. der Türöffner soll 5 Sekunden aktiviert werden.

  4. Moin,

    vielen Dank für deine Anleitung, ich hatte es ja nicht geglaubt, aber ich musste wirklich auch einen 177920531 kaufen, damit die Anlage weiterhin funktioniert.

    Eine Sache ist mir noch aufgefallen: Triggert bei dir auch der Klingelkontakt, wenn jeman den Höhrer abnimmt/auflegt und auch wenn die Tür geöffnet wird?

    1. Entschuldige die späte Antwort, ich wurde nicht ordnungsgemäß über Deinen Eintrag benachrichtigt. Mein WordPress hat nach einem Update keine Emails mehr versendet.

      Nein, ich kann das bei mir nicht nachvollziehen. Da triggert nichts.

  5. Danke für den guten Artikel!
    Ich habe eine ähnliche Lösung implementiert, ich verwende auch einen Wemos D1 mini, aber mit dem Wemos DC PowerShield für die 5V Transformation.
    Hier habe ich festgestellt, dass statt 24V 25V am Pin der RITTO anliegen (nicht so gut) und ich ein Knacken auf der Lautsprecher-Leitung bekomme, sobald ich den Höhrer abnehme.
    Auf dem einen Bild sieht man einen Entstörfilter – was verwendest du und hast/hattest du auch Knacken auf der Lautsprecher-Leitung?

    1. Entschuldige die späte Antwort, ich wurde nicht ordnungsgemäß über Deinen Eintrag benachrichtigt. Mein WordPress hat nach einem Update keine Emails mehr versendet.

      Hallo Stefan,
      alle verwendeten Teile sind im Text beschrieben.
      Mich wundert, dass das Powershield überhaupt funktioniert, da die Ritto-Anlage – wie beschrieben – sehr empfindlich auf Veränderungen reagiert. Ich kann daher keinen Kommentar zu Deinem Aufbau abgeben.

  6. Moin,
    ich habe das bei mir nachgebaut (danke für die Anleitung!) und leider festgestellt, dass bei mir auch 5V an dem Klingelkontakt anliegen, wenn man den Hörer abhebt, die Tür öffnet und sogar, wenn dies beim Nachbarn passiert. Ist das bei dir genau so?
    LG, Sebastian

    1. Entschuldige die späte Antwort, ich wurde nicht ordnungsgemäß über Deinen Eintrag benachrichtigt. Mein WordPress hat nach einem Update keine Emails mehr versendet.

      Hallo Sebastian,
      nein, das habe ich bei mir nicht festgestellt.

  7. Hallo Peter,
    vielen Dank für die ausführliche Anleitung!

    Habe das Teil in den letzten Tagen nachgebaut und bin fast am Ziel.
    Als DC-DC Wandler nutze ich übrigens einen „Recom R-785.0-0.5“.

    Deine Tasmota Config verstehe ich aber nicht ganz.
    Was meinst du bei „buttontopic bell“ und „Pulsetime 5“? Wo finde ich das in der Config, bzw. wo/wie wird das gespeichert wenn ich es in der Console eingebe?
    („13 Button1“ gibt es übrigens bei mir nicht – sondern nur „Button1 (17)“ – scheint aber das gleiche zu sein.)

    Das wichtigste aber: Wie öffnest du die Tür?
    Ich bin an dem Punkt wo das Klingelsignal am MQTT Broker ankommt. Was nun? Mit welchem Wert kann ich D1 per MQTT auslösen?
    So wie ich das bisher verstehe kann Tasmota nur in eine MQTT Topic schreiben, aber nicht eine andere lesen?!

    ________________________
    Falls es noch jemanden interessiert:
    In meinem Fall binde ich die Klingel über Homebridge und MQTT-Plugin an Apple Home an.
    https://github.com/nfarina/homebridge
    https://www.npmjs.com/package/homebridge-mqttthing

    Meine Apple Watch klingelt schon vom Testaufbau aus, jetzt muss ich nur noch öffnen können, dann wird eingebaut 🙂

    Grüße.

    1. Entschuldige die späte Antwort, ich wurde nicht ordnungsgemäß über Deinen Eintrag benachrichtigt. Mein WordPress hat nach einem Update keine Emails mehr versendet.

      Hallo Richard,

      Danke für den Hinweis auf den Wandler und die Ausführungen zu Homebride.

      Ich beziehe mich noch auf Tasmota Version 5.12.0.j. Offensichtlich haben sich die Nummern geändert.
      Soweit ich mich erinnern kann, habe ich buttontopic in „bell“ (kann auch sonstwas sein, nur nicht das, was voreingestellt ist) geändert, damit der Türöffner nicht automatisch betätigt wird. Lässt man die Standardeinstellung so wie sie ist, dann wird automatisch das Relais geschaltet, wenn jemand klingelt. Das ist in den meisten Fällen eher unerwünscht, da man sonst die Tür auch gleich ausbauen kann.
      siehe:
      https://github.com/arendst/Sonoff-Tasmota/wiki/Button-usage#multi-press-functions

      Mit dem Parameter Pulsetime wird die Haltezeit des Relais gesteuert. D.h. der Türöffner soll 5 Sekunden aktiviert werden.

      Die Tür öffne ich per mqtt topic „cmnd/Door/POWER1“ mit Payload „ON“.
      Das Klingeln wird mir gemeldet über topic „cmnd/bell/POWER“ mit Payload „TOGGLE“ (buttontopic, siehe oben). Das werte ich über Node-Red aus und lasse per Pushover Nachrichten an mich verschicken.

      1. Hallo Peter,
        danke für den Nachtrag. Ich habe auch keine Mail erhalten dafür, aber jetzt noch mal reingeschaut.
        Nachdem ich gemerkt habe das das Netzteil der Ritto Anlage scheinbar in die Knie geht wenn der ESP mit dran hängt (es klingelt nicht mehr, nix geht, was weiß ich, bin kein Elektriker), und ich lange überlegt habe mit Powerbank, Super Caps oder ähnlichem zu arbeiten, habe ich mir nun einfach die Zeit genommen und 8m Kabelkanal verlegt für ein USB Netzteil.
        Deine Erläuterung ist nun einfacher zu verstehen und genau so habe ich es nun auch zum laufen bekommen.
        Habe sogar die Mute Taste noch mit drangelötet für eine zukünftige Zeitsteuerung, finde es dafür aber etwas ungünstig dass es klingelt wenn man Mute deaktiviert…

        Grüße,
        Richard

  8. Problem mit der Stromversorgung:
    Habe diesen Artikel genutzt um einen Sonoff 5-32V als Öffner zu nutzen.
    Hierzu habe ich die Anschlußklemmen ausgelötet und das Relais durch ein kleineres ersetzt, um das Ganze im Wandtelefon unterzubringen.
    Habe den Sonoff an die 24V angeklemmt und er funktioniert, dass Relais zieht an, doch der Öffner an der Tür bleibt stumm.
    Jetzt habe ich folgendes festgestellt.
    Wenn das Relais vom Sonoff nicht angezogen ist und ich die Kontakte am Relais überbrücke, oder ich die Türöffner-Taste betätige, dann summt der Türöffner.
    Wenn das Relais vom Sonoff angezogen ist und ich die Kontakte am Relais überbrücke, oder ich die Türöffner-Taste betätige, dann bleibt der Türöffner stumm.
    Das gleiche Verhalten zeigt sich wenn ich den Sonoff direkt über die Busleitung versorge.
    Nur wenn ich den Sonoff fremd versorge, funktioniert alles.
    Aber ich möchte weder Batterien noch ein Netzteil zusätzlich verwenden.

    Auch habe ich heraus gefunden, wenn ich nur einen Elko 220 μF 35V an den 24V Anschluß anschliesse, um die Spannungsfestigkeit zu erhöhen, dann funktioniert der Türöffner-Taster nicht mehr. Hierbei war der Sonoff garnicht angeschlossen. Also nur der Elko.

    Meine Erkenntnis:
    Die Ritto Anlage ist sehr empfindlich.
    Vielleicht ist das auch der Grund, dass der erste DC/DC Wandler, oben im Beitrag, an der Anlage nicht funktioniert hat.

    Die Beste, aber auch teure Lösung ca.130€, ist das Nello One.
    Hätte aber auch den Vorteil, dass man auch noch mit dem Teilnehmer an der Tür sprechen kann.

    1. Entschuldige die späte Antwort, ich wurde nicht ordnungsgemäß über Deinen Eintrag benachrichtigt. Mein WordPress hat nach einem Update keine Emails mehr versendet.

      So wie es verstehe, nimmst Du andere Komponeten, bzw. auch ein anderes Relais. Meine Vermutung ist, dass die Stromaufnahme des verwendeten Relais zu hoch ist um den Kontakt vollständig zu schließen. Das würde erklären, warum man ein Klacken hört, aber der Stromkreis nicht schließt. Ein weiterer Hinweis ist, dass es bei Fremdspeisung funktioniert.
      Dass die Anlage sehr empfindlich, alias zimperlich ist, ist in meinem Text ausgeführt. Daher setzen alle Versuche mit anderen Komponeten eine gewisse Abenteuerlust voraus, inklusive der Gefahr, die Ritto-Anlage durch Fachpersonal reparieren lassen zu müssen.

  9. Hallo,

    netter Artikel. Ich habe genau die selbe Anlage und mir kuerzlich ebenfalls ein NodeMCU bestellt um dieses Projekt zu realisieren.

    Allerdings war mein Plan einen Oktokoppler and die LED zu bringen die blinkt sobald jemand klingelt.
    Aber so ist das natuerlich etwas einfacher.

    Eine Frage: Bei mir gibt es zwei verschiedene Klingeltoene, fuer unten und fuer oben (also direkt vor meiner Wohnungstuer). Hast du eine Moeglichkeit gefunden zu erkennen ob das Klingelsignal von unten oder von oben kommt?

    Besten Dank,

Schreibe einen Kommentar zu Stefan Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.