puccin0 a écrit:Bonjour à tous,
Je viens d'avoir l Apple watch
l'appli pour lire le JSon à l'air super mais... Impossible pour moi de paramétrer pour lire les valeurs des périphériques... Je veux bien de l'aide
Merci beaucoup
Havok a écrit:puccin0 a écrit:Bonjour à tous,
Je viens d'avoir l Apple watch
l'appli pour lire le JSon à l'air super mais... Impossible pour moi de paramétrer pour lire les valeurs des périphériques... Je veux bien de l'aide
Merci beaucoup
La deuxième appli, celle qui permet de récupérer des informations issues de l'API eedomus est nettement plus compliquée à utiliser. En effet elle attends un fichier JSON avec une certaine structure. Il faut donc faire une conversion entre le XML (ou le JSON) de l'API eedomus et le message JSON attendu par l'application. Dans mon cas je fais cette conversion en php.
<?
$today = date("H:i:s");
$api_user = 'XXXXXX';
$api_secret = 'XXXXXXXXXXXXXXXX';
function since ($timesince)
{
$now = time();
$datelast = strtotime($timesince);
$since = round(abs($now - $datelast) / 60,0);
return $since;
}
//Récupération activation Alarme
$url = "https://api.eedomus.com/get?api_user=".$api_user."&api_secret=".$api_secret."&action=periph.caract&periph_id=111111&format=xml";
$result = file_get_contents($url);
$xml = simplexml_load_string($result);
//print_r($xml);
$success = (string) $xml->success;
if ($success == 1)
{
$alarme = (string) $xml->body->last_value_text;
$lastalarme = (string) $xml->body->last_value_change;
$sincealarme = since ($lastalarme);
} else {
$mouvementSalon = "ERREUR";
}
//Récupération alerte Alarme
$url = "https://api.eedomus.com/get?api_user=".$api_user."&api_secret=".$api_secret."&action=periph.caract&periph_id=222222&format=xml";
$result = file_get_contents($url);
$xml = simplexml_load_string($result);
//print_r($xml);
$success = (string) $xml->success;
if ($success == 1)
{
$alerte = (string) $xml->body->last_value_text;
$alerte = stripslashes($alerte);
$lastalerte = (string) $xml->body->last_value_change;
$sincealerte = since ($lastalarme);
} else {
$alerte = "ERREUR";
}
//Récupération valeur détecteur de mvt couloir
$url = "https://api.eedomus.com/get?api_user=".$api_user."&api_secret=".$api_secret."&action=periph.caract&periph_id=333333&format=xml";
$result = file_get_contents($url);
$xml = simplexml_load_string($result);
//print_r($xml);
$success = (string) $xml->success;
if ($success == 1)
{
$mouvementSalon = (string) $xml->body->last_value_text;
$lastmvtSalon = (string) $xml->body->last_value_change;
$sincemvtSalon = since ($lastmvtSalon);
} else {
$mouvementSalon = "ERREUR";
}
//Récupération valeur détecteur de mvt couloir
$url = "https://api.eedomus.com/get?api_user=".$api_user."&api_secret=".$api_secret."&action=periph.caract&periph_id=444444&format=xml";
$result = file_get_contents($url);
$xml = simplexml_load_string($result);
//print_r($xml);
$success = (string) $xml->success;
if ($success == 1)
{
$mouvementCouloir = (string) $xml->body->last_value_text;
$lastmvtCouloir = (string) $xml->body->last_value_change;
$sincemvtCouloir = since ($lastmvtCouloir);
} else {
$mouvementCouloir = "ERREUR";
}
//Récupération valeur température salon
$url = "https://api.eedomus.com/get?api_user=".$api_user."&api_secret=".$api_secret."&action=periph.caract&periph_id=555555&format=xml";
$result = file_get_contents($url);
$xml = simplexml_load_string($result);
//print_r($xml);
$success = (string) $xml->success;
if ($success == 1)
{
$tmpSalon = (string) $xml->body->last_value;
} else {
$tmpSalon = "ERREUR";
}
//Récupération valeur température couloir
$url = "https://api.eedomus.com/get?api_user=".$api_user."&api_secret=".$api_secret."&action=periph.caract&periph_id=666666&format=xml";
$result = file_get_contents($url);
$xml = simplexml_load_string($result);
//print_r($xml);
$success = (string) $xml->success;
if ($success == 1)
{
$tmpCouloir = (string) $xml->body->last_value;
} else {
$tmpCouloir = "ERREUR";
}
echo '{"content":[';
echo '{"id":"50001","title":"Alarme","text":"'.$today.'\nActivation : '.trim($alarme).' ('.$sincealarme.' mn)\nAlerte : '.trim($alerte).' ('.$sincealerte.' mn)","image":"http://www.serveur.com/logo_eedomus-120x120.png"},';
echo '{"id":"50010","title":"Mouvements","text":"'.$today.'\nSalon : '.trim($mouvementSalon).' ('.$sincemvtSalon.' mn)\nCouloir : '.trim($mouvementCouloir).' ('.$sincemvtCouloir.' mn)","image":"http://www.serveur.com/logo_eedomus-120x120.png"},';
echo '{"id":"50020","title":"Températures","text":"'.$today.'\nSalon : '.trim($tmpSalon).'°C\nCouloir : '.trim($tmpCouloir).'°C","image":"http://www.serveur.com/logo_eedomus-120x120.png"}';
echo ']}';
?>
Havok a écrit:Et bien voici comme exemple le script que j'ai mis en place permettant de récupérer l'état de l'alarme, de detecteurs de mouvement et de sonde de température. En espérant que cela puisse t'aider.
Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 3 invité(s)