FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: mpl8580 am 26 Dezember 2016, 11:12:21

Titel: Fritz!Box Session ID auslesen
Beitrag von: mpl8580 am 26 Dezember 2016, 11:12:21
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.
Titel: Antw:Fritz!Box Session ID auslesen
Beitrag von: Markus Bloch am 26 Dezember 2016, 11:18:55
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
Titel: Antw:Fritz!Box Session ID auslesen
Beitrag von: mpl8580 am 26 Dezember 2016, 11:26:37
Ok danke.

Wie muss ich das denn anwenden?
Titel: Antw:Fritz!Box Session ID auslesen
Beitrag von: Markus Bloch am 26 Dezember 2016, 11:29:12
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
Titel: Antw:Fritz!Box Session ID auslesen
Beitrag von: mpl8580 am 26 Dezember 2016, 11:32:40
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
Titel: Antw:Fritz!Box Session ID auslesen
Beitrag von: Markus Bloch am 26 Dezember 2016, 11:37:37
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
Titel: Antw:Fritz!Box Session ID auslesen
Beitrag von: mpl8580 am 26 Dezember 2016, 11:44:35
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.
Titel: Antw:Fritz!Box Session ID auslesen
Beitrag von: Markus Bloch am 26 Dezember 2016, 11:52:41
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.

Titel: Antw:Fritz!Box Session ID auslesen
Beitrag von: mpl8580 am 26 Dezember 2016, 11:59:09
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.
Titel: Antw:Fritz!Box Session ID auslesen
Beitrag von: Markus Bloch am 26 Dezember 2016, 12:20:23
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
Titel: Antw:Fritz!Box Session ID auslesen
Beitrag von: mpl8580 am 26 Dezember 2016, 12:26:52
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?
Titel: Antw:Fritz!Box Session ID auslesen
Beitrag von: Markus Bloch am 26 Dezember 2016, 12:30:19
Die Adresse (IP oder Hostname) + Port von deinem FHEM-Server. Ich kenn ja deine Umgebung nicht ;-)
Titel: Antw:Fritz!Box Session ID auslesen
Beitrag von: mpl8580 am 26 Dezember 2016, 12:36:12
Ja das habe ich so eingetragen (s. Bild) - allersdings will er sich wohl autorisieren
Titel: Antw:Fritz!Box Session ID auslesen
Beitrag von: Markus Bloch am 26 Dezember 2016, 12:40:52
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
Titel: Antw:Fritz!Box Session ID auslesen
Beitrag von: mpl8580 am 26 Dezember 2016, 12:58:18
D A N K E !!!

TOP!!!!!!!!