[HowTo] Wählhilfe per Hardwaretaste starten <4€ ohne Firmwaremod

Andre

IPPF-Promi
Mitglied seit
27 Dez 2004
Beiträge
3,309
Punkte für Reaktionen
5
Punkte
38
Moin,

es gibt hier ja schon einige Threads dazu, wie man die Fritzbox dazu bringen kann, auf Knopfduck ein Ziel zu wählen - z.B. mit modifizierter Firmware und USB-Druckerkabel, was zwar billig ist, aber bei jedem Firmwareupdate neu eingerichtet werden muss. Auch Wahlgeräte für den Anschluss an einen fon-Port sind bisher als Lösung vorgeschlagen worden, was zwar firmwareunabhängig funktioniert, aber nicht ganz billig ist.

Inspiriert vom Who-ist-home-indicator und unter Nutzung der zugehöhrigen TR-064 Library auf GitHub habe ich ein einfaches Programm für die NodeMCU geschrieben, welches auf Knopfdruck die Wählhilfe der Fritzbox nutzt, um einen Anruf auszulösen. Dies funktioniert über die reguläre API der Fritzboxen, bedarf also keiner Firmwareanpassungen. Es ist die gleiche Methode, mit der auch Desktopprogramme die Wahlhilfe verwenden.

Basis ist die NodeMCU, ein stromsparender Microcontroller mit WLAN für ca. 3,20€ (über eBay einschließlich Versand aus China) bzw. 7,99 auf Amazon (wenn man nicht 4-6 Wochen auf die Lieferung warten möchte). Der Strombedarf ist dabei so gering, dass man die NodeMCU auch an älteren Fritzboxen direkt aus deren USB-Buchse versorgen kann.

Nähere Informationen über die NodeMCU und wie man diese mit der ArduinoIDE programiert, findet man hier.
Hat man die ArduinoIDE installiert und wie dort beschrieben den Boardmanager für ESP8266 (das ist der eigentliche WLAN-Controller auf der NodeMCU) nachinstalliert, so muss man nur noch die oben genannte TR-064 Library herunter laden und installieren. Direkt kann man die Zip nicht als Library in der ArduinoIDE importieren, ich habe das Archiv deshalb entpackt und nur den Inhalt des library-Unterverzeichenes gezippt. Das lies sich dann importieren.

Schießt man die NodeMCU an den PC an, so muss ggf. noch der Treiber für den integrierten USB-Seriellwandler installiert werden (ja, auch der ist bei den 3,20€ on board). Danach schaut man im Gerätemanager, welche COM-Port hinzu gekommen ist. In der Arduino-IDE wählt man nun die NodeMCU und den COM-Port.

Jetzt kann man auch schon in der IDE programmieren - z.B. mit Copy/Paste folgendes Programm rein kopieren:

Code:
/**
 * caller.ino
 *  Oliver-André Urban
 * based on
 * home-indicator.ino
 *  by René Vollmer
 *  Example code for the home-indicator-project
 *  
 * many thanks to René for his TR-064 library 
 */

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

#define USE_SERIAL Serial
#define TASTER D3 
// Flash Taster - you can connect a seperate button to D3 or an opto-coupler 
// for example: use a resistor and an opto-coupler to connect to a doorbell

ESP8266WiFiMulti WiFiMulti;

//Put your router settings here

//Wifi network name (SSID) and WLAN-Password
const char* wifi_ssid = "WLANSID"; 
const char* wifi_password = "12345678901234567890";

//The username and password you created for login (Anmeldung aus dem Heimnetz mit Benutzername und Passwort)
const char* fuser = "meinbenutzername";
const char* fpass = "meinpasswort";

//IP address of your router. This should be "192.168.178.1" for most FRITZ!Boxes
const char* IP = "192.168.178.1";

//Port of the API of your router. This should be 49000 for all TR-064 devices.
const int PORT = 49000;

//Do not mess with these :)
//TR-064 connection
TR064 connection(PORT, IP, fuser, fpass);


void setup() {

  //Wait a few secs for warm-up (dunno why, was in the default code for http connections).
  delay(5000);
 
  //Connect to wifi
  WiFiMulti.addAP(wifi_ssid, wifi_password);

  //Wait for the wifi to connect
  while ((WiFiMulti.run() != WL_CONNECTED)) {
    delay(100);
  }
  pinMode(TASTER, INPUT); // Port as input
}

