matklucznyk / googlenest Goto Github PK
View Code? Open in Web Editor NEWCrestron S# library for controlling google nest devices
Crestron S# library for controlling google nest devices
https://wwwgoogleapis.com/auth/sdm.service is missing a . after www. Should be https://www.googleapis.com/auth/sdm.service
Need Fan off. Will need simpl# added to send timerMode: OFF
Hi, I started to try your module a few weeks ago, it worked but now I'm getting partial feedback from the thermostat module, when cool is called from crestron it actually turns the thermostat on but at the feedback side only shows the following signals:
IsOnline
RoomName
I had it running fine with 1 thermostat in the Nest account, it started with this behavior after adding more thermostats to the account, I went back to eliminate the thermostats in the account, erased projects in sandbox and Google Cloud Platform and created ne ones trying to replicate the functionality but still getting same results.
Needs digital HVACOff (Or similar) added after the other 3 modes and
push HVACOff
{
thermostat.SetHvacMode("OFF");
}
I had not set the label field in the Nest so CustomName returned empty. Since this is being used as the key for the device name rather than the device ID, throw an error if it is empty.
We are trying to use the library, we managed to authorize ourselves correctly and the macro is initialized and we get the Roomname.
We are also able to send heat, cool and eco commands which are received correctly by the thermostat.
We don't get any feedback (CurrentTemperature for example) in the variables and we can't set any setpoint
Fahrenheit conversion doesn't seem to be working properly. The formula the function looks correct. but it's not outputting properly. Attached are debugger screen shots and CURL pulls done within a few seconds of each other. Temp.Status shows 54.5 and in the JSON its "ambientTemperatureCelsius": 22.50 which should convert to 72.5. Based on what Im seeing, the math is just adding 32 without doing the * (5/9) in the first part of the formula. Maybe putting () around the entire thing will fix it so it looks like:
return ((temp * (9 / 5)) + 32);
I don't have my home machine setup with VS2008 or I would test it.
Somehow in the registration process, I didn't enable the Smart Devices. Went through the API commands using CURL and realized I was got the below error. Included it so you can add error text for this error in case it happens to someone else.
curl -X GET 'https://smartdevicemanagement.googleapis.com/v1/enterprises/project_id/devices'
-H 'Content-Type: application/json'
-H 'Authorization: Bearer access_code'
{
"error": {
"code": 403,
"message": "Smart Device Management API has not been used in project project_id before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/smartdevicemanagement.googleapis.com/overview?project=project_id then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.",
"status": "PERMISSION_DENIED",
"details": [
{
"@type": "type.googleapis.com/google.rpc.Help",
"links": [
{
"description": "Google developers console API activation",
"url": "https://console.developers.google.com/apis/api/smartdevicemanagement.googleapis.com/overview?project=project_id"
}
]
},
{
"@type": "type.googleapis.com/google.rpc.ErrorInfo",
"reason": "SERVICE_DISABLED",
"domain": "googleapis.com",
"metadata": {
"consumer": "projects/project_id",
"service": "smartdevicemanagement.googleapis.com"
}
}
]
}
}
Hi. When I pulse the Initialize signal, I get the following error message: "deviceRegistrationId value must be set. This is a required field."
Client ID, Client Secret & Project ID are all correct as I can see a generated refresh token on the processor in the google_nest_config file. My nest account and associated devices are all working as I've also verified I can issue the Devices API command using this refresh token (after getting a session token) by CURL commands to get the thermostat details.
Any ideas? I'm assuming the issue is on the Crestron side. Thank you in advance.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.