Cela fait quelques temps que je n'ai pas mis les pieds sur le forum, je m'en excuse, mais je travaillais sur un autre projet perso qui, j'en suis certain, fera plaisir à certains d'entre vous.
Ce topic concerne donc les heureux possesseurs de poêle Palazzetti. Vous le savez peut être, mais il viennent de sortir leur "connexion box", permettant de contrôler le poêle avec leur logiciel fermé (ne marchant que sur IOS).
Si vous suivez ce http://palazzetti.lola.free.fr/forum/viewtopic.php?f=9&t=287, vous verrez que je me suis attelé à faire parler cette box pour comprendre comment elle marche.
Ce fut un demi succès: j'ai réussi à récupérer tout le file system, et donc, je sais comment discuter avec cette box, mais contre, impossible de me faire passer pour elle. Idéalement, j'aurai apprécié pouvoir la remplacer par un arduino.
Je vous propose donc mon plugin pour eedomus. Ils vous permettra d'utiliser votre poêle comme un chauffage, l'allumer, l'éteindre, moduler la puissance, le ventilateur, et récupérer toutes les informations possibles.
- Code : Tout sélectionner
<?
$ip = getArg('ip');
$action = getArg('action');
$url = "http://" . $ip . "/sendmsg.php?cmd=";
sdk_header('text/xml');
switch($action) {
case 'status':
if (time() > loadVariable('last_access') + 60) { // every 60 seconds
$status = jsonToXML(httpQuery($url . "GET%20ALLS", "GET"));
$status = str_replace("</root>", "<instance>new</instance>" . "</root>", $status);
saveVariable('last_access', time());
saveVariable('last_status', $status);
} else {
$status = str_replace("new", "old", loadVariable('last_status'));
}
echo $status;
break;
case 'on':
if (sdk_get_state() === '0') {
echo jsonToXML(httpQuery($url . "CMD%20ON", "GET"));
} else {
echo "<message>Already started !</message>";
}
break;
case 'off':
if (sdk_get_state() !== '0') {
echo jsonToXML(httpQuery($url . "CMD%20OFF", "GET"));
} else {
echo "<message>Already stopped !</message>";
}
break;
case 'setpoint':
echo jsonToXML(httpQuery($url . "SET%20SETP%20" . $_GET['value'], "GET"));
break;
case 'fan':
echo jsonToXML(httpQuery($url . "SET%20RFAN%20" . $_GET['value'], "GET"));
break;
case 'power':
echo jsonToXML(httpQuery($url . "SET%20POWR%20" . $_GET['value'], "GET"));
break;
}
function sdk_get_state() {
$status = loadVariable('last_status');
return xpath($status, '/root/All_Data/STATUS');
}
?>
N'hésitez pas à revenir vers mois si vous avez des questions.
A bientôt.