Info peut être importante : Je suis avec un Haos host sur un synology en VM.
J’ai un portier dahua sur lequel est branché mon portail motorisé.
J’ai ajouté l’intégration Dahua et créé l’appareil sans souci, le hic c’est qu’il n’y a pas l’action pour ouvrir le portail…
Du coup je récupère ma méthode plan B de mon vieux Jeedom, un call http sur le portier pour demander l’ouverture:
Je trouve un restful Command : Ca ne fonctionne pas.
Puis une Rest Command : KO aussi
Et enfin les shell Command ou je tente:
curl : not authorized
wget : not authorized
Le même wget depuis le terminal du Synology fonctionne.
Détail que j’ai remarqué, le wget de Synology est un GNU complet avec plein de parametre alors que le wget du home assistant est dit ‹ busybox › et n’a pas l’air de faire grand chose…
Enregistreur: homeassistant.components.rest_command
Source: components/rest_command/__init__.py:173
intégration: RESTful Command ([documentation](https://www.home-assistant.io/integrations/rest_command), [problèmes](https://github.com/home-assistant/core/issues?q=is%3Aissue+is%3Aopen+label%3A%22integration%3A+rest_command%22))
S'est produit pour la première fois: 08:54:43 (1 occurrence)
Dernier enregistrement: 08:54:43
Error. Url: http://192.168.5.10/cgi-bin/accessControl.cgi?action=openDoor&channel=1&UserID=101&Type=Remote. **Status code 401. Payload: None**
C’est celui de la derniere requête que j’ai essayé avec la rest_command suivante:
ç’est une erreur d’autentification, les credentials reçus ne sont pas accepté.
essaie sans les guillemets dans username et password.
T’as des caractères spéciaux ?
essaie avec ligne de commande suivante curl -u "monUser:monPassword" "http://192.168.5.10/cgi-bin/accessControl.cgi?action=openDoor&channel=1&UserID=101&Type=Remote"
Si ça fonctionne depuis la ligne de commande mais pas depuis HA, il pourrait y avoir un problème avec la configuration de rest_command
Depuis le terminal dans HA, j’ai lancé le curl (en utilisant /usr/bin/curl car il n’est pas reconnu sinon)
Aucun retour, et le portail ne bouge pas.
J’ai l’impression que c’est le binaire du ‹ curl › qui est diffèrent et qui fait beaucoup moins de chose.
Plan B:
J’ai un petit serveur Web déjà sur le Synology, j’ai ajouté un petit site local avec juste une page php pour que le traitement reste server-side, qui appel le wget authentifié.
Et depuis HA j’appel la page qui n’a plus besoin d’authentification.
C’est du bricolage, mais comme ca je suis débloqué au moins.
Il semble que tu a trouvé une solution de contournement efficace en utilisant un serveur web pour exécuter la commande wget. Bien que ce ne soit pas la solution la plus directe.
Assure toi que ta page PHP est bien sécurisée et accessible uniquement depuis le réseau local ou via une authentification supplémentaire .