Wlan-Klingel mit ESP8266 für Fritzbox ab FritzOS 7.26

leider ist das gleichnamige alte Thema gerade geschlossen worden. Ich hab seit ca. 2 Jahren die original Reichelt- Platine mit der Wlan-Klingel im Einsatz. Hat bis vor wenigen Tagen problemlos funktioniert. Nun plötzlich kein Klingeln der Telefone mehr. Rein äußerlich hat sich nichts geändert. Die Betriebsspannung liegt an, beim Klingeln blitzt die blaue LED auf. Im ersten Moment denke ich an das etwa zeitgleich gelaufene Update der Fritz- Firmware. Ist vielleicht jetzt der Zugang nicht mehr möglich oder wurden von AVM andere Sicherheitsmerkmale verändert?

habe das vor langer Zeit mal ausprobiert und die Software auf einem ESP8266 nodeMCU drauf gelassen. Eben angestöpselt. Es Klingelt.

Ich habe eine Fritzbox 7490 mit aktueller Firmware
hier der democode ohne passwörter

// Sourcecode from https://www.reichelt.de/magazin/how-to/smarte-tuerklingel/

#include <Arduino.h>
#include <ESP8266WiFi.h>
#include <ESP8266HTTPClient.h>
#include <tr064.h>

const char WIFI_SSID[] = "WLANBuero";   // <-- ändern
const char WIFI_PASSWORD[] = ""; // <-- ändern
const char USER[] = "admin";
const char PASSWORD[] = ""; // <-- ändern
const char FRITZBOX_IP[] = "192.168.178.1";
const int FRITZBOX_PORT = 49000;

TR064 tr064_connection(FRITZBOX_PORT, FRITZBOX_IP, USER, PASSWORD);

const IPAddress STATIC_IP(192, 168, 178, 230);
const IPAddress GATEWAY(192, 168, 178, 1);
const IPAddress SUBNET(255, 255, 255, 0);
const IPAddress DNS(GATEWAY);

const char DEVICE_NAME[] = "ESP-Klingel";

void setup() {

  Serial.begin(115200);
  Serial.println("");
  Serial.println("");
  Serial.println("Start WiFi");

  WiFi.hostname(DEVICE_NAME);
  WiFi.config(STATIC_IP, SUBNET, GATEWAY, DNS);
  WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
  WiFi.mode(WIFI_STA);

  Serial.print("Attempting to connect to SSID: ");
  Serial.println(WIFI_SSID);

  while (WiFi.status() != WL_CONNECTED) { 
   delay(500);
   Serial.print ( "." );
  }
  Serial.print ( "tr064_connection.init()" );
  tr064_connection.init();

  String tr064_service = "urn:dslforum-org:service:X_VoIP:1";

  // Die Telefonnummer **9 ist der Fritzbox-Rundruf.
  String call_params[][2] = {{"NewX_AVM-DE_PhoneNumber", "**9"}};
  tr064_connection.action(tr064_service, "X_AVM-DE_DialNumber", call_params, 1);
  Serial.print ( "tr064_connection.action(tr064_service, X_AVM-DE_DialNumber, call_params, 1)" );

  // Warte vier Sekunden bis zum auflegen
  delay(4000);
  tr064_connection.action(tr064_service, "X_AVM-DE_DialHangup");

  Serial.print ( "ESP.deepSleep(0)" );
  ESP.deepSleep(0);
}

void loop() {}

vgs

Darf man fragen , wo der Klingeltaster angeschlossen wird?
Edith: hat sich erledigt → Deep-Sleep
Allerdings habe ich die Fritzboxeinstellungen von Reichelt nicht…

Auf der Seite hier

steht

Fritz!Box vorbereiten

