sabinus52 / jeedom-smartlife

Plugin Jeedom pour la gestion des objets connectés Smart Life / Tuya
GNU General Public License v2.0
10 stars 5 forks source link

Erreur de connexion au cloud Tuya : Argument 1 passed to Sabinus\TuyaCloudApi\Device\Device::setData() must be of the type array, null given #40

Closed bwibwi13 closed 3 years ago

bwibwi13 commented 4 years ago

Bonjour,

J'utilise avec beaucoup de plaisir le plugin Tuya pour Jeedom. Merci beaucoup pour ce plugin !!

Je contrôle des prises connectées ainsi que des commandes de volets.

Jeedom rapporte régulièrement l'erreur ci-dessous. Pourtant j'ai l'impression que tout fonctionne correctement. En tout cas, toutes les commandes envoyées aux devices Tuya fonctionnent.

Erreur exécution de la commande [Ch. Timothé][Veilleuse][Eteindre] : Erreur de connexion au cloud Tuya : Argument 1 passed to Sabinus\TuyaCloudApi\Device\Device::setData() must be of the type array, null given, called in /home/osmc/git/jeedom/core/plugins/SmartLife/vendor/sabinus52/tuyacloudapi/src/Device/Device.php on line 145

Est-ce que vous avez une idée de ce qui peut causer ce retour d'erreur ? Que puis-je faire pour aider à debugger ?

Merci pour votre aide.

bwibwi13 commented 4 years ago

Bonjour,

Afin de masquer l'erreur, j'ai simplement ajouté un test dans le code à la ligne 145: _$response = $api->controlDevice($this->id, 'QueryDevice', array(), 'query'); if (!is_null($response['payload']['data']))     $this->setData($response['payload']['data']);`_

Si j'ai bien compris ce que fait setData(), il vaut mieux ne pas transmettre les [data] si elles sont null.

En tout cas, depuis que j'ai mis ce test, je ne reçois plus ce message d'erreur et le pluggin semble toujours aussi bien fonctionner.

J'espère que ceci pourra aider.

sabinus52 commented 4 years ago

Bonjour,

Je suis au courant de cette erreur. J'ai remarqué depuis quelque temps, l'API Tuya retournait aléatoirement des "datas" vide alors qu'elle ne devrait pas surtout en moment du rafraîchissement des données. Cela a été corrigé mais non mis en ligne, vu que cette anomalie n'est pas vraiment bloquante. Elle sera faite en même temps que l'implémentation de la gestion des climatiseurs.