I don’t have any thermostats in auto eco mode at the moment, but I do believe that the current_eco_mode channel does change when the thermostat enters auto eco. I seem to recall that the eco modes I saw were off (i.e., normal mode), manual_eco (i.e., when you set it to eco), and eco (i.e., when the thermostat automatically goes into eco mode…I may have the name wrong on this one).
My experience was that I could not set auto eco model (e.g., through itemname.sendCommand("ECO")), but the item state would change. In other words, I could read the auto state, but not write it. If I wanted to force the thermostat back into normal mode through OH, I had to send the "MANUAL_ECO" (note all caps) command first, and then the "OFF" command.
Hi @wborn, it seems like the homebridge-nest plugin (while used with a google account) has access to Nest protect devices (smoke, carbon monoxide and even the motion sensor!), and also to the home/away part of the (old) structure. Is there any possibility to add these to the openHAB Nest (SDM) binding in a future version?
Firstly a big thanks to all the contributors for this binding!
I’ve got SDM to work with my nest devices. Need a bit of help if possible…essentially, I’ve noticed that the temperature values for my thermostat are reporting 5 decimal places e.g. 23.87507 strikes me as not being quite right.
The item is setup to as a Number, format Temperature.
What your seeing is normal. Depends on what interface your using to view the item state with. For instance, If you display this in a label card, it will format it with one decimal place. You can always edit the item and add a formatting pattern to it via the Add Metadata link on the edit item screen using the OpenHab settings for items.
The pattern formats are described in the link below for item states (will require a bit of reading if you have not been here before) and second link to the syntax used (more reading) but both required if your interested in designing good UI’s in OpenHab:
Unfortunately Google has not yet added the Protect devices to their SDM API. You can view all the devices currently supported with SDM at the link below:
Thanks for this, I knew it would be something simple!
Right so, I’m certain that I have the right formatting pattern to apply - this works in the Basic UI as expected.
Now, I’m attempting to use the temperature value within a custom widget (new UI). So what type of metadata link should I be using? I’ve tried StateDescription but doesn’t seem to be working or unless I’m referencing it incorrectly…
Jeevs, Its not really clear what your asking. Are you creating a custom widget? Regardless It sounds like you have the right place on the item metadata (State Description) which has a parameter for the formatting pattern. The documentation has some examples here and a link that I provided above to the java formatter class syntax. https://next.openhab.org/docs/configuration/items.html#state-presentation. These examples have brackets [ ] around them, you don’t use them when specifying the pattern.
I am using the Homebridge Nest plugin, and it is indeed supporting Nest Protect.
It does not work using SDM setup, but instead it is simulating a Nest client. Therefore, everything available is the Nest app including Protect can be fetched and updated as in the app itself.
You are correct on being able to see the Protect devices. Since the plugin uses the connection/session credentials from the Nest App, its able to pull that information… Unlike the OpenHab binding, it is not using the SDM API to access these devices directly - hence it is a “bridge” between the nest app and getting these devices to be accessible in HomeKit.
Perhaps there is an opportunity to code a Bridge in OpenHab that uses this approach as an alternative to SDM. Only downside seems to be with being sure you don’t reset your logged in Nest App connection which would require you to update the access token used by the bridge.
Well, it will take effort and skills to build it, but one suggestion could be that the current binding is expanded to also support a Nest client approach. That could be configurable from openHAB UI or Things file.
I have been using the Homekit Nest for approx.1 year, and it is stable. However, the cookie needs to be replaced now and then.
The guy behind this has also made a hardware easy to use solution called Starling Home Hub. I think you simply login to Nest from this box and derived from that gets the tokens needed. This can also be used for auto refresh of these.
One concern though is that it is probably not supported by Google, but I do not know if this has any consequences.
The workaround I’m currently using: installed both homebridge-nest and homebridge-mqttthing plugins and created some dummy mqttthing items in Homebridge. Then I sync the states of the nest- and mqtt items with homekit-automations for each item. This does work, but is a bit complicated in the sense of troubleshooting. My experience with the homebridge-nest plugin itself is that it’s indeed very stable, using it for almost 2 years now.
I ran into an issue where I thought I had to delete all my Nest SDM things and rebuild (I actually didn’t - just needed to refresh my authorization tokens )
I’ve rebuilt and now I get the same error you did:
Exception in oauth communication, grant type authorization_code: org.eclipse.jetty.client.HttpResponseException: HTTP protocol violation: Authentication challenge without WWW-Authenticate header
Do you recall what you did to overcome this?
Thanks,
Randy
UPDATE: Please disregard - I re-entered the info for a third time and it worked!
Could use some help with getting Channels showing up.
Using 3.1 stable on a new Openhabian installation on Pi. My nest thermostat account has been migrated from Nest to Google and using the SDM config of the binding. No problems with the SDM project ID, GCP Client OAuth and secret. No problems generating OTP authentication codes.
The status of the new Nest Thing is ONLINE “Using periodic refresh”. I am not using SubPub.
I get to 5.2 “Get an Access Token”
The curl commands runs but errors out with:
“error”: “redirect_uri_mismatch”
“error_description”: “Bad Request”
My JSON file has
“redirect_uris”:[“urn:ietf:wg:oauth:2.0:oob”,“http://localhost”]
I have tried using “http://localhost” as the URI in the curl statment but still getting the error.
Hi, great news that the binding is updated to SDM. The configuration went ok and I was able to discover my doorbell and add it as a thing. But I didn’t receive the last timestamp of the chime.
When I look at my subscriptions on Google Cloud Platform? it is empty. Do I need to make subscriptions? And if yes, is there an instruction for this?