Skip to main content

**PYOUTLET**
============

Python CLI & Web switcher for Etekcity power outlets using 433MHz RF
--------------------------------------------------------------------

Python wrapper around rfoutlet (from https://timleland.com/wireless-power-outlets/)
to control **Etekcity power outlets from a Raspberry Pi** using a 433MHz RF emitter module.

It has a simple **CLI** utility and a minimal **flask webapp** with ON/OFF buttons and a config editor.

- Install is as simple as `pip install pyoutlet`

- CLI usage:
`switch off label_switch_5`
`switch on 4`
TURN ON SWITCH "4" -> Sending Code: 4529411. PIN: 0. Pulse Length: 185
`switch --info`
** PYOUTLET JSON config in "/path/to/pyoutlet/codes_outlets.json"
--> * 1 -> ON:4527411, OFF:4527420
* 2 -> ON:4527555, OFF:4527564
* 3 -> ON:4527875, OFF:4527884
* 4 -> ON:4529411, OFF:4529420
* label_switch_5 -> ON:4535555, OFF:4535564

- Outlet CODES are saved (and labeled) in a JSON file, inside `pyoutlet` module, like this:

{
"pulse_length": 185,
"outlets":
[
{
"on": 4527411,
"off": 4527420,
"label": "1"
},
{
"on": 4527555,
"off": 4527564,
"label": "2"
},
{
"on": 4527875,
"off": 4527884,
"label": "3"
},
{
"on": 4529411,
"off": 4529420,
"label": "4"
},
{
"on": 4535555,
"off": 4535564,
"label": "label_switch_5"
}
]
}
- Some screenshots:

<table>
<td colspan="2">
Outlets Control page
</td>
<tr>
<td>![Control Page](https://raw.githubusercontent.com/azogue/pyoutlet/master/docs/control_page.png)</td>
<td>![Control Page](https://raw.githubusercontent.com/azogue/pyoutlet/master/docs/control_page_xs.png)</td>
</tr>
</table>
<br>
<table>
<td colspan="2">
Outlets Configuration editor
</td>
<tr>
<td>![Config Editor - Edit JSON config](https://raw.githubusercontent.com/azogue/pyoutlet/master/docs/edit_page_manual_editor.png)</td>
<td>![Config Editor - View JSON config](https://raw.githubusercontent.com/azogue/pyoutlet/master/docs/edit_page_view.png)</td>
</tr>
<tr>
<td>![Config Editor - Upload JSON config](https://raw.githubusercontent.com/azogue/pyoutlet/master/docs/edit_page_upload.png)</td>
<td>![Config Editor - Homebridge config](https://raw.githubusercontent.com/azogue/pyoutlet/master/docs/edit_page_homebridge_conf.png)</td>
</tr>
</table>

Metadata

Release files for pyoutlet 0.0.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyoutlet 0.0.8
File Size Uploaded
pyoutlet-0.0.8.tar.gz 45.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyoutlet 0.0.8
File Interpreter ABI Platform
pyoutlet-0.0.8-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 95.6 kB

Release files / pyoutlet-0.0.8.tar.gz

Download URL pyoutlet-0.0.8.tar.gz
Size 45.5 kB
Tags Source
SHA-256 checksum
How to use checksums
4408a4090d07fe9ddda0fb4f504bce23214579d36c0783aba311b88e78120293
BLAKE2b-256 checksum
How to use checksums
d7a2df452c2c7417c38d6de0493deca6d99d81b01f36a5b2e2c1f9aebc0105b1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / pyoutlet-0.0.8-py2.py3-none-any.whl

Download URL pyoutlet-0.0.8-py2.py3-none-any.whl
Size 50.1 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
a9c7432398fda52122ef445666bffe43fdbc2883633c1b1c80bf13274c9acac8
BLAKE2b-256 checksum
How to use checksums
daab7de890c03a1d8b35ba6bdaf43c2604e6d6746923e23e51329d64071c1ed8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.0.8 This release

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page