Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Fritzbox TR064 ESP Klingel Datenpunkt ?

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    Fritzbox TR064 ESP Klingel Datenpunkt ?

    This topic has been deleted. Only users with topic management privileges can see it.
    • SBorg
      SBorg Forum Testing Most Active last edited by

      Hi,
      zumindest einen Fehler habe ich eben entdeckt. Ich komme notfalls wohl erst am WE zum flashen.
      Ändere mal WiFiClient client; in ESP8266HTTPClient client; , sonst kann er einfach keine WiFI-Verbindung mit dem Broker herstellen.

      S 1 Reply Last reply Reply Quote 0
      • S
        skokarl @SBorg last edited by

        @SBorg

        mmhh
        1.PNG

        1 Reply Last reply Reply Quote 0
        • SBorg
          SBorg Forum Testing Most Active last edited by

          Wenn man es halt nicht ausprobiert... 😉
          Der ESP...Client kann es nicht. Ändere es wieder zurück in WiFiClient und füge ganz oben noch #include <WiFiClient.h> ein, dann funktioniert es auch.

          S 1 Reply Last reply Reply Quote 1
          • S
            skokarl @SBorg last edited by skokarl

            @SBorg sagte in Fritzbox TR064 ESP Klingel Datenpunkt ?:

            Wenn man es halt nicht ausprobiert... 😉
            Der ESP...Client kann es nicht. Ändere es wieder zurück in WiFiClient und füge ganz oben noch #include <WiFiClient.h> ein, dann funktioniert es auch.

            Vielen Dank für Deine Mühen .....
            Wir sind fast am Ziel..... kleines Problem noch auf der Zielgeraden 😎
            Der Datenpunkt geht nicht zurück auf false ... 😭

            Ich hab zwar keine Ahnung, aber kann es sein, dass der ESP zu schnell wieder schlafen geht ?

            oder liegt es daran, dass nach dem ersten Setzen auf True die "Connection: close\r\n\r\n"); steht ?

            Wie gesagt, bin erst noch ganz am Anfang 😬

            Ich könnte ja den Datenpunkt auch einfach über Blocky zurücksetzen,
            aber wie ich Dich einschätze willst Du schon wissen warum es nicht zurück auf false geht 😀
            Möchte aber auch Deine Zeit nicht strapazieren, also alles gut.

            aktueller Code

            //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");
            
              //ioB-DP löschen
              client.print(String("GET ") + IOBROKER_DP + "false HTTP/1.1\r\n" +
                           "Host: " + IOBROKER + "\r\n" + 
                           "Connection: close\r\n\r\n");
              
              
              
              ESP.deepSleep(0);
            }
            
            void loop() {}
            
            SBorg 1 Reply Last reply Reply Quote 0
            • SBorg
              SBorg Forum Testing Most Active @skokarl last edited by SBorg

              @skokarl sagte in Fritzbox TR064 ESP Klingel Datenpunkt ?:

              Möchte aber auch Deine Zeit nicht strapazieren, also alles gut.

              Kein Problem 🙂
              Ich bin auch so langsam wieder auf der Zielgeraden. Nach updaten der Arduino IDE will diese zwar immer noch nicht, aber mein zerschossener Atom (hatte sich beim kompilieren aufgehängt, danach ging nix mehr) läuft wieder halbwegs. Gestern 6 Stunden installiert/deinstalliert, danach alles "per Hand" vom System geputzt...

              ...und du liegst mit deinem "Connection: close..." richtig. WiFiClient baut eine Verbindung zum Broker auf, die mit "close" wieder beendet wird. Ich habe einfach, faul wie ich (und wohl die meisten Anderen auch) bin, beim C&P zu wenig erwischt. Du/man könntest auch einfach den 1. Part + "Connection: close\r\n\r\n" entfernen, aber du lässt es 12 Sekunden klingeln und danach baut der TR064 noch die Verbindung wieder ab. In der Zeit könnte auch die WiFi-Verbindung verloren gehen. Da wäre es besser wieder eine aufzubauen. Kostet zwar Zeit, aber der ESP macht zu 99.9% eh nix außer schlafen und ob das "false" nun 20ms früher oder später gesetzt wird fällt wohl auch nicht ins Gewicht ^^
              Diesmal hoffentlich alles C&P richtig; einfach den "ioB-DP löschen" mit ersetzen (oder den WiFiClient...} Teil hinzufügen):

              //ioB-DP löschen
                    WiFiClient client;
                    if (!client.connect(IOBROKER, IOBROKER_PORT)) {
                       Serial.println("connection failed");
                    return;
                    }
              
                  client.print(String("GET ") + IOBROKER_DP + "false HTTP/1.1\r\n" +
                             "Host: " + IOBROKER + "\r\n" + 
                             "Connection: close\r\n\r\n");
              
              S 1 Reply Last reply Reply Quote 1
              • S
                skokarl @SBorg last edited by

                @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.... 👍

                1 Reply Last reply Reply Quote 1
                • SBorg
                  SBorg Forum Testing Most Active last edited by

                  Danke für die Blumen 🙂
                  Ich werde den kpl. (+ dann richtigen) Sketch bei Gelegenheit noch auf GitHub packen, ev. braucht es ja noch jemand.

                  S 1 Reply Last reply Reply Quote 0
                  • S
                    skokarl @SBorg last edited by skokarl

                    @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.

                    1 Reply Last reply Reply Quote 0
                    • S
                      skokarl last edited by skokarl

                      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

                      1 Reply Last reply Reply Quote 0
                      • SBorg
                        SBorg Forum Testing Most Active last edited by

                        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");
                        
                        S 1 Reply Last reply Reply Quote 0
                        • S
                          skokarl @SBorg last edited by skokarl

                          sry, hab mich gerade selbst vertan... :-), und löschen kann man hier nicht.

                          1 Reply Last reply Reply Quote 0
                          • SBorg
                            SBorg Forum Testing Most Active last edited by SBorg

                            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

                            S 1 Reply Last reply Reply Quote 1
                            • S
                              skokarl @SBorg last edited by skokarl

                              @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.

                              hier der Link zur Hardware

                              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)

                              klingel.PNG

                              Damit betrachte ich das Projekt als erledigt,
                              SBorg, hoffe wir machen nochmal was cooles zusammen ..... 😀

                              Gruß Bernd

                              SBorg 1 Reply Last reply Reply Quote 0
                              • SBorg
                                SBorg Forum Testing Most Active @skokarl last edited by

                                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 😀

                                S 1 Reply Last reply Reply Quote 0
                                • S
                                  skokarl @SBorg last edited by

                                  @SBorg sagte in Fritzbox TR064 ESP Klingel Datenpunkt ?:

                                  Och, ich bin alt ....

                                  Ich bin älter, 😬

                                  1 Reply Last reply Reply Quote 0
                                  • First post
                                    Last post

                                  Support us

                                  ioBroker
                                  Community Adapters
                                  Donate

                                  826
                                  Online

                                  31.6k
                                  Users

                                  79.5k
                                  Topics

                                  1.3m
                                  Posts

                                  javascript
                                  3
                                  26
                                  2468
                                  Loading More Posts
                                  • Oldest to Newest
                                  • Newest to Oldest
                                  • Most Votes
                                  Reply
                                  • Reply as topic
                                  Log in to reply
                                  Community
                                  Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                  The ioBroker Community 2014-2023
                                  logo