Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[salus] Initial contribution #16065

Merged
merged 196 commits into from
May 26, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
196 commits
Select commit Hold shift + click to select a range
d647d5a
Init salus binding
magx2 Dec 4, 2023
f6e692d
Implement rest connection to Salus servers
magx2 Dec 6, 2023
2394dba
Rename `salusbinding` to `salus`
magx2 Dec 7, 2023
7024bf9
Basic functionality works
magx2 Dec 8, 2023
92eed77
Send commands to Salus Cloud
magx2 Dec 9, 2023
58888e8
Introduce thing for IT600
magx2 Dec 9, 2023
66763d5
Rewrite getting data from salus cloud
magx2 Dec 11, 2023
2ce194b
Small refactor of parsing JSONs from/to server
magx2 Dec 11, 2023
022f273
Tests for GsonMapper
magx2 Dec 11, 2023
3c3515e
refactor GsonMapper.java
magx2 Dec 11, 2023
1bd895d
refactor SalusApi.java
magx2 Dec 11, 2023
14ba173
Tests for SalusApi
magx2 Dec 11, 2023
b33a2c3
Tests for CloudDiscovery
magx2 Dec 11, 2023
f07a2ab
Tests for Device
magx2 Dec 11, 2023
ed26c84
more config when initilizng It600
magx2 Dec 11, 2023
bbf075e
Remove bak file
magx2 Dec 15, 2023
915a0ef
Log salus binding in DEBUG for tests
magx2 Dec 15, 2023
1615d9b
Fill README.md
magx2 Dec 15, 2023
e2e4432
format
magx2 Dec 15, 2023
61fe6d2
Fix missing headers and other bugs
magx2 Dec 15, 2023
dd1ccad
Fix build
magx2 Dec 15, 2023
e9b393b
Add better descriptions
magx2 Dec 18, 2023
016f291
Proper category for temp channels
magx2 Dec 18, 2023
7e7b629
Add translation
magx2 Dec 18, 2023
0515b74
Support `double` and `float` when setting value
magx2 Dec 20, 2023
7cb1e00
Remove not needed check
magx2 Dec 20, 2023
9b6c142
Simplify condition
magx2 Dec 21, 2023
377e006
`singletonMap` -> `Map.of`
magx2 Dec 22, 2023
1f69de4
`replaceAll` -> `replace`
magx2 Dec 22, 2023
77c8d59
`replaceAll` -> `replace`
magx2 Dec 22, 2023
a75e631
Use `isEmpty`
magx2 Dec 22, 2023
6f2c872
`replaceAll` -> `replace`
magx2 Dec 22, 2023
6d2f180
Yoda style of string comparation
magx2 Dec 22, 2023
c8745f2
Yoda style of string comparation
magx2 Dec 22, 2023
79de00e
Remove not used import
magx2 Dec 22, 2023
e43b873
if with `{}`
magx2 Dec 22, 2023
582c6b2
Make code easier to read
magx2 Dec 21, 2023
e4b63c9
Invelidate property cache for DSN when cannot update value for property
magx2 Dec 21, 2023
bbf0c5e
Invelidate property cache for DSN after setting value
magx2 Dec 21, 2023
50f5d27
Proper to string for a list
magx2 Dec 21, 2023
f19277c
Do not update other channels after changes
magx2 Dec 21, 2023
bc581b1
Clean after PR remarks
magx2 Dec 22, 2023
fd4045d
Header line doesn't match pattern ^ \*$
magx2 Dec 22, 2023
17d87af
Using the '.*' form of import should be avoided - java.util.*.
magx2 Dec 22, 2023
bfe4396
Classes/Interfaces/Enums should be annotated with @NonNullByDefault
magx2 Dec 22, 2023
24abc16
'if' construct must use '{}'s.
magx2 Dec 22, 2023
65fff63
Classes/Interfaces/Enums should be annotated with @NonNullByDefault
magx2 Dec 22, 2023
206f231
'if' construct must use '{}'s.
magx2 Dec 22, 2023
d06f069
Classes/Interfaces/Enums should be annotated with @NonNullByDefault
magx2 Dec 22, 2023
d1125c9
Test names must match pattern '^[a-z][a-zA-Z0-9]*$'.
magx2 Dec 22, 2023
2068aa9
Using the '.*' form of import should be avoided - java.util.*.
magx2 Dec 22, 2023
5cce12f
Classes/Interfaces/Enums should be annotated with @NonNullByDefault
magx2 Dec 22, 2023
2baa667
Name 'logger' must match pattern '^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$'.
magx2 Dec 22, 2023
df724ee
Classes/Interfaces/Enums should be annotated with @NonNullByDefault
magx2 Dec 22, 2023
1bf56c5
Test names must match pattern '^[a-z][a-zA-Z0-9]*$'.
magx2 Dec 22, 2023
5bc56dc
Classes/Interfaces/Enums should be annotated with @NonNullByDefault
magx2 Dec 22, 2023
3931a7b
Avoid unused private methods such as 'buildTimestampParam()'.
magx2 Dec 22, 2023
6fff46a
Classes/Interfaces/Enums should be annotated with @NonNullByDefault
magx2 Dec 22, 2023
8a395bf
Avoid unused local variables such as 'response'.
magx2 Dec 22, 2023
c00ed69
Test names must match pattern '^[a-z][a-zA-Z0-9]*$'.
magx2 Dec 22, 2023
52c4894
Spotless
magx2 Dec 22, 2023
950b546
Fix problems with nulls
magx2 Dec 22, 2023
3098630
Header line doesn't match pattern ^ \*$
magx2 Dec 22, 2023
9d81416
Classes/Interfaces/Enums should be annotated with @NonNullByDefault
magx2 Dec 22, 2023
647aa73
Using the '.*' form of import should be avoided - org.openhab.binding…
magx2 Dec 22, 2023
ce8194f
Using the '.*' form of import should be avoided
magx2 Dec 22, 2023
c247958
Using the '.*' form of import should be avoided
magx2 Dec 22, 2023
5a607e6
Fix null problems
magx2 Dec 22, 2023
0e53804
remove * imports
magx2 Dec 22, 2023
89d5173
proper test names
magx2 Dec 22, 2023
2c305f5
remove unsued var
magx2 Dec 22, 2023
25c0869
Use proper parent
magx2 Dec 22, 2023
67e718d
Fix check
magx2 Dec 22, 2023
e884f16
Remove apache commons
magx2 Dec 23, 2023
96a7c0b
Remove apache commons
magx2 Dec 23, 2023
c27173c
Remove apache commons
magx2 Dec 23, 2023
a9f51d7
Remove apache commons
magx2 Dec 23, 2023
6dcba3a
Remove apache commons
magx2 Dec 23, 2023
228efb8
Remove apache commons
magx2 Dec 23, 2023
65ffb9d
Remove apache commons
magx2 Dec 23, 2023
a7a94b5
Check if headers are not null
magx2 Dec 23, 2023
7885ede
Remove apache pair
magx2 Dec 23, 2023
8f7e53c
Fixing null problems
magx2 Dec 23, 2023
62d5408
Add `connection` tag
magx2 Dec 23, 2023
1a08f71
Remove wrong annotation
magx2 Dec 23, 2023
44bc387
Do not change back value of heat point after set
magx2 Dec 24, 2023
84890bc
Add the code owner for salus
magx2 Jan 1, 2024
e774473
`Copyright (c) 2010-2023 Contributors to the openHAB project` -> `Cop…
magx2 Jan 1, 2024
8cc27dd
remove `NonNullByDefault`
magx2 Jan 2, 2024
59d138c
warn logging
magx2 Jan 2, 2024
81930af
remove logging
magx2 Jan 2, 2024
6d0d7f3
remove logging
magx2 Jan 2, 2024
5ecb8c5
remove logging
magx2 Jan 2, 2024
945966a
remove require non null
magx2 Jan 2, 2024
61fea7f
Remove bugs section
magx2 Jan 2, 2024
b7bb4b9
add units in docs
magx2 Jan 2, 2024
5b0848e
rename x var
magx2 Jan 2, 2024
8f502c0
rename f var
magx2 Jan 2, 2024
5002cb9
Add doc for the CloudApi
magx2 Jan 2, 2024
56ae78d
Format readme
magx2 Jan 2, 2024
2861f53
Add defaults
magx2 Jan 2, 2024
e737421
Use `CloudBridgeConfig` to make configuration simpler
magx2 Jan 2, 2024
ab5e7bf
add deps to NOTICE file
magx2 Jan 2, 2024
651cd9f
Add missing `@NonNullByDefault({})`
magx2 Jan 2, 2024
fb7650a
Add missing header
magx2 Jan 2, 2024
49514e6
Remove logs
magx2 Jan 2, 2024
710dcc1
Add java doc
magx2 Jan 2, 2024
a98a12e
Set compile scope for deps
magx2 Jan 2, 2024
a5d37b3
Password needs to be string...
magx2 Jan 2, 2024
749eec4
Simpler gettnig name
magx2 Jan 5, 2024
6af0be7
check is blank for username
magx2 Jan 5, 2024
476168b
lower logging
magx2 Jan 5, 2024
4fb7a6e
lower logging
magx2 Jan 5, 2024
0c8037c
Set default values
magx2 Jan 5, 2024
8172f96
Use `instanceof` with binding to variable
magx2 Jan 5, 2024
2f981bc
remove `requireNonNull`
magx2 Jan 5, 2024
a7863c0
add `representationProperty` to CloudDiscovery
magx2 Jan 5, 2024
f168f5f
Remove excessive logging
magx2 Jan 5, 2024
d4c8a81
Remove not used branch
magx2 Jan 5, 2024
c6ba65c
debug log
magx2 Jan 6, 2024
a640182
lower logging
magx2 Jan 6, 2024
74924e7
format
magx2 Jan 6, 2024
f401b09
lower logging
magx2 Jan 6, 2024
e306062
lower logging
magx2 Jan 6, 2024
dd0da32
check for password
magx2 Jan 6, 2024
6a368d9
check for url
magx2 Jan 6, 2024
56140fe
lo
magx2 Jan 6, 2024
19bbad9
lower logging
magx2 Jan 6, 2024
11b46d1
Remove logging
magx2 Jan 6, 2024
f6db4b7
Remove dulpicated info when password or username is missing
magx2 Jan 6, 2024
9f3183a
Fix typo
magx2 Jan 6, 2024
c987a1d
Format
magx2 Jan 6, 2024
44efe20
Add stack trace to error when parsing body
magx2 Jan 11, 2024
9bb61cc
Add some try-catch to prevent killing refresh thread
magx2 Jan 11, 2024
1cf5a54
Proper check if password is valid
magx2 Jan 11, 2024
b46a0f5
Remove bad status update
magx2 Jan 11, 2024
3a2b4a6
Set req timeout and idle timeout
magx2 Jan 12, 2024
47e4948
simplify config check
magx2 Jan 20, 2024
10677f9
check connection to cloud in different thread
magx2 Jan 20, 2024
b3b99bf
format
magx2 Jan 20, 2024
896e8fd
remove paragraphs
magx2 Jan 20, 2024
794b418
lower logging
magx2 Feb 18, 2024
55390e9
Update bundles/org.openhab.binding.salus/src/main/java/org/openhab/bi…
magx2 Feb 18, 2024
3b41791
simplify code
magx2 Feb 18, 2024
8f9fc2a
Remove try catch in hanlders
magx2 Feb 18, 2024
e8e9cb4
Remove try-catch from handling command
magx2 Feb 18, 2024
da357b0
Better handling of check is bridge can connect with cloud
magx2 Feb 18, 2024
4cf9ea8
remove hasUsername and hasPassword
magx2 Feb 18, 2024
e9b4c03
spotless
magx2 Feb 18, 2024
65bdedd
Fix header
magx2 Feb 18, 2024
c59cd2e
remove gitignore
magx2 Feb 18, 2024
a5dbbdf
remove var
magx2 Feb 18, 2024
2ce5ca3
Remove HttpException.java
magx2 Feb 25, 2024
4a9ed0e
Support celcius
magx2 Feb 25, 2024
dc17288
i8n
magx2 Feb 25, 2024
eaf2502
Add retrying http client
magx2 Feb 25, 2024
935a31f
Support exceptions when connecting to Salus Cloud
magx2 Feb 26, 2024
cadec27
Fix build
magx2 Mar 17, 2024
eb4df27
remove log
magx2 Apr 2, 2024
ccf58a9
times->retries
magx2 Apr 2, 2024
a1aceb5
lower log
magx2 Apr 2, 2024
d6ac13c
times->retries
magx2 Apr 2, 2024
c7caaf5
lower logging
magx2 Apr 2, 2024
271cac4
one liner
magx2 Apr 2, 2024
ea3a7ce
Proper handling of refreshing tokens
magx2 Apr 2, 2024
ebf3e57
`expiredToken` -> `isTokenExpired`
magx2 Apr 2, 2024
3dbbeb0
remove dead code
magx2 Apr 2, 2024
88bec71
different log text
magx2 Apr 2, 2024
6519635
remove dead code
magx2 Apr 2, 2024
0f35d2e
rename
magx2 Apr 2, 2024
836a80b
this is to account that there is a delay between server setting `expi…
magx2 Apr 2, 2024
84185b9
Do NOT set state to online to prevent it to flip from online to offline
magx2 Apr 2, 2024
bd8a905
Add java docs
magx2 Apr 2, 2024
eb6d0ed
rename
magx2 Apr 2, 2024
f1dcfc8
Proper setting online
magx2 Apr 2, 2024
56fc3d6
Add `maxHttpRetries` to salus-bridge.xml
magx2 Apr 2, 2024
32f9bca
Throw errors from API
magx2 Apr 24, 2024
b418dfc
Bump mockito core
magx2 Apr 24, 2024
1a013b9
Bump assertj core
magx2 Apr 24, 2024
18f3292
retries->Retries
magx2 May 8, 2024
12a42bd
`requireNonNull` on SalusApi
magx2 May 8, 2024
5e53372
Catch `RuntimeException` instead of `Exception`
magx2 May 8, 2024
3120af7
Set device to offline if refresh was not sucessfull
magx2 May 8, 2024
fe5b231
Set bridge offline if exception happened while refresh
magx2 May 8, 2024
59fb901
Rename JettyHttpClient to HttpClient
magx2 May 8, 2024
3bf54cd
i18n:generate-default-translations
magx2 May 8, 2024
016b0a0
Salus API URL
magx2 May 9, 2024
843e1ec
Introduce SalusApiException
magx2 May 11, 2024
53e1c1b
Catch ex when doing `findDeviceProperties`
magx2 May 11, 2024
6bf29cb
Remove try catches
magx2 May 11, 2024
28981e8
Rework exceptions
magx2 May 11, 2024
f43ce7e
Refresh state of the bridge in `refreshCloudDevices`
magx2 May 12, 2024
65702cd
Update bundles/org.openhab.binding.salus/src/main/java/org/openhab/bi…
magx2 May 22, 2024
eaed898
Update bundles/org.openhab.binding.salus/src/main/resources/OH-INF/i1…
magx2 May 22, 2024
cf922bf
Throw SalusException in tests
magx2 May 22, 2024
c588acd
Names/types of cahnnels
magx2 May 26, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -309,6 +309,7 @@
/bundles/org.openhab.binding.russound/ @openhab/add-ons-maintainers
/bundles/org.openhab.binding.sagercaster/ @clinique
/bundles/org.openhab.binding.saicismart/ @tisoft @dougculnane
/bundles/org.openhab.binding.salus/ @magx2
/bundles/org.openhab.binding.samsungtv/ @paulianttila
/bundles/org.openhab.binding.satel/ @druciak
/bundles/org.openhab.binding.semsportal/ @itb3
Expand Down
5 changes: 5 additions & 0 deletions bom/openhab-addons/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1536,6 +1536,11 @@
<artifactId>org.openhab.binding.saicismart</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.salus</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.samsungtv</artifactId>
Expand Down
30 changes: 30 additions & 0 deletions bundles/org.openhab.binding.salus/NOTICE
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
This content is produced and maintained by the openHAB project.

* Project home: https://www.openhab.org

== Declared Project Licenses

This program and the accompanying materials are made available under the terms
of the Eclipse Public License 2.0 which is available at
https://www.eclipse.org/legal/epl-2.0/.

== Source Code

https://github.com/openhab/openhab-addons

== Third-party Content

caffeine
* License: Apache License 2.0
* Project: https://github.com/ben-manes/caffeine
* Source: https://github.com/ben-manes/caffeine

error_prone_annotations
* License: Apache License 2.0
* Project: https://github.com/google/error-prone
* Source: https://github.com/google/error-prone

checker-qual
* License: GNU General Public License (GPL), version 2, with the classpath exception (https://checkerframework.org/manual/#license)
* Project: https://checkerframework.org/
* Source: https://github.com/typetools/checker-framework
Loading