grohe-ondus-api-java

A library which can communicate to the Grohe ONDUS API interface, e.g. to request appliance data or to send commands.

License

License

MIT
GroupId

GroupId

io.github.floriansw
ArtifactId

ArtifactId

ondus-api
Last Version

Last Version

2.0.0
Release Date

Release Date

Type

Type

jar
Description

Description

grohe-ondus-api-java
A library which can communicate to the Grohe ONDUS API interface, e.g. to request appliance data or to send commands.
Project URL

Project URL

https://github.com/FlorianSW/grohe-ondus-api-java
Source Code Management

Source Code Management

https://github.com/FlorianSW/grohe-ondus-api-java

Download ondus-api

How to add to project

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

Dependencies

compile (4)

Group / Artifact Type Version
org.apache.commons : commons-text jar 1.6
com.fasterxml.jackson.core : jackson-core jar 2.9.9
com.fasterxml.jackson.core : jackson-annotations jar 2.9.9
com.fasterxml.jackson.core : jackson-databind jar 2.9.9

test (2)

Group / Artifact Type Version
junit : junit jar 4.12
org.mockito : mockito-core jar 2.28.2

Project Modules

There are no modules declared in this project.

Build Status Download

grohe-ondus-api-java

This is a library written in Java which can communicate to the Grohe ONDUS API interface, e.g. to request appliance data or to send commands.

API reference

The API used by the Grohe ONDUS App is not publicly documented or released. The implementation of this library is basically based on information gathered while reverse engineering the Grohe ONDUS Anroid App. This means, that the use of this API with this library may not be permitted by Grohe and that this library may not work in the future anymore (when Grohe changes the API interface without any backwards compatibility). Once Grohe releases a public API, this library may not be needed anymore.

Installation

The library is released to Maven Central (https://repo1.maven.org/maven2/io/github/floriansw/ondus-api/)

Maven

<dependency>
  <groupId>io.github.floriansw</groupId>
  <artifactId>ondus-api</artifactId>
  <version>2.0.0</version>
  <type>pom</type>
</dependency>

Gradle

compile 'io.github.floriansw:ondus-api:2.0.0'

Java API

The main entry point of this library is the OndusService class, which provides the public API of this library. All other classes, except the models (which represent the data returned by the Grohe API) should be considered as internal API and may therefore not be used in your code.

The first thing you need to do is to login with your Grohe username and password (logging in with a JWT is being implemented):

class Example {
    public static void main(String[] args) {
        OndusService.loginWebform("email@example.com", "YourStrongPassword");
    }
}

Which returns an instance of OndusService. Afterwards you can request information from the API, such as the list of locations or rooms:

class Example {
    public static void main(String[] args) {
        List<BaseAppliance> appliances = ondusService.appliances();
        
        System.out.println(appliances.get(0).getName());
    }
}

Versions

Version
2.0.0
1.0.1