An open API service indexing awesome lists of open source software.

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

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

positional 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