void loop() {
int taste = digitalRead(TASTER);
if (digitalRead(TASTER)== LOW) 
{
  USE_SERIAL.println();
  USE_SERIAL.printf("Taste gedrückt");
  callWahlhilfe();
  delay(20000);
}
else
{
  USE_SERIAL.println();
  USE_SERIAL.printf("Taste nicht gedrückt");
  delay(50);   
  }
//delay(100);   
}


int callWahlhilfe() {
 // Maybe the WLAN connection is lost, so testing an reconnect if needed
    if ((WiFiMulti.run() != WL_CONNECTED)) {
      WiFiMulti.addAP(wifi_ssid, wifi_password);
      while ((WiFiMulti.run() != WL_CONNECTED)) {
        delay(100);
      }
     }
  // (Re-) Initialize the TR-064 library - it is done every time, as maybe the connection has lost before
     connection.init();

  String params[][2] = {{"NewX_AVM-DE_PhoneNumber", "**799"}};
  String req[][2] = {{}};

  connection.action("urn:dslforum-org:service:X_VoIP:1", "X_AVM-DE_DialNumber", params, 1, req, 0);
}
In dem Code muss man eine WLAN-SSID und Passwort eintragen. Dass muss nicht von der Fritzbox sein, deren Wählhilfe man aufrufen möchte, es kann auch eine andere im heimischen Netz sein. Hauptsache, man kommt über das WLAN zu der IP der fernzusteuernden Box.

Ebenfalls muss ein Benutzername und Passwort für das Web-Login eingetragen werden. Dazu legt man in der Fritzbox erstmal einen Benutzer mit den nötigen Rechten an.

Auch die IP der Fritzbox steht im Programm (Standard: 192.168.178.1).

Als Zielrufnummer ist **799 eingetragen, im Telephonbuch der Fritzbox kann man hier beliebige Ziele eintragen (z.B. **9 für Rundruf). Wählhilfe muss in der Fritz!Box aktiviert und auf ein Telephon eingestellt werden.

In der Arduino-IDE muss man nur noch "hochladen" klicken, das Programm wird dann kompilliert und auf die NodeMCU geschrieben.

Das war es auch schon. Als Taster habe ich den D3-Pin gewählt, auf der NodeMCU ist damit intern bereits der "Flash"-Taster verbunden. Drückt man diesen Taster, startet die Wahlhilfe. Man kann also gleich ausprobieren, ohne weitere Hardware anzuschließen.

Im Einsatz macht es natürlich Sinn, einen externen Taster anzuschließen. Einfach mit einer Taste D3 und Masse verbinden.
Will man an eine vorhandene Türklingel anknüpfen, nimmt man einen Optokoppler mit Vorwiderstand oder wahlweise ein Relais.

Ich habe das ganze erst seit einer Stunde fertig, kann zur Langzeitfunktion also noch nichts sagen. Einen Neustart der Fritzbox überlebts aber. Ich werde es erstmal ein-zwei Wochen ins Regal stellen (eingeschaltet) und dann testen, obs noch läuft.

Erweiterungsmöglichkeiten:
  • Mehrere Tasten für mehrere Rufziele
  • Ein-/Ausschalten von Rufumleitungen auf Tastendruck
  • Zweiter NodeNCU, der den Callmonitorport überwacht: Damit ließe sich ein Lineinterface aus einem alten Analogmodem so steuern, dass man für fast kostenfrei ein FTZ123D12 realisieren kann (aber Umweg über externe Verbindung erforderlich, damit der Callmonitor funktioniert).

