https://github.com/hachibeedi/irkit
IRKit api client kit and command line interface
https://github.com/hachibeedi/irkit
cli-command irkit python python-3
Last synced: 2 months ago
JSON representation
IRKit api client kit and command line interface
- Host: GitHub
- URL: https://github.com/hachibeedi/irkit
- Owner: hachibeeDI
- Created: 2014-07-26T07:30:25.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2023-05-22T21:34:26.000Z (about 2 years ago)
- Last Synced: 2025-04-11T01:42:11.388Z (3 months ago)
- Topics: cli-command, irkit, python, python-3
- Language: Python
- Homepage:
- Size: 44.9 KB
- Stars: 4
- Watchers: 3
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# IRKit api interface for python
## What is IRKit?
That is kind of a learning remote control system which has HTTP API interface.
Details is http://getirkit.com/
## install
```bash
$ pip install irkit
```## Command Usage
```
usage: irkit [-h] {local,internet} ...IRKit CLI Client for Python. v0.0.1 See also http://getirkit.com/#IRKit-
Device-APIpositional arguments:
{local,internet} sub-command help
local api for locals.
internet api for internets.optional arguments:
-h, --help show this help message and exit```
Local API:
```
usage: irkit local [-h] [--host] [-k] [-r] [--save signal-name] [-l]
[-s signal-info] [-v]optional arguments:
-h, --help show this help message and exit
--host show irkit host
-k, --keys get a client token.
-r, --retrieve retrieve a signal
--save signal-name you should appoint a name. save retrieved signal to
~/.config/irkit-py/signal.json with name
-l, --list list of stored signals
-s signal-info, --send signal-info
send a signal. that excepted as json response or
raw_data or key name of store
-v, --verbose put verbose logs
```Internet API:
```
usage: irkit internet [-h] [-r] [-s signal-info] [--save signal-name]
[-c CLIENT_KEY] [-d DEVICE_ID] [-v]optional arguments:
-h, --help show this help message and exit
-r, --retrieve retrieve a signal
-s signal-info, --send signal-info
send a signal. that excepted as json response or
raw_data or key name of store
--save signal-name you should appoint a name. save retrieved signal to
~/.config/irkit-py/signal.json with name
-c CLIENT_KEY, --client-key CLIENT_KEY
client key
-d DEVICE_ID, --device-id DEVICE_ID
device id
-v, --verbose put verbose logs
```### Example
copy and paste style
```bash
## you must send signal to IRKit before
$ irkit local --retrieve
{"freq": 38, "data": [... ...], "format": "raw"}## copy and paste the json
$ irkit local --send '{"freq": 38, "data": [... ...], "format": "raw"}'
```store with key
```bash
$ irkit local --retrieve --save toggle-room-light
{"freq": 38, "data": [... ...], "format": "raw"}$ cat ~/.config/irkit-py/signal.json
{"freq": 38, "data": [... ...], "format": "raw"}$ irkit local --send movie-room-toggle
```#### Internet API
Then you want to send internet API, you need to appoint device_id or client_key or both.
```bash
## retrieve needs client key
$ irkit internet --retrieve --client-key YOUR_CLIENT_KEY## send needs client key and device id
$ irkit internet --send '{"freq": 38, "data": [... ...], "format": "raw"}' \
-c 0A9B3FFB240444A2BA70A9835BFE4F89 \
--device-id 6B08F5EA443E4983864908B4AFF897AA
```This tool haven't follow client-key and device-key smart integration (it can only get {*see --key option*}).
It'll be implemented next version (and I welcome to your contlibute!).## as Library
You can also use as api.
Document is now writing... but `main.py` will help you to understand API interfaces.## Support Versions
- 2.7
- 3.6 (might unstable)
## Bug report or request or something
GitHub issue is opend ;)
https://github.com/hachibeeDI/IRKit/issues