Git Product home page Git Product logo

tplink-smarthome's Introduction

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 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.

This library uses external libraries that have their own respective licenses:

tplink-smarthome's People

Contributors

igormilavec avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

tplink-smarthome's Issues

How to measure the current electrical current at the outlet?

How to measure the current electrical current at the outlet?

Power on and off works fine.
Public Device1 As New TPLink.SmartHome.PlugWithEnergyMeterClient("192.168.10.114")

Device1.SetOutput(OutputState.On)
Device1.SetOutput(OutputState.Off)

But, prow measurement doesn't work.
Dim a As Decimal
a = Device1.GetConsumption.Current

reports an error: Value cannot be NULL.
Parameter name: value

Thanks.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.