Damit unser Mikrocontroller mit der Fritz!Box kommunizieren kann, benötigen wir Zugriff über das TR-064-Protokoll. Dafür muss im Administrationsmenü der Fritz!Box (http//fritz.box) unter ”Heim”“Heimnetzübersicht”“Netzwerkeinstellungen” der Haken bei “Zugriff für Anwendungen zulassen” gesetzt sein.
vgs

1 Like

Vielen Dank für die schnellen Antworten. Wie ich schon geschrieben habe, hat die W-LAN Klingel über 2 Jahre hinweg klaglos funktioniert. Ohne irgend ein Eingriff funktioniert sie plötzlich nicht mehr! Bevor ich jetzt alles wieder auseinander baue wollte ich nur Fragen, ob das mit dem Update der Fritz!Os auf Version 7.26 zusammenhängen könnte. Zeitlich würde es zusammenpassen. Vielleicht hat jemand das gleiche Problem. Oder eben auch nicht!

Ich habe in meiner Fritzbox automatische Updates aktiviert. Ich habe jetzt nachgeschaut. Auf meiner FB 7490 läuft FritzIOS 7.21 und wird als aktuell bezeichnet.

vgs

http://ftp.avm.de/fritzbox/fritzbox-7490/deutschland/fritz.os/info_de.txt

Produkt:        FRITZ!Box 7490
 
Version:        FRITZ!OS 7.26

Sprache:        Deutsch, Englisch, Französisch, Italienisch, Polnisch, Spanisch

Release-Datum:  22.04.2021

Das wirst nur rausbekommen, wenn Du wieder zurück zur .21 gehst.

Hm… komisch ich habe automatische Updates aktiviert es wurde aber trotzdem nicht durchgeführt.
Für den downgrade kann man hier ältere Versionen herunterladen
https://service.avm.de/downloads/downgrade/

vgs

Damit wird die Box komplett resettet auf die vorhergehende Version. Das sollte man bedenken, wenn man nicht selbst das letzte Image hat. :wink:

Das Problem ist gelöst! Es war wie ich schon vermutet hatte, eine geänderte Sicherheitseinstellung von AVM.
Den allgemeinen User “admin” gibt es nicht mehr. Er wurde ersetzt durch einen neuen User Namens “fritz1234” wobei 1234 für ein zufällige Zahlenkombination steht.
Das ändert somit auch dem Sourcecode der WLAN-Klingel:

const char WIFI_SSID[] = "WLANBuero";   // <-- ändern
const char WIFI_PASSWORD[] = ""; // <-- ändern
const char USER[] = "fritz####";  // <-- ändern!!!
const char PASSWORD[] = ""; // <-- ändern
const char FRITZBOX_IP[] = "192.168.178.1";
const int FRITZBOX_PORT = 49000;

Den persönlichen Username findet man in der Fritzbox unter:

System => Fritz!Box-Benutzer

Sobald die neuen Firmwareversionen der FritzBox häufiger installiert werden wird das wohl eine häufige Anfrage werden!

Und weil das so ist, hier meine Bitte:
Deinen Code bitte in Codetags und die komischen Kästchen da rauseditieren.

Dann versuch mal den Betreff zu ändern und schreib mal “ab FritzOS 4.26” (Danke Tommy56) “ab FritzOS 7.26” noch dazu.

Na wenn die Updates tatsächlich trotz eingeschalteter Automatik seit 14 Tagen noch nicht eingespielt sind, dann ist noch einiges zu erwarten… hast recht :wink:

Du meinst eher 7.26.

Gruß Tommy

1 Like

Ja den Betreff hab ich geändert, die komischen Kästchen sind eckige Klammer auf und zu. Das ändert der Editor selbsttätig.

Wenn Du da Codetags rum machst nicht.

VOR die Zeile const char WIFI… noch eine Zeile einfügen mit dem Wort code in eckigen Klammern.
Nach const int Fritzbox_port eine neue Zeile mit
/code - ebenfalls in eckigen Klammern.

Jetzt weiß ich was mit “Codetags” gemeint ist.

“Man lernt nie aus…” (Gerhard Uhlenbruck) :slight_smile:

Danke für diese richtig coole Idee :grinning:

Ich bin immer wieder begeistert, was alles möglich ist mit diesen kleinen ESPS.

Meine Frage wäre: Funktioniert das auch bei einer 2-Draht-Video Klingel (von der Ausseneinheit zur Inneneinheit, wo auch das Netzteil dranhängt).
Da ist ja die Stomversorgung anders geregelt…
Klingelknopf außen drücken, es klingelt draußen, Monitor innen geht an und es klingelt.

Danke für einige Tipps :+1:

Meine Außensprechanlage ist per Funk mit meiner Fritz!Box verbunden, meinst Du sowas?

Oder ohne Fritz!Box?

Ne schon mit FritzBox in dessen WLAN der ESP hängt.

Ich meinte die Tasterbetätigung an der Ausseneinheit.

Das müsste ja immer Strom anliegen (denke ich) bei dieser 2 Draht Technik.

Bei einer „normalen“ Klingel wird ja der Stromkreis erst durch den Klingelknopf geschlossen und der ESP geweckt.

Ich wüsste nicht, wie man das bei der 2 Draht Technik mit Monitor schalten sollte…