set back function loadStates to private add public function loadStatesForSync

This commit is contained in:
2026-07-08 08:42:15 +02:00
parent 6adf60a450
commit a0c4d298ab
2 changed files with 34 additions and 2 deletions
+33 -1
View File
@@ -300,7 +300,39 @@ class HassAPI{
} }
} }
public function loadStates() { public function loadStatesForSync() {
$ret = false;
if($this->states){
$ret = true;
}else{
if($this->isAuthorized()){
$loaded = false;
$data_age = @(time() - filemtime('states.json'));
if($data_age > 100){
$this->states_get_cache();
}
$data = @file_get_contents('states.json');
if(isset($data)){
$this->states = json_decode($data, true);
if($this->states){
foreach ($this->states as &$value) {
$h = str_split(hash('sha256', $value['entity_id']),12)[0];
$val = intval($h, 16);
$value['entity_uid_sha256'] = $val;
}
$loaded = true;
$ret = true;
}
}
if($loaded == false){
trigger_error("API GET states wrong response", E_USER_ERROR);
}
}
}
return $this->states;
}
Private function loadStates() {
$ret = false; $ret = false;
if($this->states){ if($this->states){
$ret = true; $ret = true;
+1 -1
View File
@@ -25,7 +25,7 @@ $api = new HassAPI($HASS_API_URL, $HASS_API_TOKEN, $auto_include);
if ($api->isAuthorized()) { if ($api->isAuthorized()) {
// On récupère la liste des entités que Home Assistant connaît // On récupère la liste des entités que Home Assistant connaît
// Cela nous sert de "liste de courses" pour savoir ce qu'on doit mettre à jour. // Cela nous sert de "liste de courses" pour savoir ce qu'on doit mettre à jour.
$all_entities = $api->loadStates(); $all_entities = $api->loadStatesForSync();
foreach ($all_entities as $entity_data) { foreach ($all_entities as $entity_data) {
$id = $entity_data['entity_id']; $id = $entity_data['entity_id'];