Forum eedomus
https://forum.eedomus.com/

PAC Mitsibishi
https://forum.eedomus.com/viewtopic.php?f=15&t=5353
« Précédent  Page 2 sur 2
Auteur:  g4fa [ 04 Sep 2017 07:12 ]
Sujet du message:  Re: PAC Mitsibishi

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"
Auteur:  yahyah [ 04 Sep 2017 17:11 ]
Sujet du message:  Re: PAC Mitsibishi

Salut,

Oui j'ai bien une erreur http 500.

Merci pour ton aide
Auteur:  la mouche [ 05 Sep 2017 10:41 ]
Sujet du message:  Re: PAC Mitsibishi

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 ;)
Auteur:  lesltx [ 14 Sep 2017 23:42 ]
Sujet du message:  Re: PAC Mitsibishi

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
Auteur:  Mike88200 [ 18 Mars 2018 19:04 ]
Sujet du message:  Re: PAC Mitsibishi

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
Auteur:  Thib13 [ 10 Juin 2018 18:27 ]
Sujet du message:  Re: PAC Mitsibishi

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 :)
Auteur:  Thib13 [ 10 Août 2018 09:17 ]
Sujet du message:  Re: PAC Mitsibishi

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é ...
Auteur:  iclems [ 14 Fév 2019 14:57 ]
Sujet du message:  Re: PAC Mitsibishi

Bonjour à tous,

Etant moi-même développeur et nouvellement propriétaire d'une PAC Mitsubishi, j'ai recherché la cause du problème et l'ai réglé ce matin. Je devrais pouvoir proposer un correctif pour tous dans les prochains jours. L'API du fabricant avait légèrement évolué.

Question pour vous : arrivez-vous depuis MelCloud à activer le mode silence ? Pour moi, impossible, je n'ai que des valeurs standards de niveau de ventilateur.
Page 2 sur 2 Le fuseau horaire est UTC+1 heure