Bonjour,

Voila je rencontre un petit problème avec mon code. J'utilise le cours "Utiliser une API avec cURL" afin de m'aider mais j'ai un problème vers la fin de la vidéo il y a un foreach pour récupérer les valeurs souhaitées et je veux en faire de même mais rien ne fonctionne..

Voici le JSON récupéré de l'API Home Assistant

{
  "attributes": {
    "friendly_name": "Applique Salon",
    "max_mireds": 370,
    "min_mireds": 153,
    "supported_features": 43
  },
  "context": {
    "id": "ca94630f8dc0431caf70f7a97f943cba",
    "user_id": null
  },
  "entity_id": "light.applique_salon",
  "last_changed": "2019-03-31T10:13:32.795918+00:00",
  "last_updated": "2019-03-31T10:13:32.795918+00:00",
  "state": "off"
}

Ce que je veux

C'est récupéré le "friendly_name" ainsi que "state"

Ce que j'obtiens

homeassistant.php :

class HomeAssistant{

    private $apiKey;

    public function __construct(string $apiKey){
        $this->apiKey = $apiKey;
    }

    public function getTemperature(string $entity): ?array{
        $curl = curl_init("http://hassio.local:8123/api/states/{$entity}");

        $headers = array(
            "Authorization: Bearer {$this->apiKey}",
            "Content-Type: application/json",
        );

        curl_setopt_array($curl, [
            CURLOPT_HTTPHEADER => $headers,
            CURLOPT_RETURNTRANSFER => false,
            CURLOPT_TIMEOUT => 1
        ]);

        $data = curl_exec($curl);

        if($data === false || curl_getinfo($curl, CURLINFO_HTTP_CODE) !== 200){
            return null;              
        }

        $results = [];

        $data = json_decode($data, true);

        return $results;
    }

}

index.php

ini_set('display_errors', 'On');

require_once 'HomeAssistant.php';

$hassio = new HomeAssistant("xxxxCléAPIxxx");
$temperature = $hassio->getTemperature('light.applique_salon');

merci d'avance !

Aucune réponse