2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-02-25 09:55:38 +00:00

49_Arlo.pm: fixed login problems

git-svn-id: https://svn.fhem.de/fhem/trunk@28051 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
maluk 2023-10-14 14:59:38 +00:00
parent 898987ebb4
commit d098639b60
2 changed files with 15 additions and 5 deletions

View File

@ -423,7 +423,7 @@ sub Arlo_PrepareRequest($$;$$$$) {
$headers = $headers."Authorization: $token\r\n" if (defined($token));
$headers = $headers."Cookie: $cookies\r\n" if (defined($cookies));
$headers = $headers."Content-Type: application/json; charset=utf-8\r\nOrigin: https://myapi.arlo.com\r\nReferer: https://myapi.arlo.com\r\nschemaVersion: 1\r\n";
$headers = $headers."User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 11_1_2 like Mac OS X) AppleWebKit/604.3.5 (KHTML, like Gecko) Mobile/15B202 NETGEAR/v1 (iOS Vuezone)";
$headers = $headers."User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.58";
$headers = $headers."\r\n".$additionalHeader if (defined($additionalHeader));
Log3 $name, 5, "Arlo header: $headers";
@ -1230,7 +1230,7 @@ sub Arlo_EventQueue($) {
my $headers = {'Auth-Version' => 2, Authorization => $token, Accept => 'text/event-stream', 'Access-Control-Request-Headers' => 'auth-version,authorization',
'Access-Control-Request-Method' => 'GET', Cookie => $cookies, Origin => 'https://my.arlo.com', Referer => 'https://myapi.arlo.com',
'User-Agent' => 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_1_2 like Mac OS X) AppleWebKit/604.3.5 (KHTML, like Gecko) Mobile/15B202 NETGEAR/v1 (iOS Vuezone)' };
'User-Agent' => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.58' };
my $con = {url => 'https://myapi.arlo.com/hmsweb/client/subscribe', method => "GET", header => $headers, keepalive => 1, host => 'myapi.arlo.com', httpversion => '1.1', loglevel => 4};
my $err = HttpUtils_Connect($con);
if ($err) {
@ -1386,6 +1386,12 @@ sub Arlo_ProcessEvent($$) {
my $activeMode = $props->{activeMode};
$activeMode = $props->{active} if (!defined($activeMode));
Arlo_SetModeReading($basestationId, $activeMode);
} elsif ($resource =~ /states\z/) {
my $states = $event->{states};
if (defined($states)) {
my $activeMode = $states->{activeMode};
Arlo_SetModeReading($basestationId, $activeMode) if (defined($activeMode));
}
} elsif ($resource eq 'cameras') {
my @props = @{$event->{properties}};
for my $prop (@props) {

View File

@ -15,14 +15,16 @@ class Arlo:
'platform': 'linux',
'mobile': False
}
self._session = cloudscraper.create_scraper(browser=browser)
self._session = cloudscraper.create_scraper(ecdhCurve='secp384r1')
self._baseUrl = "https://ocapi-app.arlo.com/api/"
self._headers = {
'Access-Control-Request-Headers': 'content-type,source,x-user-device-id,x-user-device-name,x-user-device-type',
'Access-Control-Request-Method': 'POST',
"Cache-Control": "no-cache",
"Pragma": "no-cache",
"Referer": "https://my.arlo.com",
'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_1_2 like Mac OS X) AppleWebKit/604.3.5 (KHTML, like Gecko) Mobile/15B202 NETGEAR/v1 (iOS Vuezone)',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.58',
}
self._session.options(self._baseUrl + "auth", headers=self._headers)
@ -30,10 +32,12 @@ class Arlo:
"DNT": "1",
"schemaVersion": "1",
"Auth-Version": "2",
"Cache-Control": "no-cache",
"Content-Type": "application/json; charset=UTF-8",
"Origin": "https://my.arlo.com",
"Pragma": "no-cache",
"Referer": "https://my.arlo.com/",
'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_1_2 like Mac OS X) AppleWebKit/604.3.5 (KHTML, like Gecko) Mobile/15B202 NETGEAR/v1 (iOS Vuezone)',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.58',
"Source": "arloCamWeb"
}
self._token = None