Broadlink IR codes listener and SmartIR json generator.
Project description
Broadlink Listener
Broadlink IR codes listener and SmartIR json generator.
This project will install a broadlink-listener
command line tool that can be used to generate a climate SmartIR
compatible json, starting from an initial structure that defines climate behavior, putting Broadlink IR remote to
listening state, until all IR code combination will being scan.
- Documentation: https://gpongelli.github.io/broadlink-listener
- GitHub: https://github.com/gpongelli/broadlink-listener
- PyPI: https://pypi.org/project/broadlink-listener/
- Free software: MIT
Features
- Discover Broadlink IR remote
- Starting from SmartIR json structure like
{
"supportedController": "Broadlink",
"minTemperature": 16,
"maxTemperature": 31,
"precision": 1,
"operationModes": [
"op_a",
"op_b"
],
"fanModes": [
"fan_a",
"fan_b"
],
"swingModes": [
"swing_a",
"swing_b"
]
}
it helps you listen all the defined IR codes to create a json like
{
"supportedController": "Broadlink",
"minTemperature": 16,
"maxTemperature": 31,
"precision": 1,
"operationModes": [
"op_a",
"op_b"
],
"fanModes": [
"fan_a",
"fan_b"
],
"swingModes": [
"swing_a",
"swing_b"
],
"commands": {
"off": "...",
"op_a": {
"fan_a": {
"swing_a": {
"16": "....",
"31": "...."
},
"swing_b": {
"16": "....",
"31": "...."
}
},
"fan_b": {
"swing_a": {
"16": "....",
"31": "...."
},
"swing_b": {
"16": "....",
"31": "...."
}
}
},
"op_b": {
"fan_a": {
"swing_a": {
"16": "....",
"31": "...."
},
"swing_b": {
"16": "....",
"31": "...."
}
},
"fan_b": {
"swing_a": {
"16": "....",
"31": "...."
},
"swing_b": {
"16": "....",
"31": "...."
}
}
}
}
}
- Mandatory fields into starting json
supportedController
,minTemperature
,maxTemperature
,precision
- Optional fields (at least one must be present or nothing will be listened):
operationModes
,fanModes
,swingModes
- Generated file can be used into SmartIR HomeAssistant component
- It's possible to interrupt with CTRL-C at any moment, a temporary file will be saved
- Temporary files are also saved at the end of each temperature range
- In case of existing temporary file, the already learnt combination will be skipped
Example
Example of cli command:
$ broadlink-listener generate-smart-ir ./real_data/1124.json <DEVICE_TYPE> <IP> <MAC_ADDR> -n dry -n fan_only -s eco_cool
real_data/1124.json
file is this one from SmartIR GitHub repo
in which I've added the missing "swingModes" array, supported by climate but not present on json:
"swingModes": [
"auto",
"high",
"mid_high",
"middle",
"mid_low",
"low",
"swing"
],
<DEVICE_TYPE>
, <IP>
, <MAC_ADDR>
parameter can be obtained running:
$ broadlink-listener discover_ir
Credits
This package was created with Cookiecutter and the gpongelli/cookiecutter-pypackage project template.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file broadlink_listener-1.2.0.tar.gz
.
File metadata
- Download URL: broadlink_listener-1.2.0.tar.gz
- Upload date:
- Size: 19.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | da8e9b10f2820615825531a2518f85a2162b422be22586d6d02d95be97482567 |
|
MD5 | 21c5cf54e8f67c8db04fbf3bd0d91ce4 |
|
BLAKE2b-256 | 38d6d0e76501a21ceee60d029a6211d092c2ea2fec2e0f7f6d76948e492df844 |
File details
Details for the file broadlink_listener-1.2.0-py3-none-any.whl
.
File metadata
- Download URL: broadlink_listener-1.2.0-py3-none-any.whl
- Upload date:
- Size: 13.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f454a2d88747e4491658b24fab261099fa030a8391381b0b92bea72912a9d804 |
|
MD5 | 34f988d65e88aec43aa08e630d42f859 |
|
BLAKE2b-256 | d44b553867e6a265f8baf56e6b4e0a361c4c673a29ebb843155271cdc507d960 |