Acces public à une automation HA

Bonjour à tous,

Après quelques recherches je trouve des pistes, mais pas exactement la réponse à ma question.
Je me permets donc ce nouveau sujet.

Contexte :

  • appartement en location saisonnière
  • accès à la copropriété via un portail déclenché par un « bip » classique
    → montage du bip sur switch ZWave via des câbles soudés sur la télécommande (je ferai un post sur cette bidouille)
    → automation créée sur HA (très pratique avec le GPS du téléphone !)

Problématique :
Je voudrai donner l’accès à la commande du portail aux futurs locataires via une commande URL simple.

Les pistes que j’ai pu voir en parcourant le forum sont : le webhook / les APIs.
Concernant le webhook, j’avoue ne pas maitriser la différence entre une commande URL simple et une POST, et surtout comment l’appréhender pour arriver à mon objectif.
Concernant l’API, j’ai juste rien compris ! :smiley:

Je m’en remets à vous si vous aviez des idées sur le sujet, sachant qu’en plus se joue un enjeu de sécurité (accès public).

HAmicalement,

Salut,

Vite fais à la lecture du poste, une info :
Pense à la durée de validité de ton lien (ou autre truc moi j’y vois un qrcode)… La location de février de l’année dernière ne doit pas agir pendant celle de juillet…
Après du point de vue geek, l’idée est bonne, mais les locataires sont-ils tous aussi familiers avec ces technos (accessoirement ça capte bien dans ton coin) et que faire en cas de ‹ panne › de la domotique. Il faut comprendre de mon message que cette bidouille doit être EN PLUS d’une méthode plus traditionnelle !

Moi je dirais de faire simple… un bouton, une télécommande… ou un code sur un clavier…

Avec NodeRed, c’est très facile de créer un endpoint qui va permettre de lancer un flot, dans lequel tu peux faire ce que tu veux. Comme ouvrir le portail…
Tu partages l’URL d’accès avec un QRCode.
Dans le flot, tu vérifies si le jour et l’heure sont dans le créneau autorisé pour cette URL et voilà…
A chaque nouveau visiteur, une nouvelle URL, donc une nouvelle plage d’accès autorisée.
Il faut que cette instance de NodeRed soit accessible via Internet ou que le wifi de ton appart soit accessible depuis le portail.

Merci à tous pour vos réponses,

Effectivement je suis d’accord avec vous, cette solution sera redondante avec une solution plus « classique ». Toutefois l’idée initiale c’est d’éviter de se rendre compte 3 jours après le départ des locataires qu’ils ont oublié la télécommande dans leur voiture en repartant … (true story).

@Pulpy-Luke : Oui je vis dans une grande ville avec une excellente couverture réseau.

@mycanaletto : Malheureusement impossible de mettre un bouton, un QR Code visible de tous ou une télécommande à dispo dans les parties communes de l’immeuble au risque d’en faire profiter tout le quartier. Cela impose aux locataires « d’abandonner » leur véhicule devant le portail, monter dans l’appartement, actionner le bouton, redescendre en courant et de rentrer avec la voiture… Je ne crois pas que la catgéories « réservé aux champions de 100 mètres » soit dispo sur les plateformes de locations en ligne :stuck_out_tongue_closed_eyes:

@golfvert : Merci pour le tuyau, je vais me pencher sur la solution NoteRed que je ne connaissais pas.

C’est quand même dommage car cette action avait l’air d’être tellement simple via Jeedom ?!
Peut être dans une future version de HA ?

Bon dimanche à tous !

Ça existe aussi nativement. Il y a une API qui te permet de changer un état, lancer une commande… L’API nécessite un POST et pas un GET. C’est donc un tantinet moins direct. NodeRed fait la même chose avec un GET.

Example:

Automatisation avec une action qui notifie HA sur mon mobile:

alias: Test Webhoook
description: ""
trigger:
  - platform: webhook
    webhook_id: test_webhook
condition: []
action:
  - service: notify.mobile_app_sm_a125f
    data:
      message: Test Webhook réussi
mode: single

Fichier test_webhook.html, à placer dans le répertoire www sous config:

<!doctype html>
<!-- Fichier /config/www/test_webhook.html
     à ouvrir avec
     http(s)://VOTREINSTANCEETPORT/local/test_webhook.html -->
<html>
    <head>
        <title>Test Webhook</title>
    </head>
    <body>
        <button onclick="fetch('/api/webhook/test_webhook',{method:'post'});">
            Actionner l'automatisation Test Webhook
        </button><br />
        <button onclick="var w=location.href.substring(location.href.lastIndexOf('/') + 1);w=w.substring(0,w.lastIndexOf('.'));fetch('/api/webhook/' + w, {method:'post'});">
            Actionner l'automatisation Test Webhook generique.
        </button>
    </body>
</html>

Ouvrir la page comme indiqué: http(s)://VOTREINSTANCEETPORT/local/test_webhook.html

Cliquer sur le bouton.

Il est possible de passer des paramètres et donc d’y inclure par exemple un mdp.

Ou bien, changer l’id du webhook à chaque fois, et utiliser le nom du fichier pour le webhook. (Le 2ième bouton de l’exemple).

Exemple: fichier ‹ location234234ABC.html ›, webhook id: « location234234ABC » permettant de faire un lien relativement complexe qui sert de mot de passe le temps d’une location.
Il suffit alors de changer le nom du fichier et l’id du webhook pour changer de mot de passe.
On peut éviter de changer le nom du fichier en y ajoutant un paramètre get et de récupérer ce paramètre pour le nom du webhook.

Avec 2023.5.1 un Webhook peut être exécuté à travers un GET.
Par contre attendez encore un peu avant de mettre à jour, il y a pas mal de problèmes remontés avec la 2023.5.1.

Voir: