Bonsoir à tous,
Je ne sais pas si j'utilise le bon fil exactement, mais cela me semble proche. J'utilise un home assistant sur raspberry pour récupérer les durées de trajet Waze. Comme je ne veux pas payer nabucasa 75€ par an, j'ai cherché comment récupérer l'info dans eedomus. J'ai regardé les techniques de node-red et de python ci-dessus (merci pour les références
), mais il faut quand même un investissement conséquent.
Au final, je centralise simplement l'information ha avec un script sur eedomus.
Le script ne fait qu'ajouter un jeton "bearer", préalablement généré dans ha.
Le script ha.php de 7 lignes dans eedomus
- Code : Tout sélectionner
<?
$entity = getArg("entity", $mandatory = true, $default = ' ') ; //entity dans homeassistant
$url = "http://192.168.0.100:8123/api/states/".$entity; //adresse IP du raspberry
$headers = array("Authorization: Bearer abcbabdbabdbabdbabdb");
$json = httpQuery($url, $action = 'GET','','' , $headers ) ;
$xml = jsonToXML($json);
$result = xpath($xml, "//state");
echo "<state>".$result."</state>" ;
?>
Le capteur http eedomus est générique. Il peut aller chercher n'importe quelle entité.
- Code : Tout sélectionner
url requete : http://localhost/script/?exec=ha.php&entity=[VAR1]
xpath : //state
fréquence requête : 10 minutes
var1 : sensor.waze_travel_time_w (nom de mon entité dans ha)
Dans ha :
- création d'un bearer ( Profil / Jetons d'accès de longue durée )
Je n'ai pas trouvé comment envoyer des actions vers home assistant. Je comprends qu'il n'y a pas d'api unifié dans home assistant (cela semble dépendre des protocoles), mais pour récupérer des valeurs, c'est simple.
Cela ne répond pas à une synchronisation globale, mais je voulais partager une méthode simple. Probablement évidente pour certains
ps : il faut juste redémarrer le raspberry de temps en temps, car ha 2023 perd la connexion waze, mais j'ai mes courbes de temps de trajet pour essayer d'éviter les bouchons.