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

[electroluxair] Initial contribution #11116

Merged
merged 6 commits into from
Jan 9, 2022

Conversation

jannegpriv
Copy link
Contributor

Signed-off-by: Jan Gustafsson jannegpriv@gmail.com

Initial contribution of the electroluxair openHAB binding.

The binding uses the Electrolux Delta REST API and the binding implements support for the Electrolux Pure A9 Air Purifier and solves #10246.

In the community thread you can find a link to a built binding jar-file.

@jannegpriv jannegpriv requested a review from a team as a code owner August 15, 2021 14:35
@jannegpriv
Copy link
Contributor Author

@fwolter I've created a new PR and I would like to have it reviewed :-)

@hmerk hmerk added the new binding If someone has started to work on a binding. For a new binding PR. label Aug 18, 2021
Copy link
Member

@fwolter fwolter left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You need to add your binding to the pom.xml in the root directory and to bom\openhab-addons\pom.xml. Then, you can check the static code analysis output after running mvn clean install.

Please add yourself to the CODEOWNERS file.

Comment on lines 7 to 9
<p align="center">
<img src="doc/electrolux_pure_a9.webp" alt="Electrolux Pure A9" width="200px"/>
</p>
Copy link
Member

@fwolter fwolter Sep 9, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Try to stick to markdown, even if the image is not centered.

Suggested change
<p align="center">
<img src="doc/electrolux_pure_a9.webp" alt="Electrolux Pure A9" width="200px"/>
</p>
![Electrolux Pure A9](electrolux_pure_a9.webp)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed!

Comment on lines 11 to 14
## Supported Things

This binding supports the following thing types:

- Bridge
- Electrolux Pure A9
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You could add the Thing Type UIDs needed for textual configuration.

Comment on lines 23 to 25
## Binding Configuration

You will have to configure the bridge with username and password, these must be the same credentials as used when logging into your Electrolux Wellbeing app.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This chapter is inteded for the binding global configuration. As your binding doesn't have this, this chapter could be removed.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Chapter removed!

Comment on lines 30 to 36
#### Bridge

* `username` - The username used to connect to the Electrolux Wellbeing app

* `password` - The password used to connect to the Electrolux Wellbeing app

* `refresh` - Specifies the refresh interval in second
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To be consistent with the other bindings, you could add a table with the type (Number, Text), the default value if any and if the parameter is required.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed!

Comment on lines 38 to 40
If you define the bridge in a things-file the bridge type id is defined as `bridge`, e.g.:

`Bridge electroluxair:bridge:myElectroluxAirBridge`
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This could be removed if you mention the Thing Type UID above and by the example section below.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed!

}

private void update(@Nullable ElectroluxPureA9DTO dto) {
logger.debug("update: {}", dto);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See above. Remove. Please check all.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed!

Comment on lines 215 to 220
properties.put(PROPERTY_BRAND, dto.getApplicancesInfo().brand);
properties.put(PROPERTY_COLOUR, dto.getApplicancesInfo().colour);
properties.put(PROPERTY_DEVICE, dto.getApplicancesInfo().device);
properties.put(PROPERTY_MODEL, dto.getApplicancesInfo().model);
properties.put(PROPERTY_SERIAL_NUMBER, dto.getApplicancesInfo().serialNumber);
properties.put(PROPERTY_FW_VERSION, dto.getTwin().getProperties().getReported().frmVerNIU);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are predefined properties you could use.

Suggested change
properties.put(PROPERTY_BRAND, dto.getApplicancesInfo().brand);
properties.put(PROPERTY_COLOUR, dto.getApplicancesInfo().colour);
properties.put(PROPERTY_DEVICE, dto.getApplicancesInfo().device);
properties.put(PROPERTY_MODEL, dto.getApplicancesInfo().model);
properties.put(PROPERTY_SERIAL_NUMBER, dto.getApplicancesInfo().serialNumber);
properties.put(PROPERTY_FW_VERSION, dto.getTwin().getProperties().getReported().frmVerNIU);
properties.put(Thing.PROPERTY_VENDOR, dto.getApplicancesInfo().brand);
properties.put(PROPERTY_COLOUR, dto.getApplicancesInfo().colour);
properties.put(PROPERTY_DEVICE, dto.getApplicancesInfo().device);
properties.put(Thing.PROPERTY_MODEL_ID, dto.getApplicancesInfo().model);
properties.put(Thing.PROPERTY_SERIAL_NUMBER, dto.getApplicancesInfo().serialNumber);
properties.put(Thing.PROPERTY_FIRMWARE_VERSION,
dto.getTwin().getProperties().getReported().frmVerNIU);

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed!

} else if (THING_TYPE_BRIDGE.equals(thingTypeUID)) {
return new ElectroluxAirBridgeHandler((Bridge) thing, httpClient, gson);
}
logger.warn("ThingHandler not found for {}", thing.getThingTypeUID());
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is already logged by the framework.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed!

@@ -0,0 +1,17 @@
# FIXME: please substitute the xx_XX with a proper locale, ie. de_DE
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can this file be removed?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I removed it.

</bridge-type>

<thing-type id="electroluxpurea9">
<label>ElectroluxAir Pure A9 Thing</label>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Labels are expected to be as short as possible. Guideline is 2-3 words with max 20-25 chars. See https://www.openhab.org/docs/developer/bindings/thing-xml.html#formatting-labels-and-descriptions

Suggested change
<label>ElectroluxAir Pure A9 Thing</label>
<label>ElectroluxAir Pure A9</label>

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed!

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@fwolter What is the best way to fix the conflicts? Rebase from main and then force push? Or should I do a fetch/merge and then normal push?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can do a rebase against main/upstream, resolve the conflicts locally and than do a force-push.

@fwolter
Copy link
Member

fwolter commented Oct 17, 2021

Here are the commands for rebasing your branch:

If not already done, add the upstream openHAB addon repo as a remote to your local repo and fetch it:

git remote add upstream https://github.com/openhab/openhab-addons.git
git fetch upstream

The remotes (git remote --verbose) should look like this, now:

origin  https://github.com/[your name]/openhab-addons.git (fetch)
origin  https://github.com/[your name]/openhab-addons.git (push)
upstream        https://github.com/openhab/openhab-addons.git (fetch)
upstream        https://github.com/openhab/openhab-addons.git (push)

Then, you can rebase your PR's branch onto main:

git rebase upstream/main

Finally force-push the rebased branch to this PR's branch:

git push origin [your branch name of this PR] --force-with-lease

DON'T use merge! This can clutter the Git history and make the PR unusable.

Comment on lines 9 to 22
## Supported Things

This binding supports the following types:

- Bridge
- Electrolux Pure A9

If you define the bridge in a things-file the bridge type id is defined as `bridge`, e.g.:

`Bridge electroluxair:api:myAPI "Electrolux Delta API" [username="user@password.com", password="12345", refresh="300"`

If you define the thing in a things-file the thing type id is defined as:

`Thing electroluxpurea9 MyElectroluxPureA9 "Electrolux Pure A9" [ deviceId="123456789" ]`
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In this section you should only mention the ThingTypeUIDs and describe them shortly. The config examples could be moved to the "Full Examples" section.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed!

| password | The password used to connect to the Electrolux Wellbeing app | String | NA | yes |
| refresh | Specifies the refresh interval in second | Number | 600 | yes |

## Thing Configuration
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems to make sense in the "Configuration Options" chapter.

Suggested change
## Thing Configuration
#### Thing

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Moved it!


Only the bridge require manual configuration. The thing can be added by hand, or you can let the discovery mechanism automatically find your Electrolux Pure A9 thing.

### Configuration Options
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This heading is already present a few lines above.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed!


| Channel Type ID | Item Type | Description |
|-----------------|-----------|-------------------------------------------------------------------------------------------------|
| status | String | This channel can be used to trigger an instant refresh by sending a RefreshType.REFRESH command.|
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did you push your changes?

