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

[documentation] clarification of representation property #1248

Merged
merged 11 commits into from
Jul 9, 2020
Merged

[documentation] clarification of representation property #1248

merged 11 commits into from
Jul 9, 2020

Conversation

andrewfg
Copy link
Contributor

@andrewfg andrewfg commented Jul 5, 2020

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
@netlify
Copy link

netlify bot commented Jul 5, 2020

Thanks for your pull request to the openHAB documentation! The result can be previewed at the URL below (this comment and the preview will be updated if you add more commits).

Built with commit e458500

https://deploy-preview-1248--openhab-docs-preview.netlify.app

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
Copy link
Contributor

@Confectrician Confectrician left a comment

Choose a reason for hiding this comment

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

Hi and thanks for your contribution.

I have left two small comments.
One needs to be discussed and clarified in my opinion.

concepts/discovery.md Outdated Show resolved Hide resolved
developers/bindings/thing-xml.md Outdated Show resolved Hide resolved
@bobadair
Copy link
Member

bobadair commented Jul 6, 2020

I think this doc update is great, because this is a topic that seems to be misunderstood by a lot of binding developers.
My unsolicited 2 cents is that I would also add the following two points in the developer docs.

First, if your binding makes use of a bridge, the representation property does not need to be globally unique, but only unique within the context of the bridge, as long as in your discovery service you call DiscoveryResultBuilder.withBridge(bridgeUID) when building your DiscoveryResult. So if bridge A has child things with their representation properties set to 1, 2, and 3, and bridge B also has child things with their representation properties set to 1, 2, and 3, they will not conflict.

Second, if your thing has two configuration parameters (e.g. channel and address) where each individually is not unique, but the combination of the two is unique, you can do the following to make auto-ignore work properly in all cases:

Make up a new property (“id” in the examples below) and define that as the representation property in the child’s thing xml file.

Example:

<representation-property>id</representation-property>

In your discovery service, combine the two parameters into the new property and add it to the DiscoveryResult using DiscoveryResultBuilder. withProperties().

Example:

        Map<String, Object> properties = new HashMap<>();
        properties.put(PROPERTY_ADDRESS, address);
        properties.put(PROPERTY_CHANNEL, channel);
        properties.put(PROPERTY_ID, String.format("%d-%d", address, channel));
        DiscoveryResult result = DiscoveryResultBuilder.create(uid).withBridge(bridgeUID).withProperties(properties)
                .withRepresentationProperty(PROPERTY_ID).build();

In the child thing handler’s initialize() routine, again combine the two parameters into the same property in the same way, and call updateProperty() with it.

Example:

        String id = String.format("%d-%d", address, channel);
        updateProperty(PROPERTY_ID, id); // set representation property used by discovery

@andrewfg
Copy link
Contributor Author

andrewfg commented Jul 6, 2020

Thanks everyone for the feedback. I will try to rework it based on your suggestions, and upload a new version later today.

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
@andrewfg
Copy link
Contributor Author

andrewfg commented Jul 6, 2020

@bobadair many thanks for the feedback..

First, if your binding makes use of a bridge, the representation property does not need to be globally unique, but only unique within the context of the bridge..

Second, if your thing has two configuration parameters (e.g. channel and address) where each individually is not unique, but the combination of the two is unique..

Both good points. I will add them.

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
concepts/discovery.md Outdated Show resolved Hide resolved
concepts/discovery.md Outdated Show resolved Hide resolved
Copy link
Contributor

@bgilmer77 bgilmer77 left a comment

Choose a reason for hiding this comment

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

Great contribution. Thank you. Please consider my comments and suggested edits.

developers/bindings/index.md Outdated Show resolved Hide resolved
developers/bindings/index.md Outdated Show resolved Hide resolved
developers/bindings/index.md Outdated Show resolved Hide resolved
developers/bindings/index.md Outdated Show resolved Hide resolved
developers/bindings/index.md Outdated Show resolved Hide resolved
developers/bindings/thing-xml.md Outdated Show resolved Hide resolved
developers/bindings/thing-xml.md Outdated Show resolved Hide resolved
developers/bindings/thing-xml.md Outdated Show resolved Hide resolved
developers/bindings/thing-xml.md Outdated Show resolved Hide resolved
developers/bindings/thing-xml.md Outdated Show resolved Hide resolved
Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
@andrewfg
Copy link
Contributor Author

andrewfg commented Jul 6, 2020

Re: Links

