[RELEASE] Siemens SmartThermostat Cloudbased Integration

Hello there,

My name is Dany Van der Meij, I’m 17 years old and I am making the Integration for the Siemens SmartThermostat -> https://www.siemens.com/global/de/home/produkte/gebaeude/topics/smart-thermostat.html.

Code:
GoogleDrive: https://drive.google.com/drive/folders/1auKgsDQPA0LYMJu1F_Tg30UPsj3mEKAY?usp=sharing
Dropbox: https://www.dropbox.com/sh/cjcmht3yka5djo1/AADSPuACwTViPXK3v0iompn0a?dl=0
Github: Coming Soon!

I’m very new into SmartThings (Working with it since 4 Weeks). I read trough the whole SmartThings documentation and I’m a programmer since 3 years.

About the SmartThermostat:
The SmartThermostat is a Cloud based Device. This means, that all the Datapoints are saved in a Cloud. -> https://climatixic.com. The SmartThermostat pulls and saves the data to the cloud. For that, I need to make a cloudbased integration with a Service Manager and a Device Type Handler. -> http://docs.smartthings.com/en/latest/cloud-and-lan-connected-device-types-developers-guide/building-cloud-connected-device-types/building-the-service-manager.html

In the Service Manager are all the Cloud requests that are needed. For example: getTemperature() or setSetpoint(). The ServiceManager also has 3 Inputs. Username, Password for the authentication to the cloud. And a DeviceId, that is needed to make requests for a specific device (SmartThermostat). I’m only making a prototype, thats why I make it like this.

In the Device Type Handler, is the UI (Tiles) the Capabilities and the commands that are connected to the tiles ( Some are ).

Workflow for the installation:

  1. Install the SmartApp (ServiceManager) with a username, password and the id of the Device you want to control
  2. A device is created with the Device Type Handler (SmartThermostatDeviceHandler)

I hope you understand now a bit how everything works. The ServiceManager has all cloud requests packed as functions and the DeviceHandler calls these functions in the ServiceManager to communicate with the cloud of the device. (There is no direct controlling to the device. Communication only with the cloud)

Now what I already have:

  1. Service Manager with all functions that are working ( If you want to try it, write me via mail (siemens.dany@gmail.com) then I can give you an account and a device ID so you can try it by yourself.)
  2. A Device Handler with the Tiles, included capabilities and attributes

What still needs to be done:

  1. Connect the DeviceHandler with the Service Manager to call the functions to make requests to the cloud.
  2. Store the data from the cloud in the attributes of the DeviceHandler
  3. Show the Data in the Tiles

Now, I got some problems that I can’t solve, and I have a Presentation by next week where It should be able, at least to change the Setpoint and show it in the Tiles.

Problems:

  1. I don’t know how to create a Device after I installed the ServiceManager and connect the DeviceType of the Device with the ServiceManager. ( To make it possible for the Device Type Handler to call the functions from the Service Manager )
  2. When this is possible, I should save these Response Datas from the cloud request in the Device Handler. For Example: Response -> ThermostatSetpoint as JSON. => Save to => Device Handler Attribute: thermostatSetpoint

As I already said, I have the Presentation next week, ( Another Presentation some month later where everything should be finished ). And not everything should work. But atleast, should it be possible to get a Datapoint from the cloud and show it in the Tiles of the Device Type Handler.

I would be very grateful if someone could help me, because at Siemens, nobody can help me with my Problem and I couldn’t find a solution until now.

THANKS!

3 Likes