diff --git a/fhem/FHEM/49_Arlo.pm b/fhem/FHEM/49_Arlo.pm index ad501662c..82d8f16cf 100644 --- a/fhem/FHEM/49_Arlo.pm +++ b/fhem/FHEM/49_Arlo.pm @@ -43,12 +43,17 @@ sub Arlo_Define($$) { $mailPasswd = Arlo_decrypt($a[5]); $hash->{helper}{mailPassword} = $mailPasswd; } + if (@a > 6) { + $hash->{helper}{mailUser} = $a[6]; + } else { + $hash->{helper}{mailUser} = $user; + } $modules{$MODULE}{defptr}{"account"} = $hash; my $cryptUser = Arlo_encrypt($user); my $cryptPasswd = Arlo_encrypt($passwd); my $cryptMailPasswd = Arlo_encrypt($mailPasswd); - $hash->{DEF} = "ACCOUNT $cryptUser $cryptPasswd $cryptMailPasswd"; + $hash->{DEF} = "ACCOUNT $cryptUser $cryptPasswd $cryptMailPasswd $a[6]"; InternalTimer(gettimeofday() + 3, "Arlo_Login", $hash); } elsif (($subtype eq 'BASESTATION' || $subtype eq 'ROUTER') && @a == 5) { @@ -857,7 +862,7 @@ sub Arlo_CheckBasestationsInactive() { my %defptr = %{$modules{$MODULE}{defptr}}; foreach my $key (keys %defptr) { if (substr($key, 0, 1) eq 'B') { - my $state = %defptr{$key}->{STATE}; + my $state = $defptr{$key}->{STATE}; if ($state ne 'disarmed' && $state ne 'offline') { return \0; } @@ -1540,14 +1545,14 @@ sub Arlo_Check2FAMail($) { my $mailServer = AttrVal($name, 'mailServer', ''); if ($mailServer eq '') { - Log3 $name, 1, 'Bei 2-Faktor-Authentifizierung muss das Attribute mailServer gesetzt sein, damit die Mail mit dem Authentifizerungs-Code abgerufen werden kann.'; + Log3 $name, 1, 'Bei 2-Faktor-Authentifizierung muss das Attribut mailServer gesetzt sein, damit die Mail mit dem Authentifizerungs-Code abgerufen werden kann.'; return; } - my $username = $hash->{helper}{username}; + my $mail_user = $hash->{helper}{mailUser}; my $mail_password = $hash->{helper}{mailPassword}; my $socket = IO::Socket::SSL->new(PeerAddr => $mailServer, PeerPort => 993, Timeout => 10); - my $client = Mail::IMAPClient->new(Socket => $socket, User => $username, Password => $mail_password, Timeout => 10); + my $client = Mail::IMAPClient->new(Socket => $socket, User => $mail_user, Password => $mail_password, Timeout => 10); if (!$client->IsAuthenticated()) { Log3 $name, 2, "E-Mail authentication error."; @@ -1646,11 +1651,12 @@ sub Arlo_decrypt($) {

Define