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 : 37
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

Re: PAC Mitsibishi

Messagepar iclems » 14 Fév 2019 14:57

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.
iclems
 
Messages : 2
Inscription : 14 Fév 2019

Précédent

Retour vers Requêtes HTTP

Qui est en ligne ?

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