Karotz Controller : Nouvelle version disponible (V0.6)

Karotz Controller : Nouvelle version disponible (V0.6)

Je vous présentais il y’a quelques mois, mon application Karotz Controller permetant de piloter votre Karotz depuis votre Vera. Vous pourrez-retrouver tous les détails de ce plugin dans cet article

La nouvelle version (V0.6) de l’application ce plugin est disponible sur l’App store MIOS.

Quoi de neuf dans cette version ?

  • J’ai modifier le fichier de callback, de sorte que  l’application se coupe dès que le lapin detect un tag rfid. Comme ça plus besoin d’appuyer sur la tete du lapin pour utiliser un Tag.
  • Optimisation de la vitesse de réaction du lapin lors du lancement de deux actions successives.
  • Création d’un nouveau paramètre pour configurer la durée pendant laquelle l’application reste active. Ce paramètre (en minute) est par défaut à 14 et vous pouvez le modifier en fonction de vos usages.

Comment effectuer la mise à jour ?

Normalement, la mise à jour est automatique. Pour vérifier si la mise à jour a été faite vous pouvez vérifier la version dans l’onglet APPS > My Apps

Les sources du proxy Php  :

Ce paragraphe est destiné uniquement aux utilisateurs souhaitant héberger eux meme le proxy php.

A la demande de certains, vous trouverez ci-dessous les sources du proxy php qui permet de s’authentifier auprès des serveurs Karotz :

<?php
    /*
     Update time : 24/04/2012 - 20:00
     Author : Antor (www.antor.fr)
*/

define("APIKEY",    "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX");
define("SECRET",    "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX");

unset($curl);
unset($parameters);
unset($interID);

$parameters['apikey'] = APIKEY;
$parameters['once'] = rand();
$parameters['timestamp'] = time();

if (isset($_GET['INSTALLID']))
  $parameters['installid'] = $_GET['INSTALLID'];
else
    exit;

ksort($parameters);

$query = "";

foreach($parameters as $key=>$value)
{
  if ($query!="")  $query .= "&";

  $query .= urlencode($key)."=".urlencode($value);
}

$signature = base64_encode(hash_hmac('sha1', $query, SECRET, true));

$url_id = 'http://api.karotz.com/api/karotz/start?'.$query.'&signature='.urlencode($signature);

$curl = curl_init();

if (!$curl) exit;

curl_setopt($curl, CURLINFO_HEADER_OUT, true);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

curl_setopt($curl, CURLOPT_URL, $url_id);

$result = curl_exec($curl);

# Erreur
if (curl_errno($curl)) { $curl_error = curl_error($curl); echo '<p>Err> '.$curl_error.'</p>'; exit; }

# Lecture du InteractiveID
unset($interID);
if ($result!='') try
{
   $xml = new SimpleXMLElement($result);
   $interID = $xml->interactiveMode->interactiveId;
    header("content-type: application/xml");
    echo $result;

}
catch(Exception $e) {
  echo '<b>Error</b>: <font color="red">'.$e->getMessage().' (severity '.$e->getCode().')</font><br>';
}

curl_close($curl);

?>

Pour des raisons simples a comprendre les variables APIKEY et  SECRET ont été effacée des sources ci-dessus mais vous les retrouverez dans le fichier ci-dessous : proxy.php

N’oubliez pas de modifier le paramètre « Interactive Id Caller » pour spécifier l’url ou vous avez hébergé le fichier. Cette url doit être connue de la Vera mais il n’est pas nécéssaire qu’elle soit accessible publiquement.

This post is also available in: Anglais