Plugin airZone

tu mets quoi en Body content et Editor review dans l’onglet BODY ?
J’ai tenté un peu tout
server:
Airzone-Athome gateway
connection:
close
access-control-allow-origin:
*
access-control-allow-methods:
PUT,POST,DELETE,PATCH
content-type:
text/html
content-length:
42
{« errors »:[{« error »:« request malformed »}]}

ton image c’est le header et non le body.

jai modifié le BODY (systemid sans E et sans majuscule) et ca fonctionne
Airzone-Athome gatewayconnection:closeaccess-control-allow-origin:*access-control-allow-methods:PUT,POST,DELETE,PATCHcontent-type:text/htmlcontent-length:321
{
« data »: [{
« systemID »: 1,
« zoneID »: 1,
« on »: 1,
« maxTemp »: 30,
« minTemp »: 15,
« setpoint »: 20,
« roomTemp »: 19.500000,
« modes »: [1, 1, 4, 2, 3, 5],
« mode »: 3,
« coldStages »: 1,
« coldStage »: 1,
« heatStages »: 1,
« heatStage »: 1,
« humidity »: 45,
« units »: 0,
« errors »: []
}]
}

L’erreur est sur le plugin quand il crée le tableau je pense
conversion en tableau : Array ( [errors] => Array ( [0] => Array ( [error] => systemid out of range ) ) )

Cool, tu n’as qu’une zone?
As tu bien mit 0 dans zoneid?

j’ai 3 zones mais jai tenté de lire ma zone 1. Si je met zone 0 (pour lire toutes les zones) je récupérer bien tous

{
	"data":	[{
			"systemID":	1,
			"zoneID":	1,
			"on":	1,
			"maxTemp":	30,
			"minTemp":	15,
			"setpoint":	20,
			"roomTemp":	20,
			"modes":	[1, 1, 4, 2, 3, 5],
			"mode":	3,
			"coldStages":	1,
			"coldStage":	1,
			"heatStages":	1,
			"heatStage":	1,
			"humidity":	45,
			"units":	0,
			"errors":	[]
		}, {
			"systemID":	1,
			"zoneID":	2,
			"on":	1,
			"maxTemp":	30,
			"minTemp":	15,
			"setpoint":	20.500000,
			"roomTemp":	20.500000,
			"coldStages":	1,
			"coldStage":	1,
			"heatStages":	1,
			"heatStage":	1,
			"humidity":	55,
			"units":	0,
			"errors":	[]
		}, {
			"systemID":	1,
			"zoneID":	3,
			"on":	1,
			"maxTemp":	30,
			"minTemp":	15,
			"setpoint":	21,
			"roomTemp":	21.299999,
			"coldStages":	1,
			"coldStage":	1,
			"heatStages":	1,
			"heatStage":	1,
			"humidity":	51,
			"units":	0,
			"errors":	[]
		}]
}

Merci, pour ton retour,
Je vais enfin pouvoir tout caller avec ton Json.
Je mets a jour le code dans la soirée.
Mon installation et fini mardi…lol

Autant dire que l’API est vraiment pas bien documenté…

@mortyre
Peux-tu tester une requête PUT :
et en body :

{"systemid":1,"zoneid":1,"setpoint":24}

Peux-tu me transmettre le retour si il y en a un.
et vérifier que l’info à bien été envoyé au thermostat de ta zone 1.

1 « J'aime »

Attention au guillemet sur le body ca doit etre des " et non des “ → sinon ca ne marche pas

Voici la réponse du JSON et j’ai bien la valeur changé dans ma zone 1 à 24°

{
	"data":	[{
			"systemID":	1,
			"zoneID":	1,
			"setpoint":	24
		}]
}

Oui oui pas de soucis, c’est le post de puis mon smartphone qui s’affiche comme ça. Je redit avec une balise code pour éviter de se faire avoir.

Pour ma part, j’ai fait pas mal de tests hier soir et j’ai toujours le message suivant:

The requested URL can’t be reached

The service refused to connect.

Please, check if:

  • you and remote machine are connected to the internet,
  • all required services (like www) are up and running on server
  • port number is correct
  • url is correct

Search Google for chrome network error 102

net::ERR_CONNECTION_REFUSED

C’est probablement du au fait que j’ai un webserveur wifi et non pas ethernet :frowning: mais je trouve ca bizarre car ma carte wifi ressemble comme 2 gouttes d’eau à la carte ethernet, sauf qu’il y a un dongle wifi à la place du port réseau…

bon si vous avez des idées pour débogguer mon probleme tant mieux sinon je ferai avec. Je vais relancer aussi le service technique Airzone, peut-etre qu’ils m’en diront plus sir les capacités wifi vs ethernet.

Je confirme, j’ai eu l’info d’airzone, la passerelle wifi n’est pas compatible avec l’API…

J’ai portant l’impression d’avoir tout bien fait mais l’application n’arrive pas à joindre l’url.

Une idée de comment débloquer le port 3000 ou un autre moyen ?

Bonjour, les doubles guillemets ne sont pas bon. Il faut les retaper.
Par contre le plugin fonctionne chez mortyre.
Donc tu peux essayer directement le plugin.
Ajouter un plugin externe
Sélectionne Github

Id Logic : airZone
Auteur : bernidouille
Depot : airZone
Branche : master

Je te propose tout de même de contacter le support airZone pour demander si un firmware et prévu sur les versions WiFi permettant le support de l’API.

Justement, je suis en ethernet.

J’ai pas encore de système système jeedom opérationnel pour essayer.

Autant pour moi je confond avec gwen99.
Retapes ça dans le body :

{"systemid":1,"zoneid":0}

Après correction si ça ne change pas.
Vérifies tout de même avec le support airZone pour la version du webserver ethernet, l’API est valable après 3.1.6, peut être mise à jour à effectuer ?

Merci pour les informations, c’est prévu de recontacter le support et j’essaierai le plugin fin de semaine (je pars en déplacement…)
++

ton BODY n’est pas bon. cest pas systeme mais systemid

J’ai essayé avec systemid ça ne change rien. Je vais contacter le support, vous avez un contact email ?

Une note au passage, quand je lance l’application iOS je vois un peu de code avec le même genre de syntaxe que vous utilisez. Je pense que tout le monde communique uniquement avec ce code non ?

Du coup tu peux pas mettre un espion entre l’application smartphone ou le navigateur internet pour voir les messages qu’ils échangent et récupérer les codes qu’il te manque ? C’est peut être une idée de merde…