PAC Mitsibishi

Capteurs et actionneurs HTTP

Re: PAC Mitsibishi

Messagepar g4fa » 04 Sep 2017 07:12

Salut

Peux tu stp lancer dans un navigateur l'url suivante
http://ip raspberry/melcloud_eedomus_pi.php

Normalement il doit te renvoyer "Mauvais Paramètres"
g4fa
 
Messages : 13
Inscription : 06 Mars 2016

Re: PAC Mitsibishi

Messagepar yahyah » 04 Sep 2017 17:11

Salut,

Oui j'ai bien une erreur http 500.

Merci pour ton aide
yahyah
 
Messages : 17
Inscription : 04 Sep 2015

Re: PAC Mitsibishi

Messagepar la mouche » 05 Sep 2017 10:41

Bonjour a tous , absent pour des raisons pro me revoilà , avec l'autorisation de Floman321 voici le script qu'il a mis au point et qui fonctionne parfaitement pour moi , a placer sur l'Eedomus après avoir modifier les info vous concernant .
Code : Tout sélectionner
<?

$headers = array("X-MitsContextKey: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","Content-Type: application/json");

$devideid = getArg('deviceid');
$buildid = getArg('buildid');

$onoff = getArg('power',false,"");
$fanspeed = getArg('fanspeed',false,"");
$temperature = getArg('temperature',false,"");
$mode = getArg('mode',false,'');

$json = httpQuery("https://app.melcloud.com/Mitsubishi.Wifi.Client/Device/Get?id=$devideid&buildingID=$buildid","GET","","",$headers,false);
$device = sdk_json_decode($json);

// Metttre a jour le retour d'etat de la clim concernée
switch ($devideid) {
case "XXXXXX":

// remplacer les 999 par le code API du peripherique
setValue(999999,$device['SetTemperature']); // temperature
setValue(999999,$device['SetFanSpeed']); // vitesse ventilateur

if ($device['Power'] == 'true'){
setValue(999999,1); // true ou false
}else{
setValue(999999,0); // true ou false
}

setValue(999999,$device['RoomTemperature']); // temperature de la piece
setValue(999999,$device['OperationMode']); // mode chauffage voir mes messages

break;
case "XXXXX":

if ($device['Power'] == 'true'){
setValue(999999,1); // true ou false
}else{
setValue(999999,0); // true ou false
}

// remplacer les 999 par le code API du peripherique
setValue(999999,$device['SetTemperature']); // temperature
setValue(999999,$device['SetFanSpeed']); // vitesse ventilateur
setValue(999999,$device['RoomTemperature']); // temperature de la piece
setValue(999999,$device['OperationMode']); // mode chauffage voir mes messages

break;
case "XXXXX":

if ($device['Power'] == 'true'){
setValue(999999,1); // true ou false
}else{
setValue(999999,0); // true ou false
}

// remplacer les 999 par le code API du peripherique
setValue(999999,$device['SetTemperature']); // temperature
setValue(999999,$device['SetFanSpeed']); // vitesse ventilateur
setValue(999999,$device['RoomTemperature']); // temperature de la piece
setValue(999999,$device['OperationMode']); // mode chauffage voir mes messages

break;
case "XXXXX":

if ($device['Power'] == 'true'){
setValue(999999,1); // true ou false
}else{
setValue(999999,0); // true ou false
}

// remplacer les 999 par le code API du peripherique
setValue(999999,$device['SetTemperature']); // temperature
setValue(999999,$device['SetFanSpeed']); // vitesse ventilateur
setValue(999999,$device['RoomTemperature']); // temperature de la piece
setValue(999999,$device['OperationMode']); // mode chauffage voir mes messages

break;
}




$resultat = "";

if ($onoff != ""){

$aremplacer = array('"Power":false','"Power":true');
$json = str_replace($aremplacer, '"Power":'.$onoff, $json);

$aremplacer = '"EffectiveFlags":'.$device['EffectiveFlags'];
$json = str_replace($aremplacer, '"EffectiveFlags":1' , $json);

$aremplacer = '"HasPendingCommand":false';
$json = str_replace($aremplacer, '"HasPendingCommand":true' , $json);

$resultat = httpQuery('https://app.melcloud.com/Mitsubishi.Wifi.Client/Device/SetAta','POST',$json,'',$headers,false);

}


if ($fanspeed != ""){

$aremplacer = '"SetFanSpeed":'.$device['SetFanSpeed'];
$json = str_replace($aremplacer, '"SetFanSpeed":'.$fanspeed, $json);

$aremplacer = '"EffectiveFlags":'.$device['EffectiveFlags'];
$json = str_replace($aremplacer, '"EffectiveFlags":8' , $json);

$aremplacer = '"HasPendingCommand":false';
$json = str_replace($aremplacer, '"HasPendingCommand":true' , $json);

$resultat = httpQuery('https://app.melcloud.com/Mitsubishi.Wifi.Client/Device/SetAta','POST',$json,'',$headers,false);

}

if ($temperature != ""){

$aremplacer = '"SetTemperature":'.$device['SetTemperature'];
$json = str_replace($aremplacer, '"SetTemperature":'.$temperature, $json);

$aremplacer = '"EffectiveFlags":'.$device['EffectiveFlags'];
$json = str_replace($aremplacer, '"EffectiveFlags":4' , $json);

$aremplacer = '"HasPendingCommand":false';
$json = str_replace($aremplacer, '"HasPendingCommand":true' , $json);

$resultat = httpQuery('https://app.melcloud.com/Mitsubishi.Wifi.Client/Device/SetAta','POST',$json,'',$headers,false);
}

if ($mode != ""){

$aremplacer = '"OperationMode":'.$device['OperationMode'];
$json = str_replace($aremplacer, '"OperationMode":'.$mode, $json);

$aremplacer = '"EffectiveFlags":'.$device['EffectiveFlags'];
$json = str_replace($aremplacer, '"EffectiveFlags":6' , $json);

$aremplacer = '"HasPendingCommand":false';
$json = str_replace($aremplacer, '"HasPendingCommand":true' , $json);

$resultat = httpQuery('https://app.melcloud.com/Mitsubishi.Wifi.Client/Device/SetAta','POST',$json,'',$headers,false);

}

// Metttre a jour le retour d'etat de la clim concernée, oui si modif de power ou autres
if ($resultat != ""){

$contenu = sdk_json_decode($resultat );

// remplacer les 999 par le code API du peripherique
setValue(999999,$contenu['NextCommunication']); // prochaine synchro avec la clim


switch ($devideid) {
case "XXXXX":

if ($device['Power'] == 'true'){
setValue(999999,1); // true ou false
}else{
setValue(999999,0); // true ou false
}

// remplacer les 999 par le code API du peripherique
setValue(999999,$contenu['SetTemperature']); // temperature
setValue(999999,$contenu['SetFanSpeed']); // vitesse ventilateur
setValue(999999,$contenu['RoomTemperature']); // temperature de la piece
setValue(999999,$contenu['OperationMode']); // mode chauffage voir mes messages

break;
case "XXXXX":

if ($device['Power'] == 'true'){
setValue(999999,1); // true ou false
}else{
setValue(999999,0); // true ou false
}

// remplacer les 999 par le code API du peripherique
setValue(999999,$contenu['SetTemperature']); // temperature
setValue(999999,$contenu['SetFanSpeed']); // vitesse ventilateur
setValue(999999,$contenu['RoomTemperature']); // temperature de la piece
setValue(999999,$contenu['OperationMode']); // mode chauffage voir mes messages

break;
case "XXXXX":

if ($device['Power'] == 'true'){
setValue(999999,1); // true ou false
}else{
setValue(999999,0); // true ou false
}

// remplacer les 999 par le code API du peripherique
setValue(999999,$contenu['SetTemperature']); // temperature
setValue(999999,$contenu['SetFanSpeed']); // vitesse ventilateur
setValue(999999,$contenu['RoomTemperature']); // temperature de la piece
setValue(999999,$contenu['OperationMode']); // mode chauffage voir mes messages

break;
case "XXXXX":

if ($device['Power'] == 'true'){
setValue(999999,1); // true ou false
}else{
setValue(999999,0); // true ou false
}

// remplacer les 999 par le code API du peripherique
setValue(999999,$contenu['SetTemperature']); // temperature
setValue(999999,$contenu['SetFanSpeed']); // vitesse ventilateur
setValue(999999,$contenu['RoomTemperature']); // temperature de la piece
setValue(999999,$contenu['OperationMode']); // mode chauffage voir mes messages

break;
}

}