| filterLife | Number:Dimensionless | This channel reports the remaining filter life in %. |
| ionizer | Switch | This channel sets and reports the status of the ionizer function (On/Off). |
| doorOpen | Contact | This channel reports the status of door (Opened/Closed). |
| workMode | String | This channel sets and reports the current work mode (Auto, Manual, PowerOff.|
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| workMode | String | This channel sets and reports the current work mode (Auto, Manual, PowerOff.|
| workMode | String | This channel sets and reports the current work mode (Auto, Manual, PowerOff.) |

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed!

private final HttpClient httpClient;
private @Nullable ElectroluxDeltaAPI api;

private static int REFRESH_SEC = 300;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Then, this shouldn't be static. Otherwise this field would be global and the last loaded ThingHandler's config would overwrite all other ThingHandler's refresh fields.

@fwolter
Copy link
Member

fwolter commented Dec 11, 2021

There are some checkstyle warnings left. You could take a look at target/code-analysis/report.html after building it with mvn clean install.

There are some compiler warnings about null access left. You could take a look at mvn clean install. To fix these, you need to store the field to a local variable and do the null check on that.

@jannegpriv
Copy link
Contributor Author

target/code-analysis/report.html

I only see warnings on patterns for 3 variables.

@fwolter
Copy link
Member

fwolter commented Jan 1, 2022

Did you finish making all changes?

@jannegpriv
Copy link
Contributor Author

Did you finish making all changes?

Yes sir! :-)

Copy link
Member

@fwolter fwolter left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I only see warnings on patterns for 3 variables.

Yeah, I see them, too.

Comment on lines 11 to 14
This binding supports the following types:

- Bridge
- Electrolux Pure A9
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you name the ThingTypeUIDs?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Something like this?

image

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Something like this is sufficient:

  • api: Bridge - Implements ...

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed!


| Channel Type ID | Item Type | Description |
|-----------------|-----------|-------------------------------------------------------------------------------------------------|
| status | String | This channel can be used to trigger an instant refresh by sending a RefreshType.REFRESH command.|
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I still see the status channel in the readme. Did you push your changes?

Comment on lines 61 to 63
public ElectroluxDeltaAPI(ElectroluxAirBridgeConfiguration configuration, Gson gson, HttpClient httpClient)
throws IOException {
this.gson = gson;
this.configuration = configuration;
this.httpClient = httpClient;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What can throw an IOException here?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed!

@jannegpriv jannegpriv force-pushed the 10246-electroluxair branch from a2782d5 to 1278fd0 Compare January 4, 2022 20:23
@fwolter
Copy link
Member

fwolter commented Jan 6, 2022

Please use a regular commit instead of a force-push after implementing review feedback. Then, the reviewer can take a look at your changes instead of reviewing the entire code again.

@jannegpriv
Copy link
Contributor Author

jannegpriv commented Jan 7, 2022

Please use a regular commit instead of a force-push after implementing review feedback. Then, the reviewer can take a look at your changes instead of reviewing the entire code again.

I get this error when doing a git push:

$ git push origin 10246-electroluxair 
To github.com:jannegpriv/openhab-addons.git
 ! [rejected]              10246-electroluxair -> 10246-electroluxair (non-fast-forward)
error: failed to push some refs to 'github.com:jannegpriv/openhab-addons.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

I did a git pull and resolved the merge conflict.
I also fixed a warning on unused logging.

@fwolter
Copy link
Member

fwolter commented Jan 7, 2022

…ding

Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>
Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>
Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>
…ding

Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>
Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>
@jannegpriv jannegpriv force-pushed the 10246-electroluxair branch from 6fd60ab to 866a70c Compare January 7, 2022 10:31
@jannegpriv
Copy link
Contributor Author

Your branch is broken, now. Here is a howto fix it https://community.openhab.org/t/rebase-your-code-or-how-to-fix-your-git-history-before-requesting-a-pull/129358

Did a new rebase and a git push origin 10246-electroluxair --force-with-lease.

@fwolter
Copy link
Member

fwolter commented Jan 7, 2022

There are some checkstyle warnings left. You could take a look at target/code-analysis/report.html after building it with mvn clean install.
grafik

Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>
@jannegpriv
Copy link
Contributor Author

There are some checkstyle warnings left. You could take a look at target/code-analysis/report.html after building it with mvn clean install. grafik

No I have 0 code warnings.

Copy link
Member

@fwolter fwolter left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Now, you could add your binding's logo to the openHAB website. See https://www.openhab.org/docs/developer/bindings/#add-your-binding-s-logo-to-the-openhab-website

@fwolter fwolter merged commit f79ce45 into openhab:main Jan 9, 2022
@fwolter fwolter added this to the 3.3 milestone Jan 9, 2022
@jannegpriv
Copy link
Contributor Author

LGTM

Now, you could add your binding's logo to the openHAB website. See https://www.openhab.org/docs/developer/bindings/#add-your-binding-s-logo-to-the-openhab-website

Cool! :-) Thank's for your review, I learned a lot! :-)

@lolodomo
Copy link
Contributor

lolodomo commented Jan 9, 2022

Please create a subsequent PR to add the default translation properties file.
You can produce it simply by running this command : mvn i18n:generate-default-translations

mischmidt83 pushed a commit to mischmidt83/openhab-addons that referenced this pull request Jan 9, 2022
* [electroluxair] Initial contribution of the electroluxair openHAB binding

Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>

* Updated after code review.

Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>

* Updated after code review and also copyright to 2022.

Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>

* [electroluxair] Initial contribution of the electroluxair openHAB binding

Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>

* Updated after code review.

Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>

* Updated after code review

Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>
Signed-off-by: Michael Schmidt <mi.schmidt.83@gmail.com>
fwolter added a commit to fwolter/openhab-core that referenced this pull request Jan 16, 2022
- put each sentence in a seperate line
- add note that only PNG images are supported. See openhab/openhab-addons#11116 (comment)
- add examples to "Supported Things"
- add RW column to example Channel table
- add advanced and default config value
- add note that textual config examples are mandatory
- make .sitemap example optional (see small internal discussion)
- put emphasis on initialize() shall return quickly
- add note about logging to INFO
- fix compiler warning

Signed-off-by: Fabian Wolter <github@fabian-wolter.de>
moesterheld pushed a commit to moesterheld/openhab-addons that referenced this pull request Jan 18, 2022
* [electroluxair] Initial contribution of the electroluxair openHAB binding

Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>

* Updated after code review.

Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>

* Updated after code review and also copyright to 2022.

Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>

* [electroluxair] Initial contribution of the electroluxair openHAB binding

Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>

* Updated after code review.

Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>

* Updated after code review

Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>
cweitkamp pushed a commit to openhab/openhab-core that referenced this pull request Jan 22, 2022
* [skeleton] Add Thing config table to readme; minor improvements

- put each sentence in a seperate line
- add note that only PNG images are supported. See openhab/openhab-addons#11116 (comment)
- add examples to "Supported Things"
- add RW column to example Channel table
- add advanced and default config value
- add note that textual config examples are mandatory
- make .sitemap example optional (see small internal discussion)
- put emphasis on initialize() shall return quickly
- add note about logging to INFO
- fix compiler warning
- Add default config value for initialization

Signed-off-by: Fabian Wolter <github@fabian-wolter.de>
nemerdaud pushed a commit to nemerdaud/openhab-addons that referenced this pull request Jan 28, 2022
* [electroluxair] Initial contribution of the electroluxair openHAB binding

Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>

* Updated after code review.

Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>

* Updated after code review and also copyright to 2022.

Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>

* [electroluxair] Initial contribution of the electroluxair openHAB binding

Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>

* Updated after code review.

Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>

* Updated after code review

Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>
NickWaterton pushed a commit to NickWaterton/openhab-addons that referenced this pull request Apr 27, 2022
* [electroluxair] Initial contribution of the electroluxair openHAB binding

Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>

* Updated after code review.

Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>

* Updated after code review and also copyright to 2022.

Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>

* [electroluxair] Initial contribution of the electroluxair openHAB binding

Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>

* Updated after code review.

Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>

* Updated after code review

Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>
Signed-off-by: Nick Waterton <n.waterton@outlook.com>
andan67 pushed a commit to andan67/openhab-addons that referenced this pull request Nov 6, 2022
* [electroluxair] Initial contribution of the electroluxair openHAB binding

Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>

* Updated after code review.

Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>

* Updated after code review and also copyright to 2022.

Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>

* [electroluxair] Initial contribution of the electroluxair openHAB binding

Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>

* Updated after code review.

Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>

* Updated after code review

Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>
andrasU pushed a commit to andrasU/openhab-addons that referenced this pull request Nov 12, 2022
* [electroluxair] Initial contribution of the electroluxair openHAB binding

Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>

* Updated after code review.

Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>

* Updated after code review and also copyright to 2022.

Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>

* [electroluxair] Initial contribution of the electroluxair openHAB binding

Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>

* Updated after code review.

Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>

* Updated after code review

Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>
Signed-off-by: Andras Uhrin <andras.uhrin@gmail.com>
splatch pushed a commit to ConnectorIO/copybara-hab-core that referenced this pull request Jul 12, 2023
…hab#2692)

* [skeleton] Add Thing config table to readme; minor improvements

- put each sentence in a seperate line
- add note that only PNG images are supported. See openhab/openhab-addons#11116 (comment)
- add examples to "Supported Things"
- add RW column to example Channel table
- add advanced and default config value
- add note that textual config examples are mandatory
- make .sitemap example optional (see small internal discussion)
- put emphasis on initialize() shall return quickly
- add note about logging to INFO
- fix compiler warning
- Add default config value for initialization

Signed-off-by: Fabian Wolter <github@fabian-wolter.de>
GitOrigin-RevId: f79d17f
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new binding If someone has started to work on a binding. For a new binding PR.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants