@Obicom, I do understand that you don’t want to pay a yearly fee for the cloud Rest API. I also hope you will understand that this cloud service has a cost for us. People / businesses that need historical data, data storage in our cloud, … should make use of the Rest API. If you’re interested in integration of Smappee data with home assistent, homekit, or oher smart home devices the way to go is the MQTT interface that is available on all electricity Smappee monitors.
Nice interface btw!
Plug topics (Smappee Switch and Comfort plugs):
I believe we can keep the existing topics, but just make the “since” an optional parameter. If we receive it we will use if, otherwise it is discarded. As such is compatible with existing implementations and we don’t have several topics for the same purpose.
Electricity data:
Aggregated data topic is available and publishes data every 5 minutes. Within Smappee we have as minimum interval 5 minutes. Changing this to 1 minute has an impact on the way we process data on the units, so would like to stick to the 5 minute interval. Ok?
Structure of the message could be improved and indeed documentation is not up to date. Will check with R&D how we can improve this. I believe we can already support what you need, but let me double check. (Person that has made the topics is currently on holiday, so could take a bit more time)
Gas & Water:
servicelocation//aggregatedGW is available with currently as payload:
{
“gwIntervalDatas”:[
{
“utcEndtime”:1516632900000,
“sensorId”:175,
“index0Delta”:2,
“index1Delta”:0,
“temperature”:246,
“humidity”:45,
“battLevel”:67,
“version”:1
}
]
}
Contains the consumption values aggregated per 5 minutes.
Note that this information is published on the 5 minutes boundary only if there was consumption during that 5 minute period.
Please note that the payload can still change. Not sure that we will keep the “gwIntervalDatas” as holder. This is useful to send data to the cloud and have multiple 5 minutes intervals in one message, but in the case of MQTT it will be 1 message each 5 minutes. Up to the MQTT listener to process the values.
Switch data:
servicelocation//aggregatedSwitch with as payload:
{
“switchIntervalDatas”:[
{
“utcEndtime”:1516632600000,
“activePower”:0,
“reactivePower”:0,
“version”:1,
“sensorId”:173
}
]
}
Please note that the payload can still change here, same remark as above.