]> git.basschouten.com Git - openhab-addons.git/commit
[windcentrale] Adapt binding to new API (#14770)
authorWouter Born <github@maindrain.net>
Wed, 12 Apr 2023 21:01:36 +0000 (23:01 +0200)
committerGitHub <noreply@github.com>
Wed, 12 Apr 2023 21:01:36 +0000 (23:01 +0200)
commit6772add88cc2f65f0e3cf54dd4fc5b8a318201f6
tree53ca0c139b9e2a54a388dad843cf7635342537e0
parentada1763cf87f85dd58eba802a6576cfd7e48ca8a
[windcentrale] Adapt binding to new API (#14770)

* [windcentrale] Adapt binding to new API

Reworks the binding so it can be used with the new API that also requires authentication.

Also adds the following:

* Account things to provide authentication details
* Implementation for getting and refreshing tokens using AWS Cognito
* Windmill discovery based on the participations in projects
* Properties with additional data for windmills like turbine type, build year, location coordinates
* Adds support for "Het Vliegend Hert" windmill
* Unit tests for JSON (de)serialization

Fixes #13625

Signed-off-by: Wouter Born <github@maindrain.net>
51 files changed:
CODEOWNERS
bundles/org.openhab.binding.windcentrale/README.md
bundles/org.openhab.binding.windcentrale/src/main/java/org/openhab/binding/windcentrale/internal/WindcentraleBindingConstants.java
bundles/org.openhab.binding.windcentrale/src/main/java/org/openhab/binding/windcentrale/internal/WindcentraleDiscoveryService.java [new file with mode: 0644]
bundles/org.openhab.binding.windcentrale/src/main/java/org/openhab/binding/windcentrale/internal/WindcentraleHandlerFactory.java
bundles/org.openhab.binding.windcentrale/src/main/java/org/openhab/binding/windcentrale/internal/api/AuthenticationHelper.java [new file with mode: 0644]
bundles/org.openhab.binding.windcentrale/src/main/java/org/openhab/binding/windcentrale/internal/api/RequestListener.java [new file with mode: 0644]
bundles/org.openhab.binding.windcentrale/src/main/java/org/openhab/binding/windcentrale/internal/api/TokenProvider.java [new file with mode: 0644]
bundles/org.openhab.binding.windcentrale/src/main/java/org/openhab/binding/windcentrale/internal/api/WindcentraleAPI.java [new file with mode: 0644]
bundles/org.openhab.binding.windcentrale/src/main/java/org/openhab/binding/windcentrale/internal/config/AccountConfiguration.java [new file with mode: 0644]
bundles/org.openhab.binding.windcentrale/src/main/java/org/openhab/binding/windcentrale/internal/config/MillConfig.java [deleted file]
bundles/org.openhab.binding.windcentrale/src/main/java/org/openhab/binding/windcentrale/internal/config/WindmillConfiguration.java [new file with mode: 0644]
bundles/org.openhab.binding.windcentrale/src/main/java/org/openhab/binding/windcentrale/internal/dto/AuthenticationResultResponse.java [new file with mode: 0644]
bundles/org.openhab.binding.windcentrale/src/main/java/org/openhab/binding/windcentrale/internal/dto/ChallengeResponse.java [new file with mode: 0644]
bundles/org.openhab.binding.windcentrale/src/main/java/org/openhab/binding/windcentrale/internal/dto/CognitoError.java [new file with mode: 0644]
bundles/org.openhab.binding.windcentrale/src/main/java/org/openhab/binding/windcentrale/internal/dto/CognitoGson.java [new file with mode: 0644]
bundles/org.openhab.binding.windcentrale/src/main/java/org/openhab/binding/windcentrale/internal/dto/InitiateAuthRequest.java [new file with mode: 0644]
bundles/org.openhab.binding.windcentrale/src/main/java/org/openhab/binding/windcentrale/internal/dto/KeyResponse.java [new file with mode: 0644]
bundles/org.openhab.binding.windcentrale/src/main/java/org/openhab/binding/windcentrale/internal/dto/Project.java [new file with mode: 0644]
bundles/org.openhab.binding.windcentrale/src/main/java/org/openhab/binding/windcentrale/internal/dto/RespondToAuthChallengeRequest.java [new file with mode: 0644]
bundles/org.openhab.binding.windcentrale/src/main/java/org/openhab/binding/windcentrale/internal/dto/WindcentraleGson.java [new file with mode: 0644]
bundles/org.openhab.binding.windcentrale/src/main/java/org/openhab/binding/windcentrale/internal/dto/Windmill.java [new file with mode: 0644]
bundles/org.openhab.binding.windcentrale/src/main/java/org/openhab/binding/windcentrale/internal/dto/WindmillStatus.java [new file with mode: 0644]
bundles/org.openhab.binding.windcentrale/src/main/java/org/openhab/binding/windcentrale/internal/exception/FailedGettingDataException.java [new file with mode: 0644]
bundles/org.openhab.binding.windcentrale/src/main/java/org/openhab/binding/windcentrale/internal/exception/InvalidAccessTokenException.java [new file with mode: 0644]
bundles/org.openhab.binding.windcentrale/src/main/java/org/openhab/binding/windcentrale/internal/handler/WindcentraleAccountHandler.java [new file with mode: 0644]
bundles/org.openhab.binding.windcentrale/src/main/java/org/openhab/binding/windcentrale/internal/handler/WindcentraleHandler.java [deleted file]
bundles/org.openhab.binding.windcentrale/src/main/java/org/openhab/binding/windcentrale/internal/handler/WindcentraleWindmillHandler.java [new file with mode: 0644]
bundles/org.openhab.binding.windcentrale/src/main/resources/OH-INF/addon/addon.xml
bundles/org.openhab.binding.windcentrale/src/main/resources/OH-INF/i18n/windcentrale.properties
bundles/org.openhab.binding.windcentrale/src/main/resources/OH-INF/i18n/windcentrale_nl.properties
bundles/org.openhab.binding.windcentrale/src/main/resources/OH-INF/thing/account.xml [new file with mode: 0644]
bundles/org.openhab.binding.windcentrale/src/main/resources/OH-INF/thing/millThing.xml [deleted file]
bundles/org.openhab.binding.windcentrale/src/main/resources/OH-INF/thing/windmill.xml [new file with mode: 0644]
bundles/org.openhab.binding.windcentrale/src/test/java/org/openhab/binding/windcentrale/internal/dto/CognitoGsonTest.java [new file with mode: 0644]
bundles/org.openhab.binding.windcentrale/src/test/java/org/openhab/binding/windcentrale/internal/dto/DataUtil.java [new file with mode: 0644]
bundles/org.openhab.binding.windcentrale/src/test/java/org/openhab/binding/windcentrale/internal/dto/WindcentraleGsonTest.java [new file with mode: 0644]
bundles/org.openhab.binding.windcentrale/src/test/java/org/openhab/binding/windcentrale/internal/dto/WindmillTest.java [new file with mode: 0644]
bundles/org.openhab.binding.windcentrale/src/test/resources/org/openhab/binding/windcentrale/internal/dto/authentication-result-response-challenge.json [new file with mode: 0644]
bundles/org.openhab.binding.windcentrale/src/test/resources/org/openhab/binding/windcentrale/internal/dto/authentication-result-response-refresh.json [new file with mode: 0644]
bundles/org.openhab.binding.windcentrale/src/test/resources/org/openhab/binding/windcentrale/internal/dto/challenge-response-srp.json [new file with mode: 0644]
bundles/org.openhab.binding.windcentrale/src/test/resources/org/openhab/binding/windcentrale/internal/dto/cognito-error-response-invalid-parameter.json [new file with mode: 0644]
bundles/org.openhab.binding.windcentrale/src/test/resources/org/openhab/binding/windcentrale/internal/dto/cognito-error-response-not-authorized.json [new file with mode: 0644]
bundles/org.openhab.binding.windcentrale/src/test/resources/org/openhab/binding/windcentrale/internal/dto/initiate-auth-request-refresh.json [new file with mode: 0644]
bundles/org.openhab.binding.windcentrale/src/test/resources/org/openhab/binding/windcentrale/internal/dto/initiate-auth-request-srp.json [new file with mode: 0644]
bundles/org.openhab.binding.windcentrale/src/test/resources/org/openhab/binding/windcentrale/internal/dto/key-response.json [new file with mode: 0644]
bundles/org.openhab.binding.windcentrale/src/test/resources/org/openhab/binding/windcentrale/internal/dto/live-data-response-empty.json [new file with mode: 0644]
bundles/org.openhab.binding.windcentrale/src/test/resources/org/openhab/binding/windcentrale/internal/dto/live-data-response-multiple.json [new file with mode: 0644]
bundles/org.openhab.binding.windcentrale/src/test/resources/org/openhab/binding/windcentrale/internal/dto/live-data-response-single.json [new file with mode: 0644]
bundles/org.openhab.binding.windcentrale/src/test/resources/org/openhab/binding/windcentrale/internal/dto/projects-response.json [new file with mode: 0644]
bundles/org.openhab.binding.windcentrale/src/test/resources/org/openhab/binding/windcentrale/internal/dto/respond-to-auth-challenge-request.json [new file with mode: 0644]