Anrufmonitor auf TV anzeigen

So... ein rudimentäres Shellskript ist geschrieben...

Der Syntax ist:

makeSoap Fritzbox-Nachricht Zielgerät

Beispiel:
Code:
makeSoap "06.05.10 19:19:50;RING;1;1234;4567;SIP1;" 192.168.178.20

Ist recht banal und benötigt außer netcat nichts Zusätzliches (kann man im Zweifel beilegen)

Code:
#!/bin/bash                                                                                                           
                                                                                                                      
DESTINATION=$2
IFS=";"
set -- $1
DATETIME=$1
CALLEE=$4
CALLER=$5
IFS=" "
set -- $DATETIME
CALLDATE=$1
CALLTIME=$2

# BUILD XML
echo '<?xml version="1.0" encoding="utf-8"?>' > /tmp/soap
echo '<s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" >' >> /tmp/soap
echo '<s:Body>' >> /tmp/soap
echo '<u:AddMessage xmlns:u="urn:samsung.com:service:MessageBoxService:1\">' >> /tmp/soap
echo '<MessageType>text/xml</MessageType>' >> /tmp/soap
echo '<MessageID>'$(date +%H%M%S)'</MessageID>' >> /tmp/soap
echo '<Message>' >> /tmp/soap
echo '&lt;Category&gt;Incoming Call&lt;/Category&gt;' >> /tmp/soap
echo '&lt;DisplayType&gt;Maximum&lt;/DisplayType&gt;' >> /tmp/soap
echo '&lt;CallTime&gt;' >> /tmp/soap
echo '&lt;Date&gt;'$CALLDATE'&lt;/Date&gt;' >> /tmp/soap
echo '&lt;Time&gt;'$CALLTIME'&lt;/Time&gt;' >> /tmp/soap
echo '&lt;/CallTime&gt;' >> /tmp/soap
echo '&lt;Callee&gt;' >> /tmp/soap
echo '&lt;Number&gt;'$CALLEE'&lt;/Number&gt;' >> /tmp/soap
echo '&lt;Name&gt;'$CALLEE'&lt;/Name&gt;' >> /tmp/soap
echo '&lt;/Callee&gt;' >> /tmp/soap
echo '&lt;Caller&gt;' >> /tmp/soap
echo '&lt;Number&gt;'$CALLER'&lt;/Number&gt;' >> /tmp/soap
echo '&lt;Name&gt;'$CALLER'&lt;/Name&gt;' >> /tmp/soap
echo '&lt;/Caller&gt;' >> /tmp/soap
echo '</Message>' >> /tmp/soap
echo '</u:AddMessage>' >> /tmp/soap
echo '</s:Body>' >> /tmp/soap
echo '</s:Envelope>' >> /tmp/soap

# BUILD HTTP
echo 'POST /PMR/control/MessageBoxService HTTP/1.0' > /tmp/message
echo 'Content-Type: text/xml; charset="utf-8"' >> /tmp/message
echo 'HOST: '$DESTINATION >> /tmp/message
echo 'Content-Length: '$(filesize /tmp/soap) >> /tmp/message
echo 'SOAPACTION: "urn:samsung.com:service:MessageBoxService:1#AddMessage"' >> /tmp/message
echo 'Connection: close' >> /tmp/message
echo '' >> /tmp/message
cat /tmp/soap >> /tmp/message

# SEND MESSAGE TO TV
cat /tmp/message | netcat $DESTINATION 52235

Nun fehlt aber irgendwas, was auf dem Port 1012 horcht und bei jeder neuen Zeile mit RING das Skript aufruft. Keine Ahnung wie das geht, dürfte aber eine unbekannte Banalität sein, da es auch Skripte gibt, die Logfiles etc. ständig auf neue Zeilen hin parsen.
 
Was ist eigentlich möglich/ nötig/ sinnvoller? Das Tool auf der Fritzbox oder auf dem Samsung-TV unterzubringen?
Und wie kann ich das o.g. Shell Skript (zum Testen) verwenden? Sorry, stehe etwas auf dem Schlauch.
icon11.gif
 
Am sinnvollsten ist ein Skript, dass man überall unterbringen kann - die Fritzbox abhört, die Daten aufbereitet und an den Fernseher sendet. Dieses Skript könnte im Prinzip auf der FB, dem Fernseher oder einem beliebigen Computer laufen. Damit wäre nicht zwangsweise die Modifikation eines Gerätes erforderlich.

Fernseher ist die schlechteste Variante. Zu viele Nutzer wollen den Fernseher (wegen Garantie und Gefahr der Unbrauchbarmachung) um keinen Preis modifizieren.

Das Skript funktioniert nicht, weil der CONTENT-LENGTH noch 23 Bytes aufaddiert werden müssen. Da muss ich noch recherchieren, wie man in der BASH rechnet. Aus irgend einem Grund sind die funktionierenden SOAPs 23 Bytes länger als der eigentliche Inhalt.

Dann muss noch ein Tool gefunden werden, auf das die Netcat-Ausgabe umgepiped werden kann und bei jeder neuen Zeile einen Befehl ausführt. Sowas gibts in der GNU-Standard-Distribution aber muss wieder suchen, welches das war.
 
Das man RemoveMessage hinbekommt ist wichtig. Sonst wird man die Anruf-Nachrichten nicht mehr los. Sie tauchen alle 5 Minuten erneut auf und ein Management-Menü gibt es nicht.
Antwort aus diesem Thread:
doodlecz schrieb:
Although RemoveMessage is mentioned in the /pmr/MessageBoxService.xml, I'm pretty sure, it is not implemented in exeDSP. At least in the LExxB650 FW.
Wenn es also bei den LExxB650 Geräten keine Implementierung von RemoveMessage gibt, sieht es zunächst einmal schlecht aus.
Wie werden diese Meldungen überhaupt dargestellt (ich habe das noch nie auf dem SamyTV gesehen)?
Ist das ein Teil des OSD, oder als Overlay dargestellt oder wie geht das?
Evtl. gibt es ja eine Möglichkeit, den ganzen Screen zu "resetten"? Ich frage mal im SamyGO-Forum...
 
Zuletzt bearbeitet:
Wenn es also bei den LExxB650 Geräten keine Implementierung von RemoveMessage gibt, sieht es zunächst einmal schlecht aus.
Ich habe auch ein LExxB650 Gerät und da habe ich ein RemoveMessage auch nicht hinbekommen, wie ich es mir gewünscht hätte.
GoaSkin schrieb:
Das man RemoveMessage hinbekommt ist wichtig. Sonst wird man die Anruf-Nachrichten nicht mehr los. Sie tauchen alle 5 Minuten erneut auf und ein Management-Menü gibt es nicht.
Das TV hat da ein einfaches Use-Model:
Die Nachricht erscheint sofort und der TV-User kann sie lesen und löschen(=aktzeptieren). Wenn nicht, dann erscheint die Nachricht noch so 3 mal und/oder in einem Sammelhinweis über verpasste Nachrichten. Die Nachrichten kann man dann noch einmal lesen und dann sind diese verschwunden. - mehr an Management habe ich da nicht gesehen.

Wie werden diese Meldungen überhaupt dargestellt (ich habe das noch nie auf dem SamyTV gesehen)?
Oh - hast Du noch keine Nachricht probiert ?? Wie oben und in SamyGo geschrieben geht das Testen wunderbar einfach mit dem UPNP Device Spy (ehemals von Intel).
Wie im TV-Handbuch (S.61 ff.) abgebildet erscheint die Nachricht am rechten Bildschirmrand in einer transparenten Overlay-Box, die vielleicht 1/4 der TV Breite hat. Bei sehr langen Nachrichten kann man diese dort sogar mit der Fernbedienung scrollen lassen.
Im Modus Media-Player (etc.) erscheint nur einen kleine Hinweis-Box ala "neue Nachricht" und im TV Modus kann man diese dann lesen/löschen.
 
Den UPnP Device Spy habe ich nicht gefunden (ja, ich weiß, Google & Co ;)), aber für OS X scheint es da nichts zu geben.
Das, was ich für OS X fand, ging nicht, weil ich die Python setuptools dafür nicht installieren konnte. Zig Abhängigkeiten etc.
Ich versuche es mal mit Ubuntu auf meinem MB. Any hints?
 
Code:
nc 192.168.178.1 1012 | grep "READ" | while read i; do makeSoap $i 192.168.178.20; done &

So sollte es funktionieren. Fehlt nur noch der 23 Bytes Bugfix.
Wenn da jetzt ein paar Befehle drin sind, die nicht Teil der Busybox sind, ist das nicht schlimm. Die kann man auch von der MIPSEL-Debian-Distri entnehmen und beipacken.
 
Zuletzt bearbeitet:
meine script Variante läuft auf der Fritzbox (7270)

So sollte es funktionieren. Fehlt nur noch der 23 Bytes Bugfix.
Wenn da jetzt ein paar Befehle drin sind, die nicht Teil der Busybox sind, ist das nicht schlimm. Die kann man auch von der MIPSEL-Debian-Distri entnehmen und beipacken.
Die 23 Bytes Differenz liegen wohl in den 23 Zeilen der Soap-Nachricht.
Anscheinend muss man die Zeilenumbrüche mit <CR><LF> einbauen. Und in dem Unix Script sind es wahrscheinlich nur <LF>.
Ich musste alle Zeilen der message mit <CR><LF> erzeugen und dann ging es.

Meine Variante des GoaSkin scriptes makeSoap läuft jetzt auf meiner Fritzbox. :)

Da dort keine bash installiert ist, habe ich die Funktion
Code:
$(filesize $soapTmp)
ersetzt durch eine Variable:
Code:
Content-Length: $((${#soap}+0))
Hier steht noch ein "+0" mit drin, damit ich einen nötigen Offset dort einsetzen konnte. Durch meine <CR><LF> Anpassung ist der jetzt Offset=0.
 
Martin: Danke für die Analyse und Modifizierungen. Kannst du dein Skript mal bitte posten? Für mich sind nicht alle Änderungen aus dem Stehgreif nachvollziehbar.

a-o: Hör mal bitte auf, meine Postings so halbherzig im SamyGo-Forum nachzuäffen! Was ich den Leuten zu sagen habe, kann ich denen auch selbst mitteilen.
 
Zuletzt bearbeitet:
makeSoap2

Martin: Danke für die Analyse und Modifizierungen. Kannst du dein Skript mal bitte posten? Für mich sind nicht alle Änderungen aus dem Stehgreif nachvollziehbar.

hier meinen Version makeSoap2:

Code:
#! /bin/sh
# usage: ./makeSoap2 "06.05.10 19:19:50;RING;1;1234;4567;SIP1;" 192.168.178.38

DESTINATION=$2
IFS=";"
set -- $1
DATETIME=$1
CALLEE=$4
CALLER=$5
IFS=" "

set -- $DATETIME
CALLDATE=$1
CALLTIME=$2

# BUILD XML
soap="<?xml version=\"1.0\" encoding=\"utf-8\"?>
<s:Envelope s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\" >
<s:Body>
<u:AddMessage xmlns:u=\"urn:samsung.com:service:MessageBoxService:1\\\">
<MessageType>text/xml</MessageType>
<MessageID>'$(date +%H%M%S)'</MessageID>
<Message>
&lt;Category&gt;Incoming Call&lt;/Category&gt;
&lt;DisplayType&gt;Maximum&lt;/DisplayType&gt;
&lt;CallTime&gt;
&lt;Date&gt;$CALLDATE&lt;/Date&gt;
&lt;Time&gt;$CALLTIME&lt;/Time&gt;
&lt;/CallTime&gt;
&lt;Callee&gt;
&lt;Number&gt;$CALLEE&lt;/Number&gt;
&lt;Name&gt;$CALLEE&lt;/Name&gt;
&lt;/Callee&gt;
&lt;Caller&gt;
&lt;Number&gt;$CALLER&lt;/Number&gt;
&lt;Name&gt;$CALLER&lt;/Name&gt;
&lt;/Caller&gt;
</Message>
</u:AddMessage>
</s:Body>
</s:Envelope>
"

# echo $soap
# echo length: ${#soap}

# BUILD HTTP
message="POST /PMR/control/MessageBoxService HTTP/1.0 
Content-Type: text/xml; charset=\"utf-8\" 
HOST: $DESTINATION 
Content-Length: $((${#soap}+0)) 
SOAPACTION: \"urn:samsung.com:service:MessageBoxService:1#AddMessage\" 
Connection: close 

$soap"

echo $message >soapTV
# SEND MESSAGE TO TV
echo $message | ./netcat -n -w 1 $DESTINATION 52235

Den Unterschied mit <CR><LF> am Ende der Messagezeilen sieht man hier oben wohl nicht. Deshalb habe ich den Code auch als Attachment beigefügt.
Die <CR> habe ich mit dem Editor reingewürgt. Das sollte eigentlich noch besser gelöst werden.
netcat habe ich ins lokale Verzeichnis kopiert.
Sonst gibt keine Änderungen an der Fritzbox.
---
EDIT: Ich musste den Anhang als .txt benennen, damit ich ihn hochladen konnte ...
 

Anhänge

  • makeSoap2.txt
    1.4 KB · Aufrufe: 56
Zuletzt bearbeitet:
Jo Danke...

Ich habe jetzt die ganze Zeit versucht, it \n und \r das hinzubekommen, was angeblich in Shell-Skripten auch funktionieren soll. Hatte aber immer das Regebnis, dass das dann buchstäblich im String stand und nicht als aufgelöste Sonderzeichen.
 
\l durch \r\l ersetzt

Ich habe jetzt die ganze Zeit versucht, it \n und \r das hinzubekommen, was angeblich in Shell-Skripten auch funktionieren soll. Hatte aber immer das Regebnis, dass das dann buchstäblich im String stand und nicht als aufgelöste Sonderzeichen.
Ja, so erging es mir auch. Deshalb habe ich erstmal die unschöne Variante genutzt und per Editor (nodepad++ auf Win) alle string-Enden <LF> durch <CR><LF> ersetzt: also \l durch \r\l ersetzt.
So sind sie auch in obigen Anhang erfolgreich eingebaut. :) Der sollte funktionieren.

Aber es muss auch schöner/einfacher im Script gehen.
Ansonsten vielleicht die strings in sed nachbehandeln.
 
Hallo,

ich habe das Skript noch einmal geändert, da die Schleife nicht richtig arbeitet, wenn man den GREP-Befehl nutzt. Darum testet nun das Skript selbst, ob ein RING-Request vorhanden ist:

Code:
#! /bin/sh
# usage: ./makeSoap2 "06.05.10 19:19:50;RING;1;1234;4567;SIP1;" 192.168.178.38


# ENTER NETCAT PATH hERE:
#########################
NETCAT="/usr/bin/netcat"

# TEST IF MESSAGE TYPE IS RING, OTHERWISE QUIT
case $1 in
*RING*)
# SPLIT MESSAGE STRING
DESTINATION=$2
IFS=";"
set -- $1
DATETIME=$1
CALLEE=$5
CALLER=$4
IFS=" "

set -- $DATETIME
CALLDATE=$1
CALLTIME=$2

# BUILD XML
soap="<?xml version=\"1.0\" encoding=\"utf-8\"?>
<s:Envelope s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\" >
<s:Body>
<u:AddMessage xmlns:u=\"urn:samsung.com:service:MessageBoxService:1\\\">
<MessageType>text/xml</MessageType>
<MessageID>'$(date +%H%M%S)'</MessageID>
<Message>
&lt;Category&gt;Incoming Call&lt;/Category&gt;
&lt;DisplayType&gt;Maximum&lt;/DisplayType&gt;
&lt;CallTime&gt;
&lt;Date&gt;$CALLDATE&lt;/Date&gt;
&lt;Time&gt;$CALLTIME&lt;/Time&gt;
&lt;/CallTime&gt;
&lt;Callee&gt;
&lt;Number&gt;$CALLEE&lt;/Number&gt;
&lt;Name&gt;$CALLEE&lt;/Name&gt;
&lt;/Callee&gt;
&lt;Caller&gt;
&lt;Number&gt;$CALLER&lt;/Number&gt;
&lt;Name&gt;$CALLER&lt;/Name&gt;
&lt;/Caller&gt;
</Message>
</u:AddMessage>
</s:Body>
</s:Envelope>
"

# echo $soap
# echo length: ${#soap}

# BUILD HTTP
message="POST /PMR/control/MessageBoxService HTTP/1.0 
Content-Type: text/xml; charset=\"utf-8\" 
HOST: $DESTINATION 
Content-Length: $((${#soap}+0)) 
SOAPACTION: \"urn:samsung.com:service:MessageBoxService:1#AddMessage\" 
Connection: close 

$soap"

echo $message >soapTV
# SEND MESSAGE TO TV
echo $message | $NETCAT -n -w 1 $DESTINATION 52235
;;

*)
;;

esac

Für den Netcat-Befehl habe ich eine Variable eingebaut. In der Parameter-Auflösung waren noch CALLEE und CALLER verwechselt (oben $4 gegen $5 getauscht).

Ruft man das ganze wie folgt auf, funktionierts. Klappt überall, wo es eine Shell gibt.

Code:
netcat 192.168.178.1 1012 | while read str; do sh  makeSoap "$str" 192.168.178.20; don

Jetzt fehlt noch ein Skript, dass eine zuverlässige Reverse-Nummernsuche auf $CALLER durchführen kann. Das meiste was man im Netz so findet ist veraltet und funktioniert nicht mehr, da sie auf www.dasoertliche.de zurückgreifen und die Seite vielfach verändert ist.
 
Zuletzt bearbeitet:
Evtl. wirst Du hier fündig (Andreas' Callmonitor-Quellcode bei Berlios).
 
Was interessiert mich der Callmonitor, der eh schon Teil des Freetz-Projektes ist? Ich brauche ein Shell-Skript, das man mit einer Nr. als Parameter aufruft und den Namen zurück bekommt. Davon habe ich schon ZIG verschiedene gefunden. Aber die meisten sind darauf ausgelegt, die Informationen aus einer veralteten Version von dasoertliche.de auszufragen. Und dies sagt, das selbst funktionierende Skripte, die die Infos auf diese Art abfragen auch nur so lange funktionieren werden, bis dasoertliche.de mal wieder sein Layout verändert. Daher ist etwas erforderlich, was technisch ganz anders funktioniert.
 
Ich will hier niemandem auf die Füße Treten und Deine Arbeit keineswegs schmälern, aber was meinst Du, warum die meisten diese Reverssuche genau so machen? Die Antwort ist ganz einfach, daß die Anbieter dieser Dienste keine Schnittstelle zur Datenbank implementiert haben. Warum sollten sie auch. Die wollen doch ihre Dienste refinanziert haben. Und wenn man derzeit irgendwie auf den Abfragemechanismus mit einem Script zugreifen könnte, bist Du noch lange nicht davor gefeit, daß sie diese Abfragemöglichkeit nicht auch abstellen. Ich glaube kaum, daß es ein noch so intelligentes Script dauerhaft funktioniert. Darum muß man halt ab und zu mal die Abfrage umstellen. Isso! Man gewöhnt sich dran.

Bis auf den Geschwindigkeitsnachteil dieser HTML-Abfrage ergeben sich sonst auch kaum Probleme. Und was spricht sonst dagegen, dieses Darstellungsscript für den Samsung vom Callmonitor aufrufen zu lassen, der den Rest der Arbeit erledigt, und sowieso schon bei vielen im Image vorhanden ist, weil er vielleicht auch noch andere Dinge erledigt (z.B. WOL oder eigene Scripte startet). Man muß doch nicht unbedingt das Rad neu erfinden, wenn schon etwas vorhanden ist, auch wenn Dein Ansatz durchaus innovativ erscheint. Die bisherigen Möglichkeiten des Callmonitors muß ich Dir ja nicht aufzählen.

Und wenn man es genau betrachtet, ist der Samsung nur ein weiteres von bisher schon mehreren vorhandenen Darstellungsgeäten für immer die gleichen Informationen. Eine pauschale DLNA-Unterstützung wäre wünschenswerter, als derartige Insellösungen. Leider findet man diesbzüglich recht wenige Informationen, bzw, diese Darstellung von Bildschirmnachrichten scheint nicht standardisiert zu sein, und man muß den aufwändigen hier beschriebenen Weg gehen. Sicher ist auch nicht, ob zukünfige Firmwareversionen von den Samsungs diesen Zugriff auch weiter unterstützen. Ohne Zweifel kann man da auch eine modifizierte Version draufmachen. Aber ehrlich. Ich "schraube" lieber an meiner FritzBox, die ich für eine "paar" Euro ersetzen kann, wenn etwas schief geht, als an einem >1,5kEUR Fernseher.

Unabhängig davon freue ich mich auch über die Erfolge dieses Projekts, welches ich interessiert verfolge, da ich gedenke, mir demnächst einen flachen Samsung (warte noch auf die Version mit SAT-Tuner, local dimming und brauchbarer 3D-Unterstützung) zuzulegen und meine derzeitige Anruferinformation per dBox dann sehr vermissen würde.

Gruß Telefonmännchen (der nur mal seinen Senf dazugeben wollte)
 
Das Problem habe ich doch erklärt. dasoertliche.de ändert seinen HTML-Code öfters. Jedes Reverse-Skript, das darauf basiert ist nicht für die Ewigkeit, sondern für ein paar Monate brauchbar. Anders ist das z.B. bei der Bahnauskunft, wo man weiterhin auf alte Versionen mit alter URL zugreifen kann. Die Lösung wäre etwas, das einen anderen Telefonbuchanbieter nutzt.

Callmonitor braucht man trotzdem nicht - zuviel Overhead wenn man den garnicht nutzen möchte. Es gibt viele kleine Shellskripte, die das machen und nicht erwarten, ein Haufen Zeug auf der FB installiert zu haben. Wir haben das schon diskutiert und es bestand der Wunsch, das Samsung-Skript auch ohne Freetz und so nutzen zu können.
 
Bei mir funktioniert es jetzt auch.
Auf Grundlage des Scriptes von GoaSkin (Vielen Dank nochmal) habe ich das ganze auf mein NAS (Linkstation) gepackt. Funktioniert prima. Werde jetzt mal weiter basteln um evtl. auch ausgehende Rufe etc anzuzeigen. ...wenn's meine Frau zuläßt, schimpft jetzt schon, "was da ständig blinkt..." :p
 
Ausgehende Anrufe ist Skript-Seitig überhaupt kein Thema ($1 nach *CALL* untersuchen statt *RING*). Da aber seitens des Samsung-Gerätes keine Option zur Unterscheidung eingehender und ausgehender Anrufe vorhanden ist, muss man da etwas kreativ sein. Aber man könnte z.B. Als CALLER/NAME "ausgehender Anruf" setzen.

Festnetz-SMS könnte noch interessant sein. Da ich aber einen VOIP-Zugang über Unity Media nutze, der dieses Dienstmerkmal garnicht anbietet, kann ich mich damit nicht beschäftigen.

Weiter wären Makros für diverse Kalender-Software interessant (Apple iCal, Mozilla Sunbird etc.).

Für die FB braucht man noch eine gescheite Implementierung. Die ganze Kommandozeile muss in ein zweites Shell-Skript verpackt werden, da die Shell auf der FB es nicht erlaubt, verschachtelte Befehle mit & in den Hintergrund zu schieben. Darum bedarf es einem zweiten Skript, in dem nur die Aufrufzeile steht, das ohne Parameter direkt in den Hintergrund verbannt werden kann.
 
Jetzt mal meine Version des makeSoap -scriptes.
Integrierte einfache Rückwärtssuche über xxx.dasörtliche.de.
Zur Zeit wird nur der Name (wenn gefunden) angezeigt, läßt sich aber leicht abändern. Das script braucht schreibrechte im verzeichnis in welchem es liegt, da hier eine temp-Datei erstellt wird.

Läuft bei mir wie gesagt auf NAS Linkstation.

Gruß Mirko
 

Anhänge

  • makeSoap.zip
    1 KB · Aufrufe: 74
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.