NEWS
Fritzbox TR064 ESP Klingel Datenpunkt ?
-
@SBorg
Du bist nen geiler Typ,.... !!
Viel Erfolg mit Deinem System.Ich starte dann auch noch nen Versuch, dass meine Frau endlich sehen kann wer klingelt....
-
Danke für die Blumen
Ich werde den kpl. (+ dann richtigen) Sketch bei Gelegenheit noch auf GitHub packen, ev. braucht es ja noch jemand. -
@SBorg sagte in Fritzbox TR064 ESP Klingel Datenpunkt ?:
Danke für die Blumen
Ich werde den kpl. (+ dann richtigen) Sketch bei Gelegenheit noch auf GitHub packen, ev. braucht es ja noch jemand.mach das ...die ESP Klingel Lösung ist schon geil ....
p.s. probier ihn aber vorher mal in Ruhe, es funktioniert immer noch nicht..... ich lasse es jetzt bei true, und setze das false mit dem Anzeigen der View.
Irgendwas ist da komisch....., aber mach jetzt erstmal Deins,...
Danke für alles. -
das geht perfekt ....
#include <Arduino.h> #include <ESP8266WiFi.h> #include <ESP8266HTTPClient.h> #include <tr064.h> #include <WiFiClient.h> const char WIFI_SSID[] = "meineFritzbox"; // <-- ändern const char WIFI_PASSWORD[] = "12345678!"; // <-- ändern const char USER[] = "userklingel"; <-- Fritzbox User const char PASSWORD[] = "userklingel123"; // Fritzbox User Kennwort <-- ändern const char FRITZBOX_IP[] = "192.168.178.1"; const int FRITZBOX_PORT = 49000; const char* IOBROKER = "192.168.178.56"; // <-- ändern auf ioBroker-IP const int IOBROKER_PORT = 8087; String IOBROKER_DP = "/set/javascript.0.ESP_Klingel?value="; TR064 tr064_connection(FRITZBOX_PORT, FRITZBOX_IP, USER, PASSWORD); const IPAddress STATIC_IP(192, 168, 178, 61); 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() { WiFi.hostname(DEVICE_NAME); WiFi.config(STATIC_IP, SUBNET, GATEWAY, DNS); WiFi.begin(WIFI_SSID, WIFI_PASSWORD); WiFi.mode(WIFI_STA); while (WiFi.status() != WL_CONNECTED) { delay(50); } 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); //ioB-Part Datenpunkt per Simple-API setzen############## // Use WiFiClient class to create TCP connections WiFiClient client; if (!client.connect(IOBROKER, IOBROKER_PORT)) { Serial.println("connection failed"); return; } client.print(String("GET ") + IOBROKER_DP + "true HTTP/1.1\r\n" + "Host: " + IOBROKER + "\r\n" + "Connection: close\r\n\r\n"); // Warte 12 Sekunden bis zum auflegen delay(12000); // <-- Zeit wie lange es klingeln soll tr064_connection.action(tr064_service, "X_AVM-DE_DialHangup"); ESP.deepSleep(0); } void loop() {}
Danach mit Script die View Cam einschalten, und den Datenpunkt auf False setzen.
Danke an SBorg -
Hehe, gleich was anderes wenn man es selbst probieren kann. Aber immerhin was dazu gelernt. Ich nutze eigentlich nur MQTT, deswegen ist mir das noch nicht aufgefallen, aber der Connect geht genau 1x, danach wird er automatisch beendet.
Daher noch mal abgespeckt und getestet:
//ioB-Part Datenpunkt per Simple-API setzen############## // Use WiFiClient class to create TCP connections WiFiClient client; client.connect(IOBROKER, IOBROKER_PORT); if (!client.connect(IOBROKER, IOBROKER_PORT)) { Serial.println("connection failed"); return; } client.println("GET " + IOBROKER_DP + "true\n"); //####################################################### // Warte zwölf Sekunden bis zum auflegen delay(12000); tr064_connection.action(tr064_service, "X_AVM-DE_DialHangup"); //ioB-DP löschen client.connect(IOBROKER, IOBROKER_PORT); client.println("GET " + IOBROKER_DP + "false\n");
-
sry, hab mich gerade selbst vertan... :-), und löschen kann man hier nicht.
-
Mit etwas Muse habe ich den Sketch nochmals optimiert. Wenn man sich in das Thema einließt, dann versteht man auch die Probleme. Ich konnte einfach kein absolut stable Ergebnis erzielen. "true" ging zwar immer, das rücksetzen auf "false" war aber doch mehr Glückssache.
Nun lüppt es mE. stable, deswegen habe ich es mal auf GitHub geschoben: ESP-Klingel
-
@SBorg sagte in Fritzbox TR064 ESP Klingel Datenpunkt ?:
Mit etwas Muse habe ich den Sketch nochmals optimiert. Wenn man sich in das Thema einließt, dann versteht man auch die Probleme. Ich konnte einfach kein absolut stable Ergebnis erzielen. "true" ging zwar immer, das rücksetzen auf "false" war aber doch mehr Glückssache.
Nun lüppt es mE. stable, deswegen habe ich es mal auf GitHub geschoben: ESP-Klingel
Hi Sborg,
ich wollte es nicht so direkt sagen ....
Schön, dass Du es nochmal optimiert hast.Ich bin allerdings doch bei der "nur true" Lösung geblieben, hat evtl. sogar Vorteile.
In meinem Fall setze ich die Variable mit Anzeigen eines "großen" Bildes zurück auf false,
speichere ein Bild der Kamera im IOBroker Verzeichnis, und sende es per Telegram an mich.Bild speichern
(Speicherscript von bluefox und pix)Damit betrachte ich das Projekt als erledigt,
SBorg, hoffe wir machen nochmal was cooles zusammen .....Gruß Bernd
-
Och, ich bin alt und kann mit Kritik oder Fehlern umgehen. Wenn was nicht funktioniert kann man mit mir immer reden
Ist nur immer blöd wenn ich es selbst nicht nutze, da geht schon mal das ein oder andere "verschütt".@skokarl sagte in Fritzbox TR064 ESP Klingel Datenpunkt ?:
SBorg, hoffe wir machen nochmal was cooles zusammen ...
Ich bin hier und habe meist ein offenes Ohr
-