In my new text, to avoid duplicate descriptions, there are cross reference links to other pages / topics. The links are in the form of page.md links to other mark-down pages on github.com, but I suppose that when you publish to openhab.org your build system does convert those page.md links to the proper page.html links. Or do I need to do anything on my side??

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
Copy link
Contributor

@cweitkamp cweitkamp left a comment

Choose a reason for hiding this comment

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

Great job. Thank you for improving this part of the documentation.

developers/bindings/index.md Outdated Show resolved Hide resolved
Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
@Confectrician
Copy link
Contributor

Thanks to all participants for the valid discussion and improvements.
I will do a last short check but i think, this can be merged later. :)

@Confectrician Confectrician merged commit c04237d into openhab:2.5.x Jul 9, 2020
ghys added a commit that referenced this pull request Sep 21, 2020
* Update README (2.5.x) (#1153)

Change branch name.

Signed-off-by: Yannick Schaus <github@schaus.net>

* Update items.md (#1156)

* Added var and VA units to UoM (#1146)

VA (Volt-Ampere - apparent power) and var (Volt-Ampere reactive) are used to measure power and energy consumption in AC circuits.


Signed-off-by: Nagy Attila Gabor <mrbig@sneaker.hu>

* Fix filepath to keystore (#1148)

Default openHAB userdata environment variable should be `$OPENHAB_USERDATA`, not `$USER_DATA` shouldn't it? At least, this is the default on my fresh openHABian and also the most popular variant to find in the docs.

* Slight language corrections (#1150)

I think it reads better this way

Signed-off-by: Richard Davies <rwdrich@gmail.com>

* additional example for non default persistence service (#1152)

For me it was confusing how to pass on the serviceId into methods that already had an argument. An extra example is always good.

Signed-off-by: jaco <jaco.waes@gmail.com>

* Adding 12 new logos for OH Add-Ons page on website (#1158)

Signed-off-by: bracklanna bracklanna@users.noreply.github.com

* Added missing preset variables (#1104)

* Added missing preset variables

Signed-off-by: Scott Rushworth <openhab@5iver.com>

* Cleaned up blank lines, fixed table, and added file name for SimpleRule

Signed-off-by: Scott Rushworth <openhab@5iver.com>

* Fix broken link (#1165)

* Added Hotlink from "label" section to "state presentation" (#1167)

* Added note about broken action (#1164)

* Added note about broken action

See openhab/openhab-core#1374

Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>

* Incorporated changes from review

Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>

* Incorporated changes from review

Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>

* Update index.md (#1170)

Link appears to be wrong and does not work when I click on it in Edge. Loads the same page again instead of loading the correct new page from the hyperlink.

https://www.openhab.org/docs/developer/guidelines.html

* Added Airthings logo (#1171)

* typo in exambp (#1172)

`Temperature.averageSince(now.minusMinutes(5),"influxdb")`

* file.encoding=UTF-8 (#1173)

* Update demo URL and add demo.rules URL (#1174)

Based on: https://community.openhab.org/t/demo-setup-missing/94850
Old Link is broken leading to 404.
The link to the demo.rules on github is an extra :)

* Replace outdated zulu.org link. (#1177)

* Replace outdated zulu.org link.

As of 3/23/2020 zulu.org has an SSL cert that expired on 9/28/2019. Changed link to azul.com/downloads, since that appears to be the new official source.

Signed-off-by: Billy Stevens <contact@wasv.me>

* Changed all http links to https for installation/index.md.

All changed links working, tested on 3/24/2020.

Signed-off-by: Billy Stevens <contact@wasv.me>

* Minor language tweak (#1178)

* Ending an active scan/stopScan (#1179)

Signed-off-by: Mark Theiding <mark.theiding@gmail.com>

* Add files via upload (#1184)

* Update persistence.md (#1185)

Clarify return objects for max/min rules extensions.

Signed-off-by: Ross Kennedy rossko@culzean.clara.co.uk

* Update things.md (#1186)

Amended example code to include using label and location when defining a Thing with a bridge that is defined elsewhere.

* Correct typos (#1190)

* Correct usage of its/it's

"It's" is always a contraction of "it is" or "it has".  "Its" is a
possessive.  Correct a few places where they were used backwards.

Signed-off-by: Bjorn Helgaas <bjorn@helgaas.com>

* Correct "Z-Wave" spelling

Per https://www.z-wave.com/, the canonical spelling appears to be "Z-Wave".
Most places use "Z-Wave" already; change the remaining references to match.

Signed-off-by: Bjorn Helgaas <bjorn@helgaas.com>

* Correct typos and grammatical errors

Correct some typos and grammatical errors.

Signed-off-by: Bjorn Helgaas <bjorn@helgaas.com>

* Update sitemap.md section charts (#1191)

I observed that the unique first word in the labels of items charted in a group isn't causing an empty chart anymore. I'm on openHAB 2.5.1.

Signed-off-by: Juergen Baginski opus42@gmx.de

* Add image for insteon binding (#1196)

Signed-off-by: Rob Nielsen <rob.nielsen@yahoo.com>

* typo (#1198)

Signed-off-by: Mark Theiding <mark.theiding@gmail.com>

* Installation details (#1197)

Added more details around the installation and configuration process.
Fixed that engine no longer logs "Activated scripting support..."

Signed-off-by: Mark Theiding <mark.theiding@gmail.com>

* Update sitemaps.md (#1202)

Added full item definition for usage of visibility. See https://community.openhab.org/t/sitemap-visibility-basic-ui/97304/9

* Updated ecobee logo (https://brand.ecobee.com/) (#1203)

Signed-off-by: Rob Nielsen <rob.nielsen@yahoo.com>

* tutorial: Fix description of sitemap 'type' (#1204)

In the tutorial, the generic sitemap description says that ItemType has
to be the same as the type defined in default.items.
Looking at
https://www.openhab.org/docs/configuration/items.html#type and
https://www.openhab.org/docs/configuration/sitemaps.html#element-types
this is incorrect as they take different values.
The example is even mislading as `Switch` is one of the only types which
is common between items and sitemaps. Might be better to describe
`Default` instead.

Signed-off-by: Christophe Fergeau <cfergeau@redhat.com>

* Added information about DateTime Group functions LATEST/EARLIEST (#1206)

Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>

* Add section for documentation contributions (#1205)

Hopefully this will lower the hurdle for people to submit documentation contributions. I know from myself that I didn't submit various documentation improvements, because I didn't know git and thought it would be a much more involved process. 
Ideally there would be a separate documentation section, but submitting this under the development contribution page for now (as per discussion with @Confectrician in #1179 (comment)).
Note that I am addressing the issue of DCO failures wrt specifying the full name that I ran into myself in #1197 (comment). I found a good discussion of the issue at dcoapp/app#43.

Signed-off-by: Mark Theiding <mark.theiding@gmail.com>

* fix typo (#1209)

* add description of Ephemeris localization support (#1210)

Add a new section to describe the localization support and how-to steps

Signed-off-by: Michael Roßner Schrott.Micha@web.de

* Line 115 broken link - should be: (#1217)

* Line 115 broken link - should be:

({{base}}/docs/configuration/sitemaps.html#element-types)

was:
({{base}}/configuration/configuration/sitemaps.html#element-types)

* Removed diplicated docs breadcrumb

Signed-off-by: Jerome Luckenbach <github@luckenba.ch>

Co-authored-by: Jerome Luckenbach <github@luckenba.ch>

* add missing space between words (#1212)

* Update configuration.md (#1215)

I'm a beginner myself. Though I liked this tutorial very much, it took me some time trying and erroring and finally reading forum posts to get behind this. I didn't even know there was something like a more modern ping. So maybe others are happy to learn this right from the beginning.

* Remove architecture from Docker tags (#1220)

Docker automatically detects the architecture and downloads the appropriate image (openhab/openhab-docker#213).
BuildKit will no longer generate new tags having the architecture (openhab/openhab-docker#293).

Signed-off-by: Wouter Born <github@maindrain.net>

* slight readability improvements (#1221)

* slight readability improvements

* Update introduction.md

* Update introduction.md

* minor wording update

* Update eclipse.md (#1225)

Clarifying that it's no longer possible to make changes in the Core Framework for 2.5.x.

Signed-off-by: Mark Theiding <mark.theiding@gmail.com>

* [fmiweather] logo for FMI Weather binding (#929)

Signed-off-by: Sami Salonen <ssalonen@gmail.com>

* Update eclipse.md (#1226)

Added additional structure around install, run, debug and update steps. Provided more pointers to interactions with Eclipse, Maven and Git.

Signed-off-by: Mark Theiding <mark.theiding@gmail.com>

* Update contributing.md (#1227)

Need to escape \< and \> in the sign off message format so users see them explicitly in the Contributing to the Documentation section. 

Signed-off-by: Mark Theiding <mark.theiding@gmail.com>

* Update contributing.md (#1228)

Small refinement on documentation change submission flow. 

Signed-off-by: Mark Theiding <mark.theiding@gmail.com>

* Add doc folder to the binding directory structure (#1230)

Signed-off-by: Fabian Wolter <github@fabian-wolter.de>

* Make Subheadings Use Proper Subheading Syntax (#1234)

This way they render out as proper markdown and don't look weird on the website

Signed-off-by: Stefan Zabka <zabkaste@informatik.hu-berlin.de>

* Remove unnecessary isCancelled() from code example (#1235)

Cancelling an already canceled task has no effect. IMHO this check is not necesssary and removal would simplify the code. I came to this because I saw this pattern in many bindings during reviewing.

Signed-off-by: Fabian Wolter <github@fabian-wolter.de>

* Update thing-xml.md (#1236)

Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>

* Fix broken ESH links (#1231)

Signed-off-by: Wouter Born <github@maindrain.net>

* Update logging.md (#1238)

Add information on how to find out the symbolic names of the bundles

* Remove Apache Commons from Default Libraries (#1229)

See openhab/openhab-addons#7722
Signed-off-by: Fabian Wolter <git@fabian-wolter.de>

* Update introduction.md (#1239)

* Update introduction.md

Signed-off-by: Markus Storm markus.storm@gmx.net

* Update introduction.md

* Revise Java recommendations (#1240)

* Revise Java recommendations

* Delete pine.md

Do not recommend PINE, it's not supported any longer by openHABian.

* Removed sidebar link in config

Signed-off-by: Jerome Luckenbach <github@luckenba.ch>

Co-authored-by: Jerome Luckenbach <github@luckenba.ch>

* Update security.md (#1241)

Been using FreeDNS for many years (ever since all these companies got rid of their free tiers) and never an issue!

* Fix DecimalType hex conversion example (#1243)

See: openhab/openhab-core#1526

Signed-off-by: Wouter Born <github@maindrain.net>

* Fix typo (#1244)

Signed-off-by: Wouter Born <github@maindrain.net>

* Update persistence.md (#1246)

Fixes link to quartz docs page.

* Revision. (#1187) (#1237)

* Revision. (#1187)

- Update of screenshots, removal of old screenshots
- Chapters for better formatting
- Removal of ZWave chapter (one example of adding things should be enough IMHO)
- Adding items in simple mode and in "manual" mode

Signed-off-by: Sascha Billian <sascha.billian@googlemail.com>

* Use one line per sentence
Signed-off-by: Sascha Billian <sascha.billian@googlemail.com>

Co-authored-by: Jerome Luckenbach <github@luckenba.ch>

* Add notes for configuring Synology Diskstation (#1219)

* Add notes for configuring Synology Diskstation

I have a working set up for SSL enabled remote access on a Synology diskstation, taking advantage of the GUI as much as possible, to ensure automatic renewal of certs from Let's Encrypt, etc. It took me about 8 hours to suss it all out, but it could be achieved in about 30 mins if you knew exactly what to do... may not be widely useful, but since Synology is officially supported, I figured this might be a good addition.

There's also a minor error in the 'allow' masks - these should be 192.168.0.0/24 to allow access to anything in the 192.168.0.xxx range.

* Updated to use one line per sentence

Updated to use one line per sentence - sorry for the delay!

* Update security.md

* Updated for one line per sentence

Updated for one line per sentence

Signed-off-by: Andrew Mills mills@prettymachine.co.nz

* Bad subnet (#1245)

Nginx warns about low address bits of `192.168.0.1/24` because they are meaningless.
The correct subnet mask should be `192.168.0.0/24`

Signed-off-by: Olivier Béraud <olivierberaud@free.fr>

* Fixed broken images. (#1247)

* Fixed broken images.

Signed-off-by: Jerome Luckenbach <github@luckenba.ch>

* Fix image path

Signed-off-by: Jerome Luckenbach <github@luckenba.ch>

* [documentation] clarification of representation property (#1248)

* [documentation] clarification of representation property

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>

* [documentation] typo

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>

* [documentation] adopt suggestions of reviewers

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>

* [documentation] commas

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>

* [documentation] typo

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>

* [documentation] addopted suggestions of @bobadair

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>

* [documentation] typo

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>

* [documentaion] example added back

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>

* [documentaion] simplified text

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>

* [documentation] typo

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>

* [documentation] adopted reviewer comment

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>

* Add Alexa mapping along side a channel mapping (#1249)

* Add Alexa mapping along side a channel mapping

It took me a while to find this https://community.openhab.org/t/tagging-devices-for-alexa-support/98155/3 on the Forum and its not clearly documented in the openHAB Amazon Alexa Smart Home Skill or here in Item Metadata.
I originally suggested this as an update to the openHAB Amazon Alexa Smart Home Skill documentaion, but it fits better here, then other integrations using metadata (e.g. HomeKit or Google Assistant) could refer to it as well.

* Update items.md

* Mention defaults for element type setpoint. (#1250)

Mention defaults for min, max and step value for element type setpoint.

Signed-off-by: Thomas Weiler <toweosp@gmail.com>

* Update index.md (#1251)

I thought 'workl' was probably intended to be 'work'.

* Items - Bedroom_Light written as Light_Bedroom (#1252)

Fix small error which might mislead some readers.

* Added example for time-weighted averages (#1253)

Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>

* Remove deprecated UIs, Eclipse Marketplace from sidebar

Signed-off-by: Yannick Schaus <github@schaus.net>

* Update branch name in README

Signed-off-by: Yannick Schaus <github@schaus.net>

Co-authored-by: Markus Storm <markus.storm@gmx.net>
Co-authored-by: Nagy Attila Gábor <mrbig@sneaker.hu>
Co-authored-by: Christoph Thiede <38782922+LinqLover@users.noreply.github.com>
Co-authored-by: Richard Davies <rwdrich@gmail.com>
Co-authored-by: jwaes <50528773+jwaes@users.noreply.github.com>
Co-authored-by: bracklanna <16140600+bracklanna@users.noreply.github.com>
Co-authored-by: Scott Rushworth <openhab@5iver.com>
Co-authored-by: cpmeister <mistercpp2000@gmail.com>
Co-authored-by: Ross Kennedy <rossko@culzean.clara.co.uk>
Co-authored-by: Christoph Weitkamp <github@christophweitkamp.de>
Co-authored-by: Skinah <32607303+Skinah@users.noreply.github.com>
Co-authored-by: pali <pauli.anttila@gmail.com>
Co-authored-by: ljsquare <laurens-jan@merkx-ewals.nl>
Co-authored-by: PatrikG <40170469+PatrikG8@users.noreply.github.com>
Co-authored-by: Elias H <E.Hackradt@web.de>
Co-authored-by: Billy Stevens <contact@wasv.me>
Co-authored-by: theiding <mark.theiding@gmail.com>
Co-authored-by: jadcx <60408305+jadcx@users.noreply.github.com>
Co-authored-by: Bjorn Helgaas <bjorn@helgaas.com>
Co-authored-by: Jürgen Baginski <opus42@gmx.de>
Co-authored-by: robnielsen <rob.nielsen@yahoo.com>
Co-authored-by: GumbyMan82 <40233411+GumbyMan82@users.noreply.github.com>
Co-authored-by: Christophe Fergeau <teuf@gnome.org>
Co-authored-by: Paulo "JCranky" Siqueira <paulo.siqueira@gmail.com>
Co-authored-by: Michael Rossner <Schrott.Micha@web.de>
Co-authored-by: BugSmurF <52825547+bugsmurf@users.noreply.github.com>
Co-authored-by: Jerome Luckenbach <github@luckenba.ch>
Co-authored-by: josefscript <64727123+josefscript@users.noreply.github.com>
Co-authored-by: Wouter Born <github@maindrain.net>
Co-authored-by: Sami Salonen <ssalonen@gmail.com>
Co-authored-by: Fabian Wolter <github@fabian-wolter.de>
Co-authored-by: Stefan Zabka <zabkaste@informatik.hu-berlin.de>
Co-authored-by: TRS-80 <25938297+TRSx80@users.noreply.github.com>
Co-authored-by: sihui <10405486+sihui62@users.noreply.github.com>
Co-authored-by: Andrew Mills <amil109@users.noreply.github.com>
Co-authored-by: Olivier Béraud <olivbd@users.noreply.github.com>
Co-authored-by: Andrew Fiddian-Green <software@whitebear.ch>
Co-authored-by: LeeC77 <LeeC77@users.noreply.github.com>
Co-authored-by: Thomas Weiler <18066810+toweosp@users.noreply.github.com>
Co-authored-by: garretcook <garretcook@gmail.com>
Co-authored-by: Michael Fielding <michael.fielding@gmail.com>
@Confectrician Confectrician added this to the 2.x.x milestone Nov 18, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants