Forcer la mise à jour des informations

Bonjour,

J’ai du mal à comprendre le fonctionnement de la mise à jour du plugin palazetti.

Le statut est correctement mis à jour lors du passage de la cron, toutes les 15 minutes.
Par contre, je ne parviens pas à forcer une mise à jour manuelle correcte. Si j’appelle la commande Lecture Etat Poele manuellement, le statut passe systématiquement a zéro, alors qu’il ne l’est pas en réalité (et que la cron suivante va potentiellement remettre en place la bonne valeur).

Avez vous ce problème ? Est il possible de forcer manuellement une mise à jour correcte des informations ? S’agit t’il d’un bug du plugin ?

Merci

Bonjour.

Beta ou stable ?
Sur la dernière beta, j’ai bien les boutons lecture qui remonte les informations dans les commandes infos qu’ils alimentent . Le bouton Lecture Etat du poêle met à jour la commande Etat du poêle (IStatus) :

[2023-02-11 08:05:58]DEBUG : (675) execute - options ""
[2023-02-11 08:05:58]DEBUG : (676) execute - $_options {"user_login":"admin","user_id":"1"}
[2023-02-11 08:05:58]DEBUG : (281) sendCommand -  commande GET+STAT
[2023-02-11 08:05:58]DEBUG : (282) sendCommand -  commande {"user_login":"admin","user_id":"1"}
[2023-02-11 08:05:58]DEBUG : makeRequest - get URL http://192.168.0.49/cgi-bin/sendmsg.lua?cmd=GET+STAT
[2023-02-11 08:05:58]DEBUG : makeRequest - get result {"INFO":{"CMD":"GET STAT","RSP":"OK"},"SUCCESS":true,"DATA":{"STATUS":6,"LSTATUS":6}}
[2023-02-11 08:05:58]DEBUG : (386) sendCommand - response 6
[2023-02-11 08:05:58]DEBUG : (387) sendCommand - updatelogicalId IStatus = 6
[2023-02-11 08:05:58]DEBUG : (681) execute - resultat OK

Merci pour ce retour et désolé du temps de réponse
Version stable je pense (2023-02-09 01:22:54)

Et effectivement en poussant les logs j’observe pas la meme chose que toi, et je vois bien le problème se produire :

0000|[2023-02-20 20:34:19]DEBUG : (553) execute - options «  »
0001|[2023-02-20 20:34:19]DEBUG : (554) execute - $_options {« user_login »:« johann »,« user_id »:« 1 »}
0002|[2023-02-20 20:34:19]DEBUG : (279) sendCommand - commande GET+STAT
0003|[2023-02-20 20:34:19]DEBUG : (280) sendCommand - commande {« user_login »:« johann »,« user_id »:« 1 »}
0004|[2023-02-20 20:34:19]DEBUG : (143) makeRequest - get URL http://192.168.1.71/cgi-bin/sendmsg.lua?cmd=GET+STAT
0005|[2023-02-20 20:34:21]DEBUG : (360) sendCommand - response
0006|[2023-02-20 20:34:21]DEBUG : (361) sendCommand - updatelogicalId IStatus =

La réponse est vide, du coup, le statut passe a 0.

Assez bizarre… ca peut être du au modèle de poele ? Vraiment une question de version beta ?

La stable est trop loin derrière la beta.

J’attends encore des retours pour pousser la beta en stable.

J’essaie d’installer la bêta pour voir ce que ça donne et de faire un retour

Ca fonctionne bien sur la Béta en effet.
Merci !

J’en profite pour une petite question parce que je suis un peu paumé dans les commandes, l’API Palazzetti semble pas super claire : il n’y a pas de commande pour « tout » actualiser ? Si je veux actualiser manuellement le statut, la température de consigne et la température actuelle par exemple, faut forcément que je fasse appel aux trois commandes ?
Merci :slight_smile:

En fait, par défaut, le plugin va questionner à chaque intervalle :

        $DATA = $this->makeRequest('GET+TIME');
        $DATA = $this->makeRequest('GET+CHRD', 6);
        $DATA = $this->makeRequest('GET+CNTR', 6);
        $DATA = $this->makeRequest('GET+ALLS', 6);

Et en fonction des commandes action « Lecture… », voilà quelles valeurs sont remontées :

                // état du poêle
            case 'GET+STAT':
                $value = $DATA->DATA->STATUS; //"DATA":{"STATUS":0,"LSTATUS":0}}
                break;
                // températures
            case 'GET+TMPS':
                $value = $DATA->DATA->T1; //"DATA":{"T1":16.79999924,"T2":17.89999962,"T3":18,"T4":0,"T5":0}}
                $this->checkAndUpdateCmd('ITemp2', $DATA->DATA->T2);
                $this->checkAndUpdateCmd('ITemp3', $DATA->DATA->T3);
                break;
                // programmes horaires
            case 'GET+CHRD':
                $value = json_encode($DATA->DATA);
                break;
            case 'GET+CNTR':
                   //"DATA":{"IGN":263,"POWERTIME":"7280:48","HEATTIME":"1144:20","SERVICETIME":"1144:20","ONTIME":"0:00","OVERTMPERRORS":0,"IGNERRORS":0,"PQT":2371}}%
                $this->checkAndUpdateCmd('INbAllumage', $DATA->DATA->IGN);
                $this->checkAndUpdateCmd('INbAllumageFailed', $DATA->DATA->IGNERRORS);
                $this->checkAndUpdateCmd('IHeuresAlimElec', str_replace(':', '.', $DATA->DATA->POWERTIME));
                $this->checkAndUpdateCmd('IHeuresChauffe', str_replace(':', '.', $DATA->DATA->HEATTIME));
                $this->checkAndUpdateCmd('IHeuresSurChauffe', str_replace(':', '.', $DATA->DATA->OVERTMPERRORS));
                $this->checkAndUpdateCmd('IHeuresDepuisEntretien', str_replace(':', '.', $DATA->DATA->SERVICETIME));
                $this->checkAndUpdateCmd('IQuantite', $DATA->DATA->PQT);
           case 'GET+ALLS':
                // mise à jour force du feu
                $this->checkAndUpdateCmd('IPower', $DATA->DATA->PWR); => puissance
                $this->checkAndUpdateCmd('IConsigne', $DATA->DATA->SETP); => consigne
                $this->checkAndUpdateCmd('IFan', $DATA->DATA->F2L); => ventilateur
                $this->checkAndUpdateCmd('IFanF3L', $DATA->DATA->F3L); => ventilateur F3L
                $this->checkAndUpdateCmd('IFanF4L', $DATA->DATA->F4L); => ventilateur F3L
                $this->checkAndUpdateCmd('ITemp', round($DATA->DATA->T1, 2)); => température ambiance 
                $this->checkAndUpdateCmd('ITemp2', round($DATA->DATA->T2, 2)); =>  température granulés
                $this->checkAndUpdateCmd('ITemp3', round($DATA->DATA->T3, 2)); => température combustion
                $this->checkAndUpdateCmd('IStatus', $DATA->DATA->STATUS); => état poêle
                $this->checkAndUpdateCmd('ISnap', json_encode($DATA)); => Informations

GET+ALLS récupère pas mal d’infos.
EN regardant sur les commandes actions, tu as « Lire force ventilateur F3L » et « Lire force ventilateur F4L » qui permet de rafraichir ces infos :

Merci, je vais me baser la dessus

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.