Fritz!Box Session ID auslesen

Begonnen von mpl8580, 26 Dezember 2016, 11:12:21

Vorheriges Thema - Nächstes Thema

mpl8580

Hallo und Frohe Weihnachten,

kann mir jemand eine einfache Möglichkeit (für dummies) sagen, wie ich die Session ID der Fritzbox auslesen kann?

Ich benötige diese, um mit einem http Befehl FritzDect Steckdosen zu schalten.

Markus Bloch

Hi,

in FHEM gibt es ein Hilfs-Modul "FritzBoxUtils.pm".

Dieses stellt die Funktion FB_doCheckPW($host, $username, $password) bereits. Diese gibt bei erfolgreichem Login eine SID zurück.

Gruß
Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

mpl8580

Ok danke.

Wie muss ich das denn anwenden?

Markus Bloch

Was hast du denn genau vor?

Wenn du nur die AVM Steckdosen schalten möchtest, dann gibt es bereits entsprechende Module in FHEM, welche dir das auf einfache weise ermöglichen:

http://fhem.de/commandref.html#FBAHAHTTP
http://fhem.de/commandref_DE.html#FBDECT

Man definiert dazu einmalig eine FBAHAHTTP-Definition, dann werden alle Steckdosen automatisch in FHEM angelegt.

Viele Grüße

Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

mpl8580

Nein ich brauche die SessionID um den JBMedia Lightmanager mit AVM FritzDect200 zu verbinden. Das geht nur mit einem HTTP Befehl der wiederum setzt die Session ID vorraus

Markus Bloch

Zeig mal bitte ein konkretes Beispiel wie du vorgehen möchtest, dann kann ich dir eher sagen, wie du an dieser Stelle an die SID rannkommst ;-)

So ohne Fleisch ist raten immer schwierig.

Gruß
Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

mpl8580

#6
Ich benötige diesen Code

https://fritz.box/webservices/homeautoswitch.lua?
ain=012340000123&switchcmd=setswitchon&sid=9c977765016899f8


An die AIN komme ich ran aber nicht an die Session ID.

Markus Bloch

Das ist mir klar, dass du diese in der URL brauchst. Was ich konkret meine, wo und in welchem Kontext willst du diese URL aufrufen? In FHEM oder extern?

Falls in FHEM, In einem Notify? eigene Funktion in 99_myUtils.pm?

Die Session-ID ist nur eine termporär gültiger Wert. Sobald man sich eingeloggt hat, weist die FritzBox jedem erfolgreichen Login eine Session-ID zu, welche bei Inaktivität wieder ungültig wird.

Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

mpl8580

Ahh das ist eh nur temporär. Mist. Dann wird das nicht funktionieren.

Der Befehl wird extern verwendet und zwar im JBMEDIA Lightmanager Air -> von dort wird dann die Taste auf die Harmony Fernbedienung gelegt. Dort kann ich dann die Beleuchtung an und ausschalten. Zusätzlich ist die Beleuchtung in einer Harmony Activity integriert welche nur angeschaltet wird wenn es dunkel ist.

Markus Bloch

Warum nicht die Steckdosen in FHEM integrieren und dann den HTTP-Befehl für FHEM auf die Harmony legen? Der ist immer konstant:

ON:  http://...../fhem?cmd=set%20name%20on
OFF:  http://...../fhem?cmd=set%20name%20off
TOGGLE:  http://...../fhem?cmd=set%20name%20toggle


name - muss durch den Definitionsname der Steckdose ersetzt werden
%20 - steht für ein Leerzeichen bei URL's

Gruß
Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

mpl8580

Ja das könnte gehen- man mit meiner Erkältung steh ich auf dem Schlauch.

Jetzt noch eine dumme Frage

ON:  http://...../fhem?cmd=set%20name%20on
OFF:  http://...../fhem?cmd=set%20name%20off
TOGGLE:  http://...../fhem?cmd=set%20name%20toggle


Die Punkte stellen was dar?

Markus Bloch

Die Adresse (IP oder Hostname) + Port von deinem FHEM-Server. Ich kenn ja deine Umgebung nicht ;-)
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

mpl8580

Ja das habe ich so eingetragen (s. Bild) - allersdings will er sich wohl autorisieren

Markus Bloch

Dann hast du in deinem FHEM eine HTTP-Authentifizierung konfiguriert. Eventuell mal folgendes Probieren:

http://[USERNAME]:[PASSWORT]@192.168.1.2/fhem?cmd=set%20[NAME]%20on

Und bitte dabei folgendes Ersetzen:

[NAME] - Name der FBDECT-Definition der Steckdose in FHEM
[USERNAME] - Username für HTTP-Authentifizierung in FHEM
[PASSWORT] - Passwort für HTTP-Authentifizierung in FHEM
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

mpl8580