Blame | Last modification | View Log | Download
NOTE I'm no longer using these devices so this is not actively maintained.# Domoticz-Tuya-SmartPlug-PluginA Domoticz plugin to manage Tuya Smart Plug (single and multi socket device)## ONLY TESTED FOR Raspberry PiWith Python version 3.5 & Domoticz version 4.9700 (stable)## PrerequisitesThis plugin is based on the pytuya Python library. For the installation of this library,follow the Installation guide below.See [`https://github.com/clach04/python-tuya/`](https://github.com/clach04/python-tuya/) for more information.For the pytuya Python library, you need pycrypto. pycrypto can be installed with pip:```pip3 install pycrypto```See [`https://pypi.org/project/pycrypto/`](https://pypi.org/project/pycrypto/) for more information.## InstallationAssuming that domoticz directory is installed in your home directory.```bashcd ~/domoticz/pluginsgit clone https://github.com/tixi/Domoticz-Tuya-SmartPlug-Plugincd Domoticz-Tuya-SmartPlug-Plugingit clone https://github.com/clach04/python-tuya.gitln -s ~/domoticz/plugins/Domoticz-Tuya-SmartPlug-Plugin/python-tuya/pytuya pytuya# restart domoticz:sudo /etc/init.d/domoticz.sh restart```In the web UI, navigate to the Hardware page. In the hardware dropdown there will be an entry called "Tuya SmartPlug".## Known issues1/ python environmentDomoticz may not have the path to the pycrypto library in its python environment.In this case you will observe something starting like that in the log:* failed to load 'plugin.py', Python Path used was* Module Import failed, exception: 'ImportError'To find where pycrypto is installed, in a shell:```bashpip3 show pycrypto```The Crypto directory should be present in the directory indicated with Location.when you have it, just add a symbolic link to it in Domoticz-Tuya-SmartPlug-Plugin directory with ```ln -s```.Example:```bashcd ~/domoticz/plugins/Domoticz-Tuya-SmartPlug-Pluginln -s /home/pi/.local/lib/python3.5/site-packages/Crypto Crypto```2/ Tuya appThe tuya app must be close. This limitation is due to the tuya device itself that support only one connection.3/ Alternative crypto librariesPyCryptodome or pyaes can be used instead of pycrypto.## UpdatingLike other plugins, in the Domoticz-Tuya-SmartPlug-Plugin directory:```bashgit pullsudo /etc/init.d/domoticz.sh restart```## Parameters| Parameter | Value || :--- | :--- || **IP address** | IP of the Smart Plug eg. 192.168.1.231 || **DevID** | devID of the Smart Plug || **Local Key** | Local Key of the Smart Plug || **DPS** | 1 for single socket device and a list of dps separated by ';' for multisocket device eg. 1;2;3;7| **DPS group** | None for single socket device and a list of list of dps separated by ':' for multisocket device eg. 1;2 : 3;7| **DPS always ON** | None for single socket device and a list of dps separated by ; for multisocket device eg. 1;2| **Debug** | default is 0 |**DPS** should only includes values that correspond to plug's dps id. Be careful some devices also have timers in the dps state.**DPS group** can be used to group multiple sockets in one Domoticz switch.**DPS always ON** can be used to force some sockets to be always on (usb for instance).Helper scripts get_dps.py turnON.py and turnOFF.py can help:* to determine the dps list* to check that the needed information are valid (i.e. devID and Local Key) before using the plugin.## DevID & Local Key ExtractionRecommanded method:[`https://github.com/codetheweb/tuyapi/blob/master/docs/SETUP.md`](https://github.com/codetheweb/tuyapi/blob/master/docs/SETUP.md)All the information can be found here:[`https://github.com/clach04/python-tuya/`](https://github.com/clach04/python-tuya/)## Acknowledgements* Special thanks for all the hard work of [clach04](https://github.com/clach04), [codetheweb](https://github.com/codetheweb/) and all the other contributers on [python-tuya](https://github.com/clach04/python-tuya) and [tuyapi](https://github.com/codetheweb/tuyapi) who have made communicating to Tuya devices possible with open source code.* Domoticz team