Connaitre les infos envoyés depuis app android pour controler un appareil

Bonjour,

Le titre n’est peut-être pas très clair donc je vous explique.

Je suis en train de construire une piscine et vais installer une pompe à chaleur de marque caliente.
Celle-ci est connectable à mon réseau wifi et je peux la commander via l’app Alsavo Pro.

Seulement, je trouve bête de ne pouvoir l’intégrer à jeedom. D’où ma question:

Comment puis-je connaitre les infos (adresses???) que l’application envoie sur le réseau pour pouvoir les créer dans jeedom sous forme de scripts?

J’ai regardé si l’ ifttt était possible et je ne trouve rien.
Je tiens à préciser que je ne l’ai pas encore installée mais je voudrais me préparer à l’avance.

Merci

Bonjour,

Regardez si votre pompe a une interface WEB et / ou, sur le site de l’éditeur, s’il existe une API pour ce matériel.

Bonjour,
Merci de votre réponse.
La seule chose qui est indiquée c’est:

Les pompes à chaleur Caliente Inverpool Domo wifi sont équipées d’un contrôle à distance wifi 3G/4G via une application smartphone gratuite.

Et c’est tout…
Mais vu qu’elle se connecte au wifi, je pense que c’est possible non.
Point de vue API, je n’ai rien trouvé dans ce sens.

Merci

Testez de vous connecter,via un navigateur, sur l’adresse IP de cet appareil.

C’est pas bête ça. J’essayerai dès qu’elle sera installée.

Bonjour,

Je suis dans le même cas, avec l’app Alsavo Pro

Avez-vous réussi à en tirer quelque chose ?

Peut être de ce côté :

Antoine

Après avoir découvert ce post, je suis dans le même cas, pompe à chaleur caliente commandé par ALSAVO.
J’ai donc découvert le githib alsavoctrl et j’en partage ici mon expérience.

1ère étape:
Téléchargé les sources AlsavoCtrl sur github puis ensuite réaliser la compilation.
J’ai ensuite déposé l’éxecutable dans le dossier sur mon serveur jeedom dans /var/www/html/plugins/script/data/.

J’ai d’abord réaliser des tests directement en console et j’ai pu en comprendre les subtilités:
/var/www/html/plugins/script/data/AlsavoCtrl -s numérodeserieindiquédanslappliandroid–password lemotdepasse -a 47.88.188.100 1 --json
A savoir que l’adresse IP du cloud ALSAVO n’est pas celle qui est paramétré par défaut dans l’application et j’ai donc du sniffer le réseau pour voir qu’elle serveur été appelé par la PAC.

Par le suite, j’ai crée un script dans mon jeedom qui est appelé toutes les 5 minutes appelant le précédante commande.

Pour terminer, j’ai un crée un scenario dont le déclencement est ma variable de mon script et ensuite avec une action « bloc code »:

$value = cmd::byString('#[Piscine][PAC][test]#')->execCmd();
$json=json_decode($value,true);

$Water_in_temp =  $json["status"]["16"];
$Water_out_temp = $json["status"]["17"];
$Ambient_temperature = $json["status"]["18"];
$Cold_pipe_temperature  = $json["status"]["19"];
$Heating_pipe_temperature = $json["status"]["20"];
$IPM_module_temperature = $json["status"]["21"];
$Fan_speed = $json["status"]["22"];
$Exhaust_temperature = $json["status"]["23"];
$Compressor_input_temperature = $json["status"]["24"];
$Electronic_exhaust = $json["status"]["25"];
$Compressor_current= $json["status"]["26"];
$Compressor_running_frequency= $json["status"]["27"];
$Compressor_spee= $json["status"]["33"];
$Frequency_limit_code= $json["status"]["34"];
$Alarm_code_1= $json["status"]["48"];
$Alarm_code_2= $json["status"]["49"];
$Alarm_code_3= $json["status"]["50"];
$Alarm_code_4= $json["status"]["51"];
$System_status_code= $json["status"]["52"];
$System_running_code= $json["status"]["53"];
$Device_status_code= $json["status"]["54"];
$Heating_max_temperature= $json["status"]["55"];
$Cooling_min_temperature= $json["status"]["56"];
$Device_type= $json["status"]["64"];
$Main_board_HW_revision= $json["status"]["65"];
$Main_board_SW_revision= $json["status"]["66"];
$Manual_HW_code= $json["status"]["67"];
$Manual_SW_code= $json["status"]["68"];


$Heating_modetargettemp=$json["config"]["1"];
$Coolingmodetargettemp=$json["config"]["2"];
$Automodetargettemp=$json["config"]["3"];
$Systemconfigbitmask1=$json["config"]["4"];
$Systemconfigbitmask2=$json["config"]["5"];
$Manualfrequencysetting=$json["config"]["6"];
$ManualEEVsetting=$json["config"]["7"];
$Manualfanspeedsetting=$json["config"]["8"];
$Defrostintemp=$json["config"]["9"];
$DefrostouttempHeatingpipetemperaturerequiredtoenddefrost=$json["config"]["10"];
$Watertemperaturecalibrationoffsetforalltemperaturemeasurements=$json["config"]["11"];
$Defrostintime=$json["config"]["12"];
$Defrostouttime=$json["config"]["13"];
$Hotover=$json["config"]["14"];
$Coldover=$json["config"]["15"];
$Powermode=$json["config"]["16"];
$Currenttime=$json["config"]["32"];
$Timeron=$json["config"]["33"];
$Timeroff=$json["config"]["34"];

$scenario->setLog("WaterIn:".$Water_in_temp);
$scenario->setLog("WaterOut:".$Water_out_temp);
$scenario->setLog("Ambient_temperature:".$Ambient_temperature);
$scenario->setLog("Currenttime:".$Currenttime);
$scenario->setLog("Heating_modetargettemp:".$Heating_modetargettemp/10);
$scenario->setLog("System_status_code:".$System_status_code);

cmd::byString("#[Piscine][Widget_pac][temperatureIN]#")->event(($Water_in_temp));
cmd::byString("#[Piscine][Widget_pac][temperatureOUT]#")->event(($Water_out_temp));
cmd::byString("#[Piscine][Widget_pac][TemperatureChauffe]#")->event(($Heating_modetargettemp/10));

La prochaine étape étant maintenant d’envoyer des commandes à la PAC pour changer des paramètres, mais dans mon cas optionel, car je gère son allumage/extinction directement depuis un sonoff pour couper/activer son alimentation électrique.