Hallo liebe FEHM Gemiende,
ich bin auf der Suche nach einer Lösung, wie ich die Daten von meinem Gigasetelements-System in FHEM einlese. Als erstes habe ich die Lösung aus diesem Beitrag ausprobiert:
https://forum.fhem.de/index.php?topic=43481.0
Die Lösung hat auch unter Windows funktioniert, aber unter raspberry pi, wo ich mein fhem zum Laufen bringen möchte, nicht. Nach einigen Tagen der Fehlersuche habe ich mich entschlossen ein eigenes PERL-Modul zum Auslesen der Daten zu schreiben. Nach einigen Startschwierigkeiten konnte ich mich auf dem Gigaset-Server anmelden und die Daten von den allen Sensoren auch abholen.
Gestern habe ich den HTTPMOD entdeckt und bin überascht, was das Modul alles kann (zumindest in der Theorie). Jetzt stehe ich vor der Entscheidung eigenes Modul weiter zu schreiben oder den HTTPMOD einfach richtig einzurichten, denn im Prinzip kann der HTTPMOD bereits alles was ich brauche.
Jetzt zu meiner Frage, wie kriege ich die folgende Anmeldesequenz im HTTPMOD eingerichtet:
use LWP;
use HTTP::Cookies;
use HTTP::Headers;
my $url_identity = 'https://im.gigaset-elements.de/identity/api/v1/user/login';
my $url_auth = 'https://api.gigaset-elements.de/api/v1/auth/openid/begin?op=gigaset';
my $url_base = 'https://api.gigaset-elements.de/api/v1/me/basestations';
my $cookie_jar = HTTP::Cookies->new(file => "mygigaset_cookie.txt", autosave => 1);
my $ua = LWP::UserAgent->new();
$ua->cookie_jar($cookie_jar);
my $email = 'myemail@nowhere.de';
my $pass = 'mybigsecret';
#Anmeldung url_identity mit Name und Passwort und über url_auth wird der tokken abgeholt
my $identity = $ua->post($url_identity,[email => $email, password => $pass,]);
print $identity->decoded_content;
my $res = $ua->request(HTTP::Request->new(GET => $url_auth));
#Ab hier können die Daten per GET abgeholt werden
my $health = $ua->get($url_health);
Die Ausgaben der print Anweisung sieht wie folgt aus:
{"http":200,"code":0,"status":"ok","message":"User logged in successfully.","reefssid":"8tkj33d........................"}
Über den $ua->request(HTTP::Request->new(GET => $url_auth)); wird in die Cookie ein Tokken reingeschrieben, erst dann kann der get Befehl ausgeführt werden.
Vielen Dank für die Unterstützung!
Hallo Leute,
habe aktuell folgende Fehlermeldung aus fhem:
LWP will support https URLs if the LWP::Protocol::https module is installed.
Ist dieser unter Windwos nicht standardmäßig installiert, wenn ja, hat einer die Idee, wie ich es nachinstallieren kann?
Danke und Gruß