Bonjour,
Est-il possible d'utiliser l'API/JSON URL's pour par exemple extraire les valeurs d'un compteur avec JSON.lua ou commander un switch à distance à partir d'un réseau extérieur au réseau local ?
Si oui, comment régler les paramètres de sécurité de l’émetteur et du récepteur, et quel est le script à utiliser pour satisfaire les exigences de l’authentification ?
Je vous remercie pour votre réponse.
Domoticz API/JSON URL's
Re: Domoticz API/JSON URL's
Je viens de déplacer ton sujet dans la section dédiée aux connexions via internet.
Tu peux très bien utiliser l'api depuis l'extérieur de chez toi. Il y a plusieurs possibilités (avec le risque de sécurité associé) :
Tu peux très bien utiliser l'api depuis l'extérieur de chez toi. Il y a plusieurs possibilités (avec le risque de sécurité associé) :
- Faire une redirection de port depuis ta box
- Utiliser un VPN
- Utiliser un VPS
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
-
DomoJarrie
- Messages : 6
- Inscription : 12 janv. 2023, 10:22
Re: Domoticz API/JSON URL's
Bonjour,
J'ai trouvé, il fallait simplement que dans Configuration -> Paramêtres -> Sécurité -> réseaux de confiance, je fasse les réglages nécessaires
J'ai trouvé, il fallait simplement que dans Configuration -> Paramêtres -> Sécurité -> réseaux de confiance, je fasse les réglages nécessaires
Re: Domoticz API/JSON URL's
Mettre la totalité d'un réseau externe en confiance, c'est osé. Sinon l'API se commande en https, en incluant l'authentification (https://user:pass@IPEXT_OU_DOMAINE/...)
Mieux vaut un nom domaine (utiliser no-ip par exemple) + certif lets encrypt...
Mieux vaut un nom domaine (utiliser no-ip par exemple) + certif lets encrypt...
Dernière modification par Keros le 12 déc. 2023, 12:48, modifié 1 fois.
Raison : Citation supprimée. Merci de ne pas citer le message précédent lors d'une réponse directe.
Raison : Citation supprimée. Merci de ne pas citer le message précédent lors d'une réponse directe.
Re: Domoticz API/JSON URL's
Avec la commande https://user:pass@IPEXT_OU_DOMAINE, le mot de passe est chiffré également ?
Il me semblait que les URL voyageaient en clair et que c'était le contenu qui était crypté.
Il me semblait que les URL voyageaient en clair et que c'était le contenu qui était crypté.
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Re: Domoticz API/JSON URL's
Le chiifrement intervient dès l'établissement de la connexion sinon cela ne servirait a rien. Domoticz interdit d'ailleurs le truc pour les appels api en http par défaut. En https c'est pas le cas.
EDIT:
Tu peux d'ailleurs comparer capture LAN/http(8080) et WAN/https avec wireshark (filtres "tcp port 8080" puis "tcp port https" resp. brower etc... fermés pour ne pas générer de trafic du même type et avoir une capture propre sur ces filtres simples).
Et capture démarrée, faire une requête curl type
curl "http://192.168.1.XX:8080/json.htm?type= ... SunRiseSet"
puis
curl "https://user:pass@mon_domaine/json.htm?type=command¶m=getSunRiseSet"
Dans le 1er cas, la requête "http/GET" avec l'url de l'API JSON est clairement visible, ainsi que la réponse. Dans le second, tu n'as que du "tls v1.3/application data" chiffré (et bien après le server hello se mettant d'accord avec le client sur le chiffrement).
Aucun pb donc. S'il y en avait eu, ce format de login n'aurait même pas été supporté en https AMHA, cela n'aurait pas eu de sens sauf à vouloir tendre des pièges!
EDIT:
Tu peux d'ailleurs comparer capture LAN/http(8080) et WAN/https avec wireshark (filtres "tcp port 8080" puis "tcp port https" resp. brower etc... fermés pour ne pas générer de trafic du même type et avoir une capture propre sur ces filtres simples).
Et capture démarrée, faire une requête curl type
curl "http://192.168.1.XX:8080/json.htm?type= ... SunRiseSet"
puis
curl "https://user:pass@mon_domaine/json.htm?type=command¶m=getSunRiseSet"
Dans le 1er cas, la requête "http/GET" avec l'url de l'API JSON est clairement visible, ainsi que la réponse. Dans le second, tu n'as que du "tls v1.3/application data" chiffré (et bien après le server hello se mettant d'accord avec le client sur le chiffrement).
Aucun pb donc. S'il y en avait eu, ce format de login n'aurait même pas été supporté en https AMHA, cela n'aurait pas eu de sens sauf à vouloir tendre des pièges!