loft-digital/phikettle

This package is abandoned and no longer maintained. No replacement package was suggested.
There is no license information available for the latest version (1.1.0) of this package.

Maintainers

Package info

github.com/loftdigital/PhiKettle

pkg:composer/loft-digital/phikettle

Statistics

Installs: 16

Dependents: 0

Suggesters: 0

Stars: 3

Open Issues: 0

1.1.0 2015-10-19 16:05 UTC

This package is not auto-updated.

Last update: 2021-02-09 17:13:22 UTC


README

Build Status

PhiKettle is a PHP API which allows you to control your iKettle. The library provides basic functionality for kettle control and response handling. It's built on top of the reactphp library.

A write up of the Kettle protocol: http://www.awe.com/mark/blog/20140223.html

Installation

Using Composer:

composer require loft-digital/phikettle

Kettle IP address discovery

The Kettle can be discovered on your local network using Nmap, default kettle port number and local IP range:

nmap -p 2000 --open 192.168.3.0/24

It can also be discovered with IP scanner script using kettle discovery request: \PhiKettle\Config::D_REQUEST. The Kettle will respond with \PhiKettle\Config::D_RESPONSE message.

Example usage

Basic kettle listener

Example file: basic-listener.php

A Kettle object is created using the kettle's local IP address and default port of 2000. After that, the status request message is sent to a kettle stream and a response from the kettle is subsequently handled in a stream listener.

Run listener:

$ php ./examples/basic-listener.php

Kettle socket server

Example file: socket-server.php

A Socket server is created on a localhost and is listening on port 1336. It accepts 2 commands: boil and off. After a command is run, the kettle action is triggered and response is handled in kettle stream listener.

Run socket server:

$ php ./examples/socket-server.php

Run client:

$ telnet localhost 1336
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

Kettle commands:
- boil
- off

Enter your command and press Enter:

boil
=> Kettle was boiled

off
=> Kettle was turned off

Contributing

Contributions, suggestions and fixes are more than welcome.

General contribution guidelines apply:

  1. Fork the repository
  2. Create a feature/hotfix branch off of master
  3. Run PHPUnit tests ($ ./vendor/bin/phpunit)
  4. Commit and push the branch
  5. Make a pull request
  6. If you're unsure on whether your contribution will be required then please file an issue first and we can discuss it.