Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Archived » Eclipse SmartHome » What is the definition of a Thing!(How to best define the scope of a Thing in the context of the Bindings Target)
What is the definition of a Thing! [message #1720287] Fri, 15 January 2016 22:55 Go to next message
Ted Lum is currently offline Ted LumFriend
Messages: 1
Registered: September 2013
Junior Member
I'm developing a binding, and currently working on the mapping of the target into the openHAB/ESH "Thing" model. I wanted to get your thoughts on the definition of a Thing and its constituents.
I initially understand a Thing to be the concrete implementation of a physical device, which has properties and behaviors. So, one might quickly jump to the conclusion that a Thing is defined by the addressable granularity of the system which instantiates it; i.e. it's a physical device with its own unique address and serial number.

In this case though, a variety of these devices can be stacked at a single location and provide aggregate functionality, in a way that an end user would likely consider them to represent one device. I happen to be referring to keypads which install in a multi-gang wall box. There is a large list of such keypads which can be placed into this mix, and you could stack them anywhere from 1-gang to the point you ran out of space. Still, the end user would typically consider it to be a single, physical, control station.

So that raises the question in my mind of whether a Thing exposed by a binding should be a logical representation of the physical appearance of a Thing looking thing, or should a Thing be the distinctly addressable physical device, with some ordinal property within the Thing looking thing? I'm kind of leaning towards deviceGroup = Thing, as opposed to a deviceGroup made up of things, because it seems like those are implementation details the binding should abstract out and hide from the end user... and yes, I'm aware that Things map to Items, so when I say "end user" I'm referring to the non-java developer who would look to use the binding to develop their own system.

I thought a second opinion would either reinforce what I'm thinking... or send me off on a completely different tangent.
Re: What is the definition of a Thing! [message #1720519 is a reply to message #1720287] Tue, 19 January 2016 07:36 Go to previous message
Andre Fuechsel is currently offline Andre FuechselFriend
Messages: 28
Registered: December 2015
Junior Member

I must admit, that I am not completely understand your question and I am sure, you have already read the definition of a Thing (https://www.eclipse.org/smarthome/documentation/concepts/things.html) and an Item (https://www.eclipse.org/smarthome/documentation/concepts/items.html).

So for an "end-user" of the system, it's the Item, which is more relevant to him. Items represent the abstracted functionality of a part of a real-world device. The device can only be controlled via it's Items. Originally, before the Thing concept has been invented it was like that. There were only items and you had to model your world with the abstracted view the items provide: e.g. use a DimmerItem to control either a dimmable light or a volume control of a radio channel.

Now, that we have Things, they merely "group" these items together in a sense of having the functionality of a real world device grouped into one single object, e.g. a Sonos device with it's different channels for volume control, play list settings, play url etc. Each of these channels MAY have an item connected to it to control the channel, but this is not required. So from my POV a Thing is "a logical representation of the physical appearance of a Thing looking thing". Note, that a Thing is not necessarily a real world device, it can also be a web service like for instance a Google Weather Service providing different channels about temperature, humidity, wether forecast etc.
Previous Topic:Thing Status Listeners
Next Topic:Management of the binding's webservice
Goto Forum:
  


Current Time: Thu Apr 25 01:22:09 GMT 2024

Powered by FUDForum. Page generated in 0.02348 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top