kheos

Expose heos as RESTful interface.

License

License

GroupId

GroupId

io.honnix
ArtifactId

ArtifactId

kheos
Last Version

Last Version

0.0.9
Release Date

Release Date

Type

Type

pom
Description

Description

kheos
Expose heos as RESTful interface.
Project URL

Project URL

https://github.com/honnix/kheos
Source Code Management

Source Code Management

https://github.com/honnix/kheos

Download kheos

Filename Size
kheos-0.0.9.pom 14 KB
Browse

How to add to project

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

Dependencies

compile (2)

Group / Artifact Type Version
org.jetbrains.kotlin : kotlin-stdlib-jdk8 jar 1.2.0
org.slf4j : slf4j-api jar 1.7.25

test (4)

Group / Artifact Type Version
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

  • kheos-common
  • kheos-lib
  • kheos-service
  • kheos-client
  • kheos-report

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