- Extremely simple API with some DSL goodies
- Requires Java 111 for included HttpClient stuff
- uses async under the covers, so multi-threading is provided out-of-the-box
- Minimal external libraries (
SLF4J
,org.json
)
import crackers.hassk.HAssKClient
import crackers.hassk.Constants.off
import crackers.hassk.Constants.on
private val token = "valid.ha.token"
fun main() {
with(HAssKClient(token, "local name or ip address")) {
val light = light("shelf_lamp")
println(light.state())
val group = light("bedroom_group")
group turn on
Thread.sleep(2000)
group turn off
Thread.sleep(2000)
}
}
This project uses Gradle, so the only thing you need is a compatible JDK1. Additionally, because the project is Kotlin and uses the Kotlin Gradle plugin, a Kotlin installation is also not necessary.
A default build will use the gradle-plugins to publish to the "local" Maven repository.
Documentation is created via the dokka
plugin: Javadocs are created on build (but not published, yet).
1Java 17 is the current build target.