[dss-developer] questions api

Patrick Stählin pstaehlin at futurelab.ch
Tue Feb 16 17:40:29 CET 2010


Hi!

On Feb 15, 2010, at 11:23 PM, Dieter Beck wrote:

> 1) The apartmentGetDevices function, as far as I understood this
> right, should return the id of an set with all devices in it. But it
> doesnt return an id. It always return a " ." Anyone the same problem?

This means all devices in our "Set-Syntax" (see the very sparse documentation at [1]). To get the list of the devices out of the dSS call SetGetContainedDevices(token, ".").

> 2) How can I get the name of the Zones? I get all Zones with the
> function apartmentGetZoneIDs. I can get the id of a zone with the help
> of the name with the function: apartmentGetDeviceIDbyName - But how
> can I get the name when I have the ID?

You're right such a call is missing. I've added a ticket[2] for that.

> 3) There are no functions for ZoneSetName. There are only the get
> functions. I think this also would be useful.

I suppose you mean DeviceSetName? I've added another ticket to check all getters/setters of names in the SOAP interface [3].

> 4) There is a function deviceSetValue (also for apartment, zone, ...)
> It takes an parameter for value and one for parameterID. When I set
> the value 1.5 and parameterID 1 for example. And then read it again
> with deviceGetValue, I always get the double 0.0 as an answer. It
> doesnt work. Why? Is this value the value for dimming the light? What
> are the other values (which I can set with the parameterID) good for?

Parameters are a virtual concept as of now, it should work if you pass an integer value from 1 to 255 to it.

> 5) As far as I understood, you turn all the light the way you want
> them and then call saveScene. When you want to load the scene you call
> LoadScene. This also doesnt work. Why? Is there a possiblity to look
> at this values somewhere in the simulation software?

The values should be stored for one run of the dSS but are not made persistent over multiple runs. You can recall those values using callScene.

> 6) Although I disable devices they still react to commands.

Our simulated devices don't simulate that behaviour. As far as I know it's unknown if those calls will even make it in the chip. I'll check with the guys from aizo.

> 7) What exactly are userGroups? (AllocateUserGroup)

Every device is in a default group which corresponds to its color. There are ten different colours and thus there are ten predefined groups (see [4]). User-Groups are freely programmable groups. But we're not relaying those calls as of now.

> 8) In the Javascript API you can set the location for the devices. How
> can I do this with the SOAP API? Is there a special unit the x,y,z
> coordinates have to be, so that the different apss (iPhone ...) can
> understand it. meters? centimeters? relatives?

Which version of the dSS are you using? Those calls were removed some months ago. For an explanation see 11).

> 9) How can I get the powerConsumption of an device?

That's not possible right now as we're missing some lower-level concepts for that.

> 10) Can I figure out with the help of the dsID what kind of the device
> the device is? For example the first octect for the company, second
> for device or something similar. What is the function getFunctionID
> good for? Is it to figure out what kind of device it is? Or is there
> an other possiblity to figure out if the device is an light, an radio
> a washingmachine or something else?

The function-id of a device should provide you with the capabilities a device has. E.g. if it has a dimmer installed or not. I don't have a current copy of the value/flag mappings, maybe someone from aizo can chip in here?

> 11) What are the property functions good for? (propertySetInt,
> propertySetBool...)

Those are accessors to get values out of our internal value-tree. You can store arbitrary values in there and use it to communicate between different applications. You can browse the tree int the setup-interface [5] or the simple browser at [6].
Nodes under /apartment/zones/zonexy/device/... can be made persistent by setting an "archive"-flag on them. So properties like location would be best re-implemented using persistent properties.

> 12) Did I understand this right:
> I am not quite sure about the different kinds of categories and how it
> is the right way to use them.
> Zones: are kinds of rooms - all devices that are at the samd dsM
> Groupes: are groups that can contain devices - for example all lights
> in the corridor. Devices of different zones can be in one zone.
> Groups and Zones are stored at the server and are the same for all Apps.
> Sets are temporary groups of devices to communicate with them and for
> example swich them off.

It's almost like that. 
- Zones can span over different dSMs (but don't have to)
- One device is in only one Zone
- One device is at least in one Group

The rest is correct.

> 13)  How can I create new groups, zones and name them, to add devices?

As explained in 7) we can't create groups right now.

> 14) How can I communicate with the binary pins, usart interface,
> sensors, analog pins on the chip?

Please contact digitalstrom.org directly at info(at)digitalstrom(dot)org with questions regarding the hardware.

> 15) How can I receive envents (new Device plugged in, bell, ...) with
> the help of the soap interface or in an other way? Is there
> apossibility to receive an event when a pin on the chip changed, or
> when you received something from the usart interface?
> There are the functions in the api: eventraise, eventweitfor, eventsubscribeto
> Hoe do I use them? As far as I understand I send an soap request and
> then I have to wait and get an answer as soon as the event rises. Is
> there an other possiblity. Its clear that I will have to have a soap
> server in the app or something else listening to the dSS.

You tell the dSS which events you'd like to receive (EventSubscribeTo) and wait for them using EventWaitFor. If timeout is zero, you'll wait forever, if it equals -1 you'll poll the event-queue and if you pass a positive integer you'll wait for timeout milliseconds.

> 16) Is there a possiblity to buy an dsID, Server, dsM?

Again, please contact digitalstrom.org directly.

[1] http://developer.digitalstrom.org/redmine/wiki/dss/Set_syntax
[2] http://developer.digitalstrom.org/redmine/issues/show/303
[3] http://developer.digitalstrom.org/redmine/issues/show/304
[4] http://www.digitalstrom.org/uploads/pics/dS_colour_scheme_english_01.jpg
[5] http://yourdss:8080/setup.html
[6] http://yourdss:8080/browse/

Patrick
-- 
Patrick Stählin		Hardware Wrangler
futureLAB AG		tel: +41 (0)52 260 22 22
Schwalmenackerstr. 4	fax: +41 (0)52 260 22 23
CH-8400 Winterthur	mission: delivering tomorrow's applications today

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2606 bytes
Desc: not available
URL: <http://forum.digitalstrom.org/pipermail/dss-developer/attachments/20100216/3cc6bf0a/attachment.bin>


More information about the dss-developer mailing list