kheos service

Expose heos as RESTful interface.

License

License

GroupId

GroupId

io.honnix
ArtifactId

ArtifactId

kheos-service
Last Version

Last Version

0.0.9
Release Date

Release Date

Type

Type

jar
Description

Description

kheos service
Expose heos as RESTful interface.

Download kheos-service

How to add to project

<!-- https://jarcasting.com/artifacts/io.honnix/kheos-service/ -->
<dependency>
    <groupId>io.honnix</groupId>
    <artifactId>kheos-service</artifactId>
    <version>0.0.9</version>
</dependency>
// https://jarcasting.com/artifacts/io.honnix/kheos-service/
implementation 'io.honnix:kheos-service:0.0.9'
// https://jarcasting.com/artifacts/io.honnix/kheos-service/
implementation ("io.honnix:kheos-service:0.0.9")
'io.honnix:kheos-service:jar:0.0.9'
<dependency org="io.honnix" name="kheos-service" rev="0.0.9">
  <artifact name="kheos-service" type="jar" />
</dependency>
@Grapes(
@Grab(group='io.honnix', module='kheos-service', version='0.0.9')
)
libraryDependencies += "io.honnix" % "kheos-service" % "0.0.9"
[io.honnix/kheos-service "0.0.9"]

Dependencies

compile (7)

Group / Artifact Type Version
io.honnix : kheos-lib jar 0.0.9
com.spotify : apollo-http-service jar
com.spotify : apollo-entity jar
io.javaslang : javaslang jar
com.squareup.okio : okio jar
org.jetbrains.kotlin : kotlin-stdlib-jdk8 jar 1.2.0
org.slf4j : slf4j-api jar 1.7.25

test (6)

Group / Artifact Type Version
com.spotify : apollo-test jar
org.hamcrest : hamcrest-core jar 1.3
org.slf4j : slf4j-nop jar 1.7.25
org.mockito : mockito-core jar 2.11.0
io.kotlintest : kotlintest jar 2.0.7
junit : junit jar 4.12

Project Modules

There are no modules declared in this project.

kheos

Codacy Badge CircleCI Coverage Status Maven Central License

A Kotlin implementation of HEOS API Spec.

Why

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.

Usage

Prerequisite

JDK8 and Maven.

To build

$ 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.

To start the service:

$ 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.

To start hacking

Import the maven project to IntelliJ (it works nicer with Kotlin, of course) and start sending PRs!

kheos-proto

The place where all protobuf files are stored.

kheos-common

This module contains mostly data classes and utilities.

kheos-lib

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.

kheos-service

This module exposes gRPC interface to interact with HEOS.

Versions

Version
0.0.9
0.0.8
0.0.7
0.0.6
0.0.5
0.0.4
0.0.3