WebThingsIO / api

Web Thing API Specification
http://iot.mozilla.org/wot/
Other
164 stars 24 forks source link

"MultilevelSwitch" is ambiguously named #113

Closed jernst closed 5 years ago

jernst commented 5 years ago

Methinks that if something is a "switch", it should actually do some switching :-)The spec only talks about a range 0-100, which is not quite "switching". Perhaps it should be called something else?

On the other hand, (traditional) dimmers do switch, but then their state is either Off or On, and if it is On, there is a property that goes from something to something else (e.g. 0-100). If this is what it is supposed to be, then it needs to reflect that additional boolean state, which is electrically important to keep power consumption down.

benfrancis commented 5 years ago

Fair point. We could add an OnOffProperty to MultiLevelSwitch, I filed https://github.com/mozilla-iot/schemas/issues/18

Note that the web representation layer is a high level abstraction which doesn't have to exactly represent the electrical properties of a device. There's no reason a dimmer which has a real off state couldn't switch to that state at 0%.

Most lighting dimmer switches in the UK actually only turn off when you turn them to 0%, but I recognise that may dimmers switches (e.g. in the US) do have separate on/off and level states. We kind of already represent this in the Light schema which has separate OnOffProperty and BrightnessProperty (a specialisation of a LevelProperty). It makes sense to also have an OnOffProperty for a MultiLevelSwitch.