Zu letzerem Punkt bietet sich geradezu das Gewinnerprojekt aus der ct´hacks als Vorlage an, der Frizbox Callmonitor für Wählscheibentelefone. Im Sourcecode auf Github findet man ein Beispiel, wie man die Callmonitorschnittstelle der Fritzbox auswertet. Der Trick wäre nun, dass man mit dem hier vorgestellten Wähbutton eine Verbindung über eine externe Rufnummer hestellt, die auf der Callmonitorschnittstelle signalisiert wird und intern auf fon2 klingelt. An fon2 kommt das Lineinterface aus einem alten Analogmodem. Dies signalisert "ring", wenn das Ziel abgenommen hat. Dies wird mit dem Microcontroller verbunden, der entsprechend "Hook" auslöst und das Relais für die Stromversorgung der FTZ123D12-Türsprechstelle aktiviert. Es wird weiter die Callmonitorschnittstelle überwacht, wenn die Verbindung von einem Ende getrennt wird, wird hook und Strom für die TFE wieder deaktiviert. Auch zum Türöffnen wird der Callmonitor verwendet: Wird versucht, eine ungültige extertene Nummer (z.B.000123) anzurufen, erscheint schon der Versuch der Verbindung im Callmonitor. Daraufhin kann der Microcontroller ein TÖ-Relais schalten. Man löst also das Türöffnen durch eine "Rückfrage" an die ungültige Nummer aus.
 
Zuletzt bearbeitet:

Andre

IPPF-Promi
Mitglied seit
27 Dez 2004
Beiträge
3,309
Punkte für Reaktionen
5
Punkte
38
DECT 200 auf Tastendruck schalten

Moin,
manchmal können Tippfehler sehr hartnäckig sein - hat eine Woche gedauert, ihn zu finden.
Aber jetzt gehts: Gleiche Lösung wie oben, nur wird jetzt nicht die Wählhilfe aufgerufen, sondern eine DECT200 geschaltet.

Code:
String params[][2] = {{"NewAIN", "12345 0123456"}, {"NewSwitchState", "TOGGLE"}};
connection.action("urn:dslforum-org:service:X_AVM-DE_Homeauto:1", "SetSwitch", params, 2);
Irritierend ist "New" vor AIN und SwitchState, in der pdf von AVM fehlt das, man findet es aber in der XML. Auch das Leerzeichen in der AIM muss sein! Nebenbei: in der AVM-PDF steht die ServiceID:
"urn:X_AVM-DE_Homeauto-com:serviceId:X_AVM_DE_Homeauto1"
"urn:X_AVM-DE_Homeauto-com:serviceId:X_AVM-DE_Homeauto1" steht in der :49000/tr64desc.xml.
Man beachte "-" nicht Unterstrich zwischen AVM und DE
Der Service Type "urn:dslforum-org:service:X_AVM-DE_Homeauto:1" ist in der AVM-PDF nicht angegeben, ich hatte ihn analog aus der ServiceID gebildet - mit dem falschem Unterstrich statt des "-". Argh.

So, wie der Code jetzt abgebildet ist, funktioniert er einwandfrei. Natürlich kann man statt eines Tasters auch zwei anschließen, einen der den Code mit "ON" und einen, der ihn mit "OFF" statt "TOGGLE" aufruft.
Das bietet sich an, wenn sich das geschaltete Gerät nicht in Sichtweite befindet.

Dann bietet sich auch an, den Status auszulesen und per LED anzeigen zu lassen. Idealer Weise eine Zweifarb-LED, rot=aus grün=an. Setzt man mehrere Fernschalter ein, sollte man ggf. regelmäßig den Status auslesen.

Um den Status festzustellen, verwendet man folgenden Code:
Code:
      String paramsb[][2] = {{"NewAIN", "12345 0123456"}};
      String reqb[][2] = {{"NewDeviceId", ""}, {"NewSwitchState", ""}};
      connection.action("urn:dslforum-org:service:X_AVM-DE_Homeauto:1", "GetSpecificDeviceInfos", paramsb, 1, reqb, 2);
      // Der Status befindet sich danach in der Variablen reqb[1][1]
Die Ausführung dauert - wie auch beim Ändern über Webinterface oder Mobilteil - ca. 1-1,5s. Man sollte mit dem Auslesen nach dem Schalten also 1,5 Sekunden warten.


Den "Wählhilfetaster" hatte ich jetzt gut eine Woche in Betrieb - läuft also, soweit man das bis jetzt sagen kann, stabil.

Für den DECT-Funkschalter bietet sich eine etwas abweichende Hardware an:
Die NodeMCU ist ein "Entwicklerboard", auf dem der eigentliche Controller, der ESP-12E oder F aufgelötet ist. Das Entwicklerbord macht drei Dinge:

1. USB-Serielladapter zum Programmieren
2. Spannungswandler 5V auf 3,3V
3. 2mm Pinabstand des ESP-12E/F auf 2,54 Rastermaß für Experimentierplatinen anpassen.

