Principe :
On lance le lien l'api, on voit si on obtient une erreur,
il faut se reconnecte
sinon
on récupère le résultat.
y'a mieux a faire, mais je sais pas faire !
Le point noir de ce script
A FAIRE ABSOLUMENT POUR QUE CA MARCHE !
1- Se connecte sur https://my.gigaset-elements.com puis aller dans configuration
se mettre en mode vacance.
2- Coller https://api.gigaset-elements.de/api/v1/ ... figuration
dans votre navigateur (puis toucher entrer) et récupérer les informations retournées.
3- Mettre les infos sur cette ligne
$post_ON = 'vosidentifiants';
entre les ' et '
4- Puis se désactiver le mode vacance et répéter l’opération
Mettre les infos sur cette ligne
$post_OFF = '';
entre les ' et '
5- Voila enregistrer le dans un fichier texte .php
et rendez vous sur http://192.168.0.6/script
6- Libre a vous de faire un périphérique virtuel qui appel
Pour activer l'alarme (mode vacance) :
http://192.168.0.6/script/?exec=gigaset ... =0&ONOFF=1
Pour désactiver l'alarme (mode vacance)
http://192.168.0.6/script/?exec=gigaset ... =0&ONOFF=0
Pour récupérer les événements de la porte
http://192.168.0.6/script/?exec=gigaset.php&fonction=1
- Code : Tout sélectionner
<?
$fonction = getArg('fonction');
function sdk_myconnect()
{
$url = "https://im.gigaset-elements.de/identity/api/v1/user/login";
$post = '{
"email":"votre email",
"password":"votremotdepasse"
}';
$response = httpQuery($url, 'POST', $post,NULL,NULL,TRUE);
$json = sdk_json_decode($response);
if ($json == '')
{
echo "Erreur connexion";
}else{
saveVariable('reefssid', $json);
}
//$response = httpQuery("https://api.gigaset-elements.de/api/v1/auth/openid/begin?op=gigaset&return_to=https://my.gigaset-elements.com","GET",NULL,NULL,NULL,true);
$response = httpQuery("https://api.gigaset-elements.de/api/v1/auth/openid/begin?op=gigaset","GET",NULL,NULL,NULL,true);
}
function sdk_Alarme($ONOFF)
{
$url = "https://api.gigaset-elements.de/api/v1/me/channels/configuration";
$post_OFF = '{"events":{"homecoming":["vosidentifiants}';
$post_ON = '{"events":{"homecoming":["vosidentifiants}';
$post = "";
if ($ONOFF){
$response = httpQuery($url,"POST",$post_ON,NULL,NULL,true);
}else{
$response = httpQuery($url,"POST",$post_OFF,NULL,NULL,true);
}
if (strpos($response,'Http401') !== false) {
sdk_myconnect();
sdk_Alarme($ONOFF);
}
echo $response;
}
switch ($fonction) {
case 0: // alarme
$myONOFF = getArg('ONOFF');
if ($myONOFF == "1"){
$myONOFF = true;
}else{
$myONOFF = false;
}
sdk_Alarme($myONOFF);
echo "Alarme ";
printf($myONOFF);
break;
case 1: // statut porte
$responsedoor = httpQuery("https://api.gigaset-elements.de/api/v1/me/events?group=door&limit=3","GET",NULL,NULL,NULL,true);
if (strpos($responsedoor,'Http401') !== false) {
sdk_myconnect();
$responsedoor = httpQuery("https://api.gigaset-elements.de/api/v1/me/events?group=door&limit=3","GET",NULL,NULL,NULL,true);
$doorjson = sdk_json_decode($responsedoor);
echo $doorjson['events'][0]['type'];
}else{
$doorjson = sdk_json_decode($responsedoor);
echo $doorjson['events'][0]['type'];
}
break;
case 2:
$responsedoor = httpQuery("https://api.gigaset-elements.de/api/v1/auth/logout","POST",NULL,NULL,NULL,true);
echo "logout ".$responsedoor;
break;
case 3:
$responsedoor = httpQuery("https://api.gigaset-elements.de/api/v1/me/events?group=door&limit=3","GET",NULL,NULL,NULL,true);
echo "test ".$responsedoor;
break;
}
?>