Control TP-Link and Wemo "smart" devices.
kakaPika is a stand-alone binary that can control/query these devices.
GNU General Public License v3.0
Cuckoos are an interesting species: They are brood parasites.
A number of popular algorithms are named after them:
- Cuckoo Hashing - where the cuckoo chick pushes the other eggs or young out of the nest when it hatches.
- Cuckoo Search - if a host bird discovers the eggs are not their own, they will either throw these alien eggs away or simply abandon its nest and build a new nest elsewhere.
Here's a verse in sanskrit, oldest living language on this interesting bird:
काकः कृष्णः पिकः कृष्णः को भेदः पिककाकयोः । वसन्तसमये प्राप्ते काकः काकः पिकः पिकः ॥ kākaḥ kṛṣṇaḥ pikaḥ kṛṣṇaḥ ko bhedaḥ pikakākayoḥ | vasantasamaye prāpte kākaḥ kākaḥ pikaḥ pikaḥ || കാകഃ കൃഷ്ണഃ, പികഃ കൃഷ്ണഃ, കോ ഭേദഃ പികകാകയോഃ? വസന്തകാലേ സമ്പ്രാപ്തേ കാകഃ കാകഃ, പികഃ പികഃ!
In the wild, Cuckoos lay their eggs in Crow's nests. When chicks hatch, they all look and act the same.
How can one tell them a part?
Well, in the Spring, crow begin to caw and the cuckoos of the brood, cuckoo!
As the market is flooded with types and brands of "smarts," I found myself having to operate TP-Link's Kasa and Belkin's Wemo devices. They both come with their own "SmartPhone" app to control these devices. This was not acceptable and I wanted a single point of control for these devices.
I essentially don't care about their brand. I should be able to control them as I please.
I wrote kakaPika to that effect. I am hoping this would be useful to others who have both these devices.
From the Releases page, download the pre-built binary, suitable to your operating system, to a folder of your choice.
Optionally, if you want to compile your own binary, you would need to install Go Programming Language.
Clone this repository and build as
$ go build
How to operate and get status of your device:
Use the -h for help:
$ ./kakaPika -h Usage: -h --help print this usage and exit -d --device smartPlug hostname or address -c --cmd cmd to run: [on,off,stat] -v --version print version information and exit
Use stat argument to find the current status of your device:
$ ./kakaPika -d wemo_laundry -c stat device: wemo_laundry, cmd: stat stat: off .. later.. $ ./kakaPika -d wemo_laundry -c stat device: wemo_laundry, cmd: stat stat: on
Use on and off directives to control your device:
$ ./kakaPika -d wemo_laundry -c off device: wemo_laundry, cmd: off off: off
and,
$ ./kakaPika -d wemo_laundry -c on device: wemo_laundry, cmd: on on: on
You are very welcome to contribute. If you have a new feature in mind, open an issue on github describing it.