-
Notifications
You must be signed in to change notification settings - Fork 13
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #28 from gilesknap/kasa-merge
Restore kasa support from @lbunge
- Loading branch information
Showing
10 changed files
with
286 additions
and
37 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,83 @@ | ||
.. _kasa: | ||
|
||
TP Link Kasa Smart Plug | ||
======================= | ||
|
||
MaasPower is compatible with TP-Link Kasa Smart Plugs, which provide remote switchable | ||
power sockets that can be used to control power switching on any machine. | ||
|
||
.. image:: ../images/kasa.png | ||
:width: 400 | ||
:alt: TP-Link Kasa Smart Plug | ||
|
||
Setting Up the Kasa Smart Plug | ||
------------------------------ | ||
|
||
To use a Kasa Smart Plug, follow these steps to set it up and integrate it with MaasPower: | ||
|
||
1. **Installation and Registration:** | ||
|
||
- Install the Kasa Smart App on your smartphone. | ||
- Create an account and follow the app instructions to connect your smart plug to your WiFi network. | ||
|
||
2. **Device Control Setup:** | ||
|
||
- Once the device is set up in the Kasa app, you can control it directly via the app. | ||
However, to control it through MaasPower, you will need to interact with it via the python-kasa library. | ||
|
||
3. **Installing python-kasa:** | ||
|
||
- Ensure your system where MaasPower is installed has Python installed. MAASPower will install this | ||
as part of it's dependendencies. | ||
- If you prefer to install this yourself, you can install the python-kasa library using pip: | ||
|
||
.. code-block:: bash | ||
pip install python-kasa | ||
4. **Discovering Your Device:** | ||
|
||
- To discover your Kasa devices and get their IP addresses, you can use the 'discover' command from python-kasa: | ||
|
||
.. code-block:: bash | ||
python -m kasa discover | ||
5. **Configure MaasPower:** | ||
|
||
- Add a new device entry for each of your Kasa Smart Plugs in the MaasPower configuration file. | ||
You need the IP address found in the previous step. | ||
|
||
.. code-block:: yaml | ||
- type: KasaDevice # Device Type, needs to be KasaDevice | ||
name: server01_plug # Friendly name, will be used in MAAS webhook url | ||
ip_address: 192.168.x.xxx # Whatever the ip address is of your smart plug | ||
Testing Your Setup | ||
------------------ | ||
|
||
Once you have configured your Kasa Smart Plug in MaasPower, you can test controlling the device | ||
through a simple command line request. For example: | ||
|
||
.. code-block:: bash | ||
curl --user username:password http://your.server.ip:port/maaspower/office-plug/query | ||
This command should return the current power state of the smart plug, verifying that your setup is correct and operational. | ||
|
||
Note: Replace 'username:password', 'your.server.ip', and 'port' with your actual MaasPower server credentials and address. | ||
|
||
Documentation and Support | ||
------------------------- | ||
|
||
For more information on configuring and troubleshooting TP-Link Kasa devices with python-kasa, refer to the official python-kasa documentation: | ||
https://python-kasa.readthedocs.io/ | ||
|
||
If you encounter issues or have questions regarding the setup with MaasPower, consider visiting the MaasPower GitHub repository or contacting support through the project's channels. | ||
|
||
Known Issues | ||
------------------------- | ||
As of this writing, there are known errors with the implementation of the kasa smartdevice.py package in the python-kasa project. | ||
This does not affect the actual control of the device like turning it on and off as well as the query function. However, the devices | ||
won't auto update their power status when turning it on or off. Simply query the power state after toggling the power to update it. |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.