Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/igormilavec/tplink-smarthome
Control TP-Link Smart Home devices from .NET
https://github.com/igormilavec/tplink-smarthome
bulb c-sharp dotnet dotnet-core iot plug protocol smartplug switch tp-link tplink
Last synced: 22 days ago
JSON representation
Control TP-Link Smart Home devices from .NET
- Host: GitHub
- URL: https://github.com/igormilavec/tplink-smarthome
- Owner: IgorMilavec
- License: lgpl-3.0
- Created: 2017-07-25T11:37:34.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2022-12-07T18:27:29.000Z (almost 2 years ago)
- Last Synced: 2024-10-03T14:09:27.094Z (about 1 month ago)
- Topics: bulb, c-sharp, dotnet, dotnet-core, iot, plug, protocol, smartplug, switch, tp-link, tplink
- Language: C#
- Size: 17.6 KB
- Stars: 9
- Watchers: 5
- Forks: 5
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# TP-Link Smart Home Library for .NET
This library provides the client for TP-Link Smart Home devices. The TP-Link Smart Home protocol is proprietary; this code is based on the article [Reverse Engineering the TP-Link HS110](https://www.softscheck.com/en/reverse-engineering-tp-link-hs110/) and contributors' own experiments.
The library is built for .NET Standard 1.3 and .Net Framework 4.5.
## Supported devices
* Smart Plugs
* HS100 Wi-Fi Smart Plug
* HS110 Wi-Fi Smart Plug with Energy Monitoring## Transport protocol
The library supports both UDP (default) and TCP transports. Please note that I was unable to send multiple consecutive commands over a single TCP connection, so usage of TCP protocol at this time only brings additional overhead. One advantage of TCP would be support for larger payloads, however I have not yet observed a protocol command or response that would not fit into a single UDP packet.If you wish to discover devices in remote networks, please note that you need to configure directed broadcasts for target network.
# License
This library is licensed under the [GNU Lesser General Public License v3.0](https://github.com/IgorMilavec/TPLink-SmartHome/blob/master/LICENSE).
This library uses external libraries that have their own respective licenses:
* [Json.NET](https://github.com/JamesNK/Newtonsoft.Json)