A Kotlin implementation of HEOS API Spec.
For unknown reason, HEOS decided to go with plain socket which is anything than being modern (despite that many commands do return JSON!)
The goal of this project is to add an gRPC interface to make it easier interacting with HEOS from other services. And of course we need common models, core lib, service and client to make it complete.
JDK8 and Maven.
$ git clone [email protected]:honnix/kheos.git
$ mvn package
This gives you a Docker image as bonus that you can ship directly, or you can use a pre-built image here.
$ java -jar kheos-service/target/kheos-service.jar
Or
docker run -d honnix/kheos-service:<tag>
By default the service listens on 8888 and can be configured by env GRPC_PORT
.
Use KHEOS_HEOS_HOST
to configure where to find your HEOS.
For details and other configurations, refer to application.conf.
Import the maven project to IntelliJ (it works nicer with Kotlin, of course) and start sending PRs!
The place where all protobuf files are stored.
This module contains mostly data classes and utilities.
This module contains core libraries that connect to HEOS, send heartbeat and commands, and discover HEOS speakers.
Test cases are the best place to get a quick idea how to use the lib.
This module exposes gRPC interface to interact with HEOS.