Devices dans local Tuya et Local Tuya

Bonjour,
Débutant, j’ai commencé par Tuya installé sur téléphone. Pour élargir les possibilités et aller vers d’autres protocoles, j’ai installé HA sur une Nas Synology DS220+ et virtual machine sans trop de problèmes.
Un de mes soucis vient de l’intégration Tuya et/ou de local Tuya.
J’ai fait toutes les démarches sur Tuya iot , j’ai toutes les informations nécessaires.
Tuya : intégration installée mais impossible de configurer quoi que ce soit :
Capture d’écran 2023-05-06 à 07.29.44
Local Tuya: tous les devices sont là
Capture d’écran 2023-05-06 à 07.31.34
En test j’ai mis une prise connectée, qui commande des lampes (d’où le nom…) qui fonctionne avec l’appli Tuya et qui ne répond pas avec HA.
switch
Quelque chose m’échappe…
C’est mon premier message, j’espère qu’il en assez clair… :roll_eyes:

Bonjour,
En premier faut regarder dans les logs, les erreurs qu’il y a, pour avoir une peu plus d’information sur le soucis. dans paramètres/ systemes / journaux .

Je comprends pas trop, tu montre une capture d’une prise et plus haut une capture tuya cloud avec aucun appareille. Ta prise est intégrer par la version cloud ou local ?

Honnêtement passe directe sur la version Local tuya ( en local ) c’est plus stable et rapide que la version cloud.
Pour local tuya tu doit paramétrer ton appareil, en indiquant les ID dans les cases requise.
sur le github ta des exemples de matériel avec la correspondance des ID

Attention aussi à utiliser un compte Tuya séparé de celui que tu utilises pour l’app Tuya sur ton mobile sinon cela va rentrer en conflit ! Tu crées un deuxième compte dans Tuya à qui tu donnes tous les droits sur tes appareils et que tu utiliseras que pour l’intégration Tuya :slight_smile:

1 « J'aime »

J’ai qu’un compte et aucun conflit. C’est quoi les conflits ?
Faut surtout pas être connecter sur l’application, pendant l’installation dans HA.

Normalement tu devrais avoir dans intégration Local Tuya(integration local tuya) et Tuya cloud (tuya)

Comme te le préconise Warc0zes utilise Local Tuya pour le maximum de devices, c’est beaucoup mieux. une fois intégration installé tu clic sur configurer pour ajouter tes devices (il est possible quelle soit directement reconnu si tu as bien renseigné intégration local tuya, avec notamment ton compte tuya…je me souviens pas de tous…c’est loin.)

Utilise Tuya cloud pour les devices qui ne sont pas reconnu.
Pour éviter les conflits désactive les devices reconnu par « intégration local tuya » dans « Tuya Cloud » voir photo ci dessous:

Pareil un seul compte et pas de conflits

J’ai même un switch sur le cloud et local activer sur les deux et aucun conflit :stuck_out_tongue:
Mais comme tu dit, tout le reste est désactiver dans la version cloud ou cas ou.

Moi aussi j’ai un thermostat partiellement reconnu dans local tuya, j’utilise donc une partie avec local tuya et le reste avec tuya cloud


Bizarrement le N° de modèle est différent et pourtant c’est le même je n’ai qu’un seul thermostat :thinking:

Pour t’aider il y a,
pour tuya cloud :

pour local tuya:

Tu a aussi plusieurs sujet sur le forum, mais tu les as peut être déjà vu.

Merci pour vos réponses:

la prise est intégrée dans la version local. Pour plus de simplicité je viens de supprimer Tuya cloud

Oui j’en ai lu pas mal mais sans succès.
Les logs:

2023-05-06 15:01:06.981 WARNING (MainThread) [custom_components.localtuya.pytuya] [062...532] Command 7 timed out waiting for sequence number 2
2023-05-06 15:01:07.000 ERROR (MainThread) [custom_components.localtuya.common] [062...532] Failed to set DP 1 to False
Traceback (most recent call last):
File "/usr/local/lib/python3.10/asyncio/locks.py", line 390, in acquire
await fut
asyncio.exceptions.CancelledError
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.10/asyncio/tasks.py", line 456, in wait_for
return fut.result()
asyncio.exceptions.CancelledError
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/config/custom_components/localtuya/common.py", line 321, in set_dp
await self._interface.set_dp(state, dp_index)
File "/config/custom_components/localtuya/pytuya/__init__.py", line 842, in set_dp
return await self.exchange(CONTROL, {str(dp_index): value})
File "/config/custom_components/localtuya/pytuya/__init__.py", line 769, in exchange
msg = await self.dispatcher.wait_for(seqno, payload.cmd)
File "/config/custom_components/localtuya/pytuya/__init__.py", line 450, in wait_for
await asyncio.wait_for(self.listeners[seqno].acquire(), timeout=timeout)
File "/usr/local/lib/python3.10/asyncio/tasks.py", line 458, in wait_for
raise exceptions.TimeoutError() from exc
asyncio.exceptions.TimeoutError
2023-05-06 15:01:36.508 WARNING (SyncWorker_9) [urllib3.connectionpool] Connection pool is full, discarding connection: rest-prde.immedia-semi.com. Connection pool size: 10*

Ta bien renseigner la local key de l’appareil et les ID ?

Pour récupérer la key d’un appareil ici

Oui . Je viens de supprimer l’intégration et la télécharger à nouveau, configuré l’appareil, changé switch par prise, vérifié le friendly name mais rien n’a changé.

Pour une prise , c’est switch qu’il faut sélectionner.

Dans ID , c’est le 1 ( le on/off ).
si ta prise a le suivie de conso faut mettre:
Current 18
current consumption 19
voltage 20

Faut pas que tu sois connecter sur l'application, quand tu configure un appareil

J’ai vérifié j’ai bien la valeur « False » en 1.

1 « J'aime »

faut utiliser le texte preformatter pour aficher les logs, sinon ca pique au yeux :sweat_smile:

1 « J'aime »

Je viens de faire le ménage :wink:

Oups… :face_with_hand_over_mouth:

2023-05-06 16:19:37.655 ERROR (MainThread) [homeassistant.config_entries] Error unloading entry XXXXX for switch
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 543, in async_unload
result = await component.async_unload_entry(hass, self)
File "/usr/src/homeassistant/homeassistant/components/switch/__init__.py", line 89, in async_unload_entry
return await component.async_unload_entry(entry)
File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 194, in async_unload_entry
raise ValueError("Config entry was never loaded!")
ValueError: Config entry was never loaded!
2023-05-06 16:20:09.047 WARNING (MainThread) [custom_components.localtuya.pytuya] [062...d95] Command 7 timed out waiting for sequence number 5
2023-05-06 16:20:09.050 ERROR (MainThread) [custom_components.localtuya.common] [062...d95] Failed to set DP 1 to True
Traceback (most recent call last):
File "/usr/local/lib/python3.10/asyncio/locks.py", line 390, in acquire
await fut
asyncio.exceptions.CancelledError
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.10/asyncio/tasks.py", line 456, in wait_for
return fut.result()
asyncio.exceptions.CancelledError
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/config/custom_components/localtuya/common.py", line 321, in set_dp
await self._interface.set_dp(state, dp_index)
File "/config/custom_components/localtuya/pytuya/__init__.py", line 842, in set_dp
return await self.exchange(CONTROL, {str(dp_index): value})
File "/config/custom_components/localtuya/pytuya/__init__.py", line 769, in exchange
msg = await self.dispatcher.wait_for(seqno, payload.cmd)
File "/config/custom_components/localtuya/pytuya/__init__.py", line 450, in wait_for
await asyncio.wait_for(self.listeners[seqno].acquire(), timeout=timeout)
File "/usr/local/lib/python3.10/asyncio/tasks.py", line 458, in wait_for
raise exceptions.TimeoutError() from exc
asyncio.exceptions.TimeoutError
2023-05-06 16:20:11.122 WARNING (MainThread) [custom_components.localtuya.pytuya] [062...d95] Command 7 timed out waiting for sequence number 6
2023-05-06 16:20:11.124 ERROR (MainThread) [custom_components.localtuya.common] [062...d95] Failed to set DP 1 to False
Traceback (most recent call last):
File "/usr/local/lib/python3.10/asyncio/locks.py", line 390, in acquire
await fut
asyncio.exceptions.CancelledError
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.10/asyncio/tasks.py", line 456, in wait_for
return fut.result()
asyncio.exceptions.CancelledError
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/config/custom_components/localtuya/common.py", line 321, in set_dp
await self._interface.set_dp(state, dp_index)
File "/config/custom_components/localtuya/pytuya/__init__.py", line 842, in set_dp
return await self.exchange(CONTROL, {str(dp_index): value})
File "/config/custom_components/localtuya/pytuya/__init__.py", line 769, in exchange
msg = await self.dispatcher.wait_for(seqno, payload.cmd)
File "/config/custom_components/localtuya/pytuya/__init__.py", line 450, in wait_for
await asyncio.wait_for(self.listeners[seqno].acquire(), timeout=timeout)
File "/usr/local/lib/python3.10/asyncio/tasks.py", line 458, in wait_for
raise exceptions.TimeoutError() from exc
asyncio.exceptions.TimeoutError
2023-05-06 16:21:11.551 WARNING (MainThread) [custom_components.localtuya.pytuya] [062...d95] Command 7 timed out waiting for sequence number 13
2023-05-06 16:21:11.553 ERROR (MainThread) [custom_components.localtuya.common] [062...d95] Failed to set DP 1 to True
Traceback (most recent call last):
File "/usr/local/lib/python3.10/asyncio/locks.py", line 390, in acquire
await fut
asyncio.exceptions.CancelledError
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.10/asyncio/tasks.py", line 456, in wait_for
return fut.result()
asyncio.exceptions.CancelledError
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/config/custom_components/localtuya/common.py", line 321, in set_dp
await self._interface.set_dp(state, dp_index)
File "/config/custom_components/localtuya/pytuya/__init__.py", line 842, in set_dp
return await self.exchange(CONTROL, {str(dp_index): value})
File "/config/custom_components/localtuya/pytuya/__init__.py", line 769, in exchange
msg = await self.dispatcher.wait_for(seqno, payload.cmd)
File "/config/custom_components/localtuya/pytuya/__init__.py", line 450, in wait_for
await asyncio.wait_for(self.listeners[seqno].acquire(), timeout=timeout)
File "/usr/local/lib/python3.10/asyncio/tasks.py", line 458, in wait_for
raise exceptions.TimeoutError() from exc
asyncio.exceptions.TimeoutError
2023-05-06 16:21:12.704 WARNING (MainThread) [custom_components.localtuya.pytuya] [062...d95] Command 7 timed out waiting for sequence number 14
2023-05-06 16:21:12.705 ERROR (MainThread) [custom_components.localtuya.common] [062...d95] Failed to set DP 1 to False
Traceback (most recent call last):
File "/usr/local/lib/python3.10/asyncio/locks.py", line 390, in acquire
await fut
asyncio.exceptions.CancelledError
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.10/asyncio/tasks.py", line 456, in wait_for
return fut.result()
asyncio.exceptions.CancelledError
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/config/custom_components/localtuya/common.py", line 321, in set_dp
await self._interface.set_dp(state, dp_index)
File "/config/custom_components/localtuya/pytuya/__init__.py", line 842, in set_dp
return await self.exchange(CONTROL, {str(dp_index): value})
File "/config/custom_components/localtuya/pytuya/__init__.py", line 769, in exchange
msg = await self.dispatcher.wait_for(seqno, payload.cmd)
File "/config/custom_components/localtuya/pytuya/__init__.py", line 450, in wait_for
await asyncio.wait_for(self.listeners[seqno].acquire(), timeout=timeout)
File "/usr/local/lib/python3.10/asyncio/tasks.py", line 458, in wait_for
raise exceptions.TimeoutError() from exc
asyncio.exceptions.TimeoutError
2023-05-06 16:22:54.025 WARNING (SyncWorker_5) [urllib3.connectionpool] Connection pool is full, discarding connection: rest-prde.immedia-semi.com. Connection pool size: 10
2023-05-06 16:28:23.992 WARNING (SyncWorker_10) [urllib3.connectionpool] Connection pool is full, discarding connection: rest-prde.immedia-semi.com. Connection pool size: 10
2023-05-06 16:33:53.341 WARNING (SyncWorker_5) [urllib3.connectionpool] Connection pool is full, discarding connection: rest-prde.immedia-semi.com. Connection pool size: 10
2023-05-06 16:35:29.446 WARNING (SyncWorker_7) [urllib3.connectionpool] Connection pool is full, discarding connection: rest-prde.immedia-semi.com. Connection pool size: 10
2023-05-06 16:39:23.336 WARNING (SyncWorker_1) [urllib3.connectionpool] Connection pool is full, discarding connection: rest-prde.immedia-semi.com. Connection pool size: 10
2023-05-06 16:44:53.264 WARNING (SyncWorker_6) [urllib3.connectionpool] Connection pool is full, discarding connection: rest-prde.immedia-semi.com. Connection pool size: 10
2023-05-06 16:50:23.323 WARNING (SyncWorker_5) [urllib3.connectionpool] Connection pool is full, discarding connection: rest-prde.immedia-semi.com. Connection pool size: 10
2023-05-06 16:55:53.394 WARNING (SyncWorker_7) [urllib3.connectionpool] Connection pool is full, discarding connection: rest-prde.immedia-semi.com. Connection pool size: 10
2023-05-06 17:01:23.470 WARNING (SyncWorker_9) [urllib3.connectionpool] Connection pool is full, discarding connection: rest-prde.immedia-semi.com. Connection pool size: 10
2023-05-06 17:06:53.501 WARNING (SyncWorker_9) [urllib3.connectionpool] Connection pool is full, discarding connection: rest-prde.immedia-semi.com. Connection pool size: 10
2023-05-06 17:12:23.536 WARNING (SyncWorker_7) [urllib3.connectionpool] Connection pool is full, discarding connection: rest-prde.immedia-semi.com. Connection pool size: 10
2023-05-06 17:17:53.368 WARNING (SyncWorker_5) [urllib3.connectionpool] Connection pool is full, discarding connection: rest-prde.immedia-semi.com. Connection pool size: 10
2023-05-06 17:23:23.612 WARNING (SyncWorker_3) [urllib3.connectionpool] Connection pool is full, discarding connection: rest-prde.immedia-semi.com. Connection pool size: 10
2023-05-06 17:28:53.533 WARNING (SyncWorker_0) [urllib3.connectionpool] Connection pool is full, discarding connection: rest-prde.immedia-semi.com. Connection pool size: 10
2023-05-06 17:34:23.692 WARNING (SyncWorker_7) [urllib3.connectionpool] Connection pool is full, discarding connection: rest-prde.immedia-semi.com. Connection pool size: 10
2023-05-06 17:39:53.639 WARNING (SyncWorker_1) [urllib3.connectionpool] Connection pool is full, discarding connection: rest-prde.immedia-semi.com. Connection pool size: 10

je m’intéresse aussi à local tuya, je suis totalement débutant dans HA, j’ai réussi à intégrer mes prises avec tuya classic donc je suppose le cloud, est-ce que si je passe en local, l’application tuya fonctionnera encore ou non, car je n’ai pas encore accès depuis l’extérieur à mon HA, je fais des tests donc pour l’instant il faut que je conserve mes accès. Merci.

Bonjour,
Tu peu toujours utiliser l’application tuya, si tu a local tuya. Ça gêne en rien le fonctionnement des deux.

1 « J'aime »

Bonjour,

En revanche, (je ne sais pas si ça vient de moi) mais avec TuYa Iot, tu ne peux récupérer les clés locales que des appareils Wifi, en zigbee, la seule clé locale que tu peux récupérer est celle de ta passerelle TuYa. Donc les appareils zigbee ne sont donc pas accessibles avec Local Tuya.

Pour le zigbee, il faut voir l’intégration utilisée. Par exemple, Zigbee2MQTT supporte un grand nombre de devices TuYa: | Zigbee2MQTT