70_PHTV: refactoring pairing request structures

git-svn-id: https://svn.fhem.de/fhem/trunk/fhem@13450 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
jpawlowski 2017-02-19 15:56:54 +00:00
parent 672bbb18e4
commit b77c57fc20

View File

@ -360,19 +360,24 @@ sub PHTV_Set($@) {
return "Not in pairing mode" return "Not in pairing mode"
unless ( defined( $hash->{pairing} ) unless ( defined( $hash->{pairing} )
&& defined( $hash->{pairing}{auth_key} ) && defined( $hash->{pairing}{auth_key} )
&& defined( $hash->{pairing}{timestamp} ) ); && defined( $hash->{pairing}{timestamp} )
&& defined( $hash->{pairing}{request} )
&& defined( $hash->{pairing}{request}{device} ) );
readingsSingleUpdate( $hash, "state", "pairing-grant", 1 ); readingsSingleUpdate( $hash, "state", "pairing-grant", 1 );
$hash->{pairing}{grant} = { $hash->{pairing}{grant} = {
auth_AppId => 1, auth => {
pin => trim( $a[2] ), auth_AppId => 1,
auth_timestamp => $hash->{pairing}{timestamp}, pin => trim( $a[2] ),
auth_signature => PHTV_createAuthSignature( auth_timestamp => $hash->{pairing}{timestamp},
$hash->{pairing}{timestamp}, auth_signature => PHTV_createAuthSignature(
$a[2], $hash->{pairing}{timestamp},
$a[2],
"ZmVay1EQVFOaZhwQ4Kv81ypLAZNczV9sG4KkseXWn1NEk6cXmPKO/MCa9sryslvLCFMnNe4Z4CPXzToowvhHvA==" "ZmVay1EQVFOaZhwQ4Kv81ypLAZNczV9sG4KkseXWn1NEk6cXmPKO/MCa9sryslvLCFMnNe4Z4CPXzToowvhHvA=="
), ),
},
device => $hash->{pairing}{request}{device},
}; };
PHTV_SendCommand( $hash, "pair/grant", $hash->{pairing}{grant} ); PHTV_SendCommand( $hash, "pair/grant", $hash->{pairing}{grant} );
} }
@ -1705,13 +1710,15 @@ sub PHTV_ReceiveCommand($$$) {
delete $hash->{PAIRING_BEGIN} if ( defined( $hash->{PAIRING_BEGIN} ) ); delete $hash->{PAIRING_BEGIN} if ( defined( $hash->{PAIRING_BEGIN} ) );
delete $hash->{PAIRING_END} if ( defined( $hash->{PAIRING_END} ) ); delete $hash->{PAIRING_END} if ( defined( $hash->{PAIRING_END} ) );
$hash->{pairing}{request} = { $hash->{pairing}{request} = {
device_name => 'fhem', device => {
device_os => 'Android', device_name => 'fhem',
app_name => 'FHEM PHTV', device_os => 'Android',
type => 'native', app_name => 'FHEM PHTV',
scope => [ "read", "write", "control" ], type => 'native',
app_id => 'org.fhem.PHTV', app_id => 'org.fhem.PHTV',
id => $device_id, id => $device_id,
},
scope => [ "read", "write", "control" ],
}; };
PHTV_SendCommand( $hash, "pair/request", $hash->{pairing}{request} ); PHTV_SendCommand( $hash, "pair/request", $hash->{pairing}{request} );
@ -3434,7 +3441,7 @@ sub PHTV_createAuthSignature($$$) {
</ul> </ul>
<br> <br>
<br> <br>
<a name="PHTVset"></a> <a name="PHTVset"></a>
<b>Set </b> <b>Set </b>
<ul> <ul>
@ -3632,7 +3639,7 @@ sub PHTV_createAuthSignature($$$) {
<h3>PHTV</h3> <h3>PHTV</h3>
<ul> <ul>
Eine deutsche Version der Dokumentation ist derzeit nicht vorhanden. Eine deutsche Version der Dokumentation ist derzeit nicht vorhanden.
Die englische Version ist hier zu finden: Die englische Version ist hier zu finden:
</ul> </ul>
<ul> <ul>
<a href='http://fhem.de/commandref.html#PHTV'>PHTV</a> <a href='http://fhem.de/commandref.html#PHTV'>PHTV</a>