?>

Voici un exemple a mettre dans l'url de votre actionneur de la eedomus pour allumer un de vos split
Code : Tout sélectionner
http://IP....../script/?exec=mitsuonoff.php&deviceid=XXXXX&buildid=YYYYY&power=true


j'espere que sela vous aidera et j'en profite pour remercier encore Floman321 , un grand du clavier ;)
la mouche
 
Messages : 18
Inscription : 11 Mars 2017

Re: PAC Mitsibishi

Messagepar lesltx » 14 Sep 2017 23:42

Bonjour,

si ça peut aider mGeek a fait du reversé engineering sur la communication avec melcloud
http://mgeek.fr/blog/un-peu-de-reverse- ... r-melcloud

Bien cordialement
Les
lesltx
 
Messages : 1
Inscription : 14 Sep 2017

Re: PAC Mitsibishi

Messagepar Mike88200 » 18 Mars 2018 19:04

Bonsoir, voila je suis interessé pour mettre ma clim sur eedomus mais je n'y arrive pas.
Quand je test sur eedomus Xpath
http://192.168.0.**/melcloud_eedomus_pi.php?action=read
<?xml version="1.0" encoding="utf8" ?><******** ><Chambre><BuildingID>******</BuildingID><Power>false</Power><RoomTemperature>18.5</RoomTemperature><SetTemperature>20</SetTemperature><FanSpeed>0</FanSpeed><OperationMode>1</OperationMode><DeviceID>*****</DeviceID></Chambre><Salon><BuildingID>*******</BuildingID><Power>false</Power><RoomTemperature>23.5</RoomTemperature><SetTemperature>21.5</SetTemperature><FanSpeed>0</FanSpeed><OperationMode>1</OperationMode><DeviceID>*****</DeviceID></Salon></******* >

Mais quand j'essaye de le configurer avec la ligne;
http://192.168.0.23/melcloud_eedomus_pi.php et a coter ?action=Power&valaction=false&deviceid=[VAR1]
Celui ci ne marche pas ... Erreur lors authentification
et aussi Clim Etat Chambre Parent en erreur: [Impossible de parser le XML]. Aperçu du contenu.

Aperçu
XML error:

<!DOCTYPE html>

<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Error</t [...]

Merci de m'aider si vous le pouvez... je ne m'y connais pas trop en programme
Mike88200
 
Messages : 10
Inscription : 23 Déc 2017

Re: PAC Mitsibishi

Messagepar Thib13 » 10 Juin 2018 18:27

Hello,

Je viens d'intégrer le module MelCloud et j'ai le même message d'erreur ... Je tourne un peu en rond, je me borne a me dire que je n'ai pas les bons paramètres de Building Id / device Id mais je suis presque sur d'avoir les bonnes valeurs ... bref si quelqu'un a le script qui tourne et qui a un petit retour a faire, je suis preneur :)
Thib13
 
Messages : 26
Inscription : 22 Avr 2016

Re: PAC Mitsibishi

Messagepar Thib13 » 10 Août 2018 09:17

J'up le sujet, j'ai refait pas mal de tests (en mettant le nom, le device id, le building id, différentes combinaisons de ces données) mais toujours rien, la clim reste muette :/ j'en suis presque a me demander s'il n'y a pas une bride sur l'API du melcloud maintenant.
Si quelqu'un a réussi récemment ou si certains ayant eu le problème ont avancé ...
Thib13
 
Messages : 26
Inscription : 22 Avr 2016

Précédent

Retour vers Requêtes HTTP

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 0 invité(s)