Dadurch vergrößert sich die Grundfläche gegenüber dem reinen ESP-12E/F auf das mehr als 3-fache.

Für den Produktiveinsatz bietet sich der nakte ESP-12F ohne Entwicklerboard an. Dieser ist ab 1,89€ zu haben (mit Versand aus China). Ein 5-er Pack Spannungswandler kosters 1 € mit Versand. EIn USB-Seriellwandler (3,3V) kostet meiner Erinnerung nach um die 2,50, wird aber nur beim Programmieren gebraucht, ist also unabhängig davon, wie viele Controller man einsetzen will, nur ein Mal erforderlich.

Jetzt nimmt man eine Platine mit den Abmessungen einer Lichtschalterwippe. In der Mitte schneidet man ein Loch, in das ein schlankes USB-Netzteil passt. 1-4 Tasten (ggf. mehr) ordnet man frei nach Laune auf der Platine an. Geeignet wären z.B. Cherry-Tasten. Ggf. baut man noch Leuchtdioden ein. Auf der Rückseite der Platine befestigt man mit etwas Heißkleber oder Epoxydharz den ESP-12F und den Spannungswandler; ebenso verklebt man die Platine am USB-Netzteil. Von der USB-Buchse führt man Masse und 5V auf die Platinenrückseite an den Spannungsregler und verdrahtet alle Bauteile untereinander.

Jetzt kann man das Konstrukt in die Steckdose (z.B. in die meist unter dem Lichtschalter befindliche) stecken...
 
Zuletzt bearbeitet:

isomack

Neuer User
Mitglied seit
14 Nov 2017
Beiträge
1
Punkte für Reaktionen
0
Punkte
1
Hey super Arbeit dein Script. Bei mir funktioniert auch alles ohne Probleme. Hast du eine Idee wie ich das Signal abfangen kann wenn ich mit Rundruf die Telefone klingeln lasse und der Teilnehmer das Klingeln weg drückt. Würde meinen ESP gerne so programmieren, dass er daraufhin eine weitere Aktion startet.
 

Andre

IPPF-Promi
Mitglied seit
27 Dez 2004
Beiträge
3,309
Punkte für Reaktionen
5
Punkte
38
Sorry, das ich so lange nicht geantwortet habe. Hatte die Benachrichtigung übersehen.

Leider werden interne Anrufe nicht durch die Callmonitorschnittstelle überwacht. Daher gibt es keine Möglichkeit, auf Annahme oderAbweisen zu reagieren.
 

meierchen006

Aktives Mitglied
Mitglied seit
7 Jun 2007
Beiträge
1,011
Punkte für Reaktionen
42
Punkte
48
Hallo Andre,

welch ein Zufall habe mir gerade einen Temperatur-Aussenfühler gebastelt mit einem Node MCU esp8266-12E.

Dein Projekt inspiriert mich jetzt auch so einen WLAN Taster zu bauen!

Nächstes Ziel ist auch noch einen Sensor zu bauen der den Zählerstand der Gasuhr abliest.
 
Zuletzt bearbeitet:

superpapa

Mitglied
Mitglied seit
11 Dez 2006
Beiträge
789
Punkte für Reaktionen
2
Punkte
18
Da sehe ich gänzlich neue Möglichkeiten mit dem Sonoff-WLAN-Schalter.
Hab davon einige in Betrieb, überwiegend mit Tasmota-Firmware(damit die nicht nachHause telefonieren), die wurde auch mittels Arduino kompiliert und (nur beim 1. Mal mit FTDI-Adapter, Sonota noch nicht getestet - danach gehts per WLAN) aufgespielt. Derzeit betreibe ich die nur per Browser, http-Handy-App oder per integriertem Taster, Hausautomatitionsbedarf und siri-Alexa-Müll hab ich nicht.

Die kompletten Sonoffs gibts ab 5,- via ebay beim Chinesen des geringsten Mißtrauens und da sind "Kontakte" frei, ob die sich dazu missbrauchen lassen?
Das ist jedenfalls hochinteressant!
Gruß
Micha
 

HarryHase

Mitglied
Mitglied seit
16 Feb 2006
Beiträge
586
Punkte für Reaktionen
7
Punkte
18
nimm einen wemos d1 mini mit espeasy software ...
 

superpapa

Mitglied
Mitglied seit
11 Dez 2006
Beiträge
789
Punkte für Reaktionen
2
Punkte
18
Beim wemos d1 mini ist im Gegensatz zum Sonoff weder Netzteil noch formschönes(?) Gehäuse bei. Einfach 230V anschließen (außer beim 1.-Programmieren per FTDI) und loslegen.
Mal sehn.
Michael
 

HarryHase

Mitglied
Mitglied seit
16 Feb 2006
Beiträge
586
Punkte für Reaktionen
7
Punkte
18
ja sicher gibt bei jedem Gerät Vor- und Nachteile, wollte nur eine Alternative aufzeigen ..
 

Andre

IPPF-Promi
Mitglied seit
27 Dez 2004
Beiträge
3,309
Punkte für Reaktionen
5
Punkte
38
Die Sonoffs waren auch mein erster Gedanke. Sie sind ja gut dokumentiert. Allerdings haben sie durchgehend nur 1 MB Flash, während die Wemos D1 4MB haben. Ich bin bisher nicht dazu gekommen, auszuprobieren, ob der nötige Code mit der Library (bzw. beiden Librarys, die für TR64 und der fauxmo) in 1MB passt. Ggf. müsste man den Flash tauschen. Es ist zwar ein SMD-baustein, aber nur mit 8 Pins, sollte also gehen.

Interessant sind insbesondere die Unterputzschalter von Sonoff, die es mit bis zu drei Tasten (und drei verbauten Relais) gibt. Wird ein einfacher Wandschalter ersetzt, könnte man eine Taste und entsprechend ein Relais z.B. mit Fauxmo nutzen, um das Deckenlicht direkt und via Alexa & Google Home zu schalten, den zweiten, um per Fauxmo der Tastendruck ausgelöst per TR64 die FBF anzusprechen und eine DECT Steckdose fernzusteuern und die Dritte, um per Taste oder Sprachsteuerung (Fauxmo) über TR64 eine Rufumleitung an/aus zu schalten. Ggf. per Sprache alles gleichzeitig (als Gruppe): "Alexa, schalte Gruppe 'BinWeg' an" schaltet Deckenlicht aus, Stehlampe an der DECT-Dose aus und RUL an.

Mir fehlt die Zeit, dies zu probieren und habe mich daher auf ein Wemos D1 und TR64 beschränkt - den kniffeligen Teil. Für den Produktiveinsatz habe ich schon an die Sonoffs gedacht und habe Sonoff 3-fach Wandschalter und 4MB-Flashbausteine seit über einem Jahr liegen, komme aber nicht dazu, es zu probieren (weil es seit April 17, kurz nachdem ich die Sonoffs bekam, Ikea Tradfri gibt und ich mein ganzes Licht im Haus jetzt eh über Zigbee steuere - die DECT-Steckdosen und das Relais in den Sonoffs ist also für mich obsolent geworden, und RUL muss ich auch nicht schalten, weil mein Asterisk durchgehend auf Parallelruf ingerichtet ist). Daher beobachte ich das Thema zwar mit Interesse, bastel aber nicht mehr selbst daran.

Die Sonoffs sind gerade, wenn man Netzspannung schalten will, eine prima Lösung. Nur die Flashgröße von nur 1MB stört.
 

Garagenlöter

Neuer User
Mitglied seit
20 Dez 2017
Beiträge
77
Punkte für Reaktionen
4
Punkte
8
Ich habs auch versucht, läuft bei mir aber nicht.
was mir Komisch vorkommt, ist das einige Lib's schwarz bleiben:

#include <Arduino.h> schwarz
#include <ESP8266WiFi.h> rot
#include <ESP8266WiFiMulti.h> rot
#include <ESP8266HTTPClient.h> schwarz
#include <tr064.h> schwarz

heisst doch, sind nicht eingebunden, oder?

was mir auch aufgefallen ist, der NodeMCU spannt ein eigenes WiFi netz auf. Dürfte als klient auch nicht sein.


und was bedeutet das bitte:

String params[][2] = {{"NewX_AVM-DE_PhoneNumber", "**701"}};
String req[][2] = {{}};

connection.action("urn:dslforum-org:service:X_VoIP:1", "X_AVM-DE_DialNumber", params, 1, req, 0);
 

Andre

IPPF-Promi
Mitglied seit
27 Dez 2004
Beiträge
3,309
Punkte für Reaktionen
5
Punkte
38
rot bedeutet nicht gefunden.
Beachte auch den Hinweis zum Thema Versionen bei http://www.mikrocontroller-elektronik.de/nodemcu-esp8266-tutorial-wlan-board-arduino-ide/
Neuere Version heißt nicht besser! Ich habe genau die Arduino-IDE und die Library-Versionen in dem Beitrag genommen. Ich hatte es schon öfter, dass neuere IDE oder andere Library-Versionen mit bestimmten Programmen nicht liefen. Ich habe inzwischen drei verschiedene Versionen der Arduino-IDE parallel installiert und schaue immer, mit welcher entsprechende Beispiele programmiert wurden.

Die Kommunikation per tr069 erfolgt per xml. Der Aufbau dieser XMLs passiert nach einem Muster - das man auf der FBF laden kann. In dieses Muster sind die Funktionen und Parameter an die entsprechenden Stellen einzubauen.
Diese Arbeit nimmt einem connectin.action ab. Genau diese Funktion ist in der tr069-library definiert und wird mit der tr064.h eingebunden. Dazu muss connection.action natürlich wissen, wo die Muster-xml liegt, welche Funktionsbibliothek der FBF aufgerufen soll, welche Funktion darin und welche Variablen auf welchen Wert gesetzt oder welche Variablen gelesen werden sollen.

Als erstes erwartet diese Routine die Übergabe des xml-"Musters" für die Kommunikation (die xml für die Telephoniefunktion, die wir benötigen, befindet sich in urn:dslforum-org:service:X_VoIP:1), danach den Namen der TR064-Funktion der FBF, die die aufgerufen werden soll (also die Wahlhilfe=X_AVM-DE_DialNumber). TR064-Funktionen werden Kommandos zum Schreiben mit Parametern in Form eines Arrays übergeben - immer Parametername und Wert. Hier soll der Parameter NewX_AVM-DE_PhoneNumber mit "**701" geschrieben werden.
Die 1 gibt die Anzahl der Zeilen des Arrays an - hier wird genau eine Variable (eben NewX_AVM-DE_PhoneNumber) mit einem Wert beschrieben. Mehr ist zum Aufruf der Wahlhilfefunktion nicht nötig.
Hier wird also "NewX_AVM-DE_PhoneNumber" (=Neue anzurufende Nummer) auf "**701" gesetzt - also auf den ersten Kurzwahleintrag. Die Wählhilfe wird also die Nummer anrufen, die man unter der Kurzwahl **701 im internen Telefonbuch der FBF hinterlegt hat. Nimmt der Angerufene ab, so klingelt das Telephon, das man im Webinterface für die Wahlhilfe eingestellt hat (auch das kann man durch Schreiben des entspechenden Parameters über tr069 ändern - muss man in die Entwicklerdoku schauen). Bei mir habe ich für den Test im Webinterface den ungenutzten fon2 eingestellt und unter **701 die **9 (Rundruf). Beim Drücken der Taste klingeln also ale Telephone (außer **2), nimmt einer ab, bekommt er "Die Verbindung wird gehalten" und dann klingelt (oder vielmehr, da nicht vorhanden, klingelt nicht) fon2.
Man könnte also auch **9 in den Code schreiben - müsste den aber dann immer ändern, wenn man nicht alle Telephone, sondern nur einzelne klingeln lassen will - oder wenn Türklingeln auf dem Handy signalisiert werden soll. Über den Umweg Telephonbuch kann man das Klingelziel bequem per Webinterface ändern.

Andere Funktionen der TR069-Schnittstelle dienen dazu, Werte zu lesen. Dafür ist das Array req[] zuständig. Bei der Wahlhilfe ist nichts zu lesen; entsprechend ist das Array leer und die Zahl der Zeilen 0.

Welche urn: die passende xml liefert, welche Funktionen damit erreichbar sind und welche Parameter damit zu lesen oder zu schreiben sind, findet sich in der Entwicklerdokumentation von AVM. Die tr069-Library erleichtert den Umgang mit der tr069-Schnittstelle, indem sie das Setzen der Variablen in die Muster-xml einbaut, diese xml dann an die FBF sendet und rückgelieferte Ergebnisse ins req-Array schreibt. Damit muss man nur noch wissen, wie die urn´s, Funktionen, Variablen usw. heißen, aber nicht mehr, wie man die dann übermittelt. Das ist eine deutliche Erleichterung. Es erspart einem aber nicht, sich mit der Entwicklerdokumentation zu beschäftigen, wenn man selber andere Dinge aufrufen möchte.
 

Garagenlöter

Neuer User
Mitglied seit
20 Dez 2017
Beiträge
77
Punkte für Reaktionen
4
Punkte
8
Danke für die ausführliche Erklährung.

nur... verstanden davon hab ich nix.
Aber... auch ohne das ich das verstehe, sollte es bei mir auch laufen.

Biste mit den Farben der Lib's sicher? ich meine , das es genau umgekehrt ist.
Könnteste das evtl. mal in deiner IDE vergleichen?

Ich bekomm auch nichts auf dem seriellen Monitor angezeigt. Baudrate stimmt!!!
 

Garagenlöter

Neuer User
Mitglied seit
20 Dez 2017
Beiträge
77
Punkte für Reaktionen
4
Punkte
8
Ich versteh es einfach nicht.
Hab auf nem anderen Lappi ne 1.6.12 IDE mit allen notwendigen Lib's aufgesetzt.
Version von der ESP Community 2.2 und die TR64 Lib.
Es will einfach nicht laufen und ich find den Grund nicht dafür.:(
Auch keine Anzeige im seriellen Monitor.
Andere Sketche mit dem NodeMCU laufen einwandfrei.
 

Theo Tintensich

Aktives Mitglied
Mitglied seit
10 Mrz 2008
Beiträge
1,688
Punkte für Reaktionen
42
Punkte
48
Solche eine Schaltung, besonders, wenn die nicht aus dem Entwicklerboard, sondern nur aus dem ESP besteht, kann man auch nur über eine Batterie versorgen (wie ein Echo Dot).

Damit muss man an dem Ort, an dem das Ding als Taster angebracht werden soll, keine Stromversorgung haben.
 

Garagenlöter

Neuer User
Mitglied seit
20 Dez 2017
Beiträge
77
Punkte für Reaktionen
4
Punkte
8
Die Stromversorgung ist nicht das Problem...
 

Theo Tintensich

Aktives Mitglied
Mitglied seit
10 Mrz 2008
Beiträge
1,688
Punkte für Reaktionen
42
Punkte
48
eigentlich ;-) müsste sich damit doch jede beliebige Telefonnummer wählen lassen, oder?
String params[][2] = {{"NewX_AVM-DE_PhoneNumber", "**701"}};
Nur anstelle der "**701" eine andere Nummer eintragen.

--------------

Doofe Frage, natürlich geht das.
 
Zuletzt bearbeitet:

Garagenlöter

Neuer User
Mitglied seit
20 Dez 2017
Beiträge
77
Punkte für Reaktionen
4
Punkte
8
richtig, sollte funktionieren.
 

Garagenlöter

Neuer User
Mitglied seit
20 Dez 2017
Beiträge
77
Punkte für Reaktionen
4
Punkte
8
Sooo, bin Stückerl weiter.

Ich bin auf die Idee gekommen mal unter Ereignisse in die FB zu schauen, ob da was eingetragen ist.

und siehe da:

17.05.18
17:43:44
Internettelefonie mit **[email protected] über sipgate.de war nicht erfolgreich. Ursache: Not found (no match) (404) [2 Meldungen seit 17.05.18 17:38:45]
17.05.18
17:30:37
Internettelefonie mit **[email protected] über sipgate.de war nicht erfolgreich. Ursache: Not found (no match) (404)


kann das evtl. damit zusammenhängen, das ich keinen ausgehenden VOIP Anschluss habe?
Ich vermute das nämlich.


Der NodeMCU scheint ja auf die Fritzbox zuzugreifen, sonst wäre das Ereigniss ja nicht eingetragen.

Die Frage ist, kann man das evtl. anders lösen?
 

Joe_57

IPPF-Promi
Mitglied seit
5 Mrz 2006
Beiträge
5,584
Punkte für Reaktionen
103
Punkte
63
In deinen Protokollauszügen steht doch ganz deutlich, dass die Rufnummern **612 und **625 nicht bei sipgate.de registriert sind.
Sind das nicht interne Fritz!Box Rufnummern?