Following up I have my 2 thermostats and 5 nest cams connected.
My system is an OH 3.0.2 Release running on:
Raspbian GNU/Linux 10 (buster),
Kernel = Linux 5.10.17-v7l+,
Platform = Raspberry Pi 4 Model B Rev 1.2
I am seeing the following error every 30 minutes in the log. Since there is no reference to the nest binding, not sure this is related or a problem with OH core. The only binding I have running on this system is the Nest SDM binding.
I am also seeing my thermostats go offline and back on line about every 3-15 minutes, and pub/sub communication errors (Failed to send JSON POST request: Total timeout 60000 ms elapsed) causing the bridge to go offline.
18:19:34.265 [ERROR] [org.jupnp.transport.spi.StreamClient ] - Request: HttpRequest[GET HTTP/1.1]@29533c failed
java.lang.NullPointerException: Missing SslContextFactory
at java.util.Objects.requireNonNull(Objects.java:246) ~[?:?]
at org.eclipse.jetty.io.ssl.SslClientConnectionFactory.(SslClientConnectionFactory.java:54) ~[bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.client.HttpClient.newSslClientConnectionFactory(HttpClient.java:1175) ~[bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.client.HttpDestination.newSslClientConnectionFactory(HttpDestination.java:137) ~[bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.client.HttpDestination.(HttpDestination.java:94) ~[bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.client.PoolingHttpDestination.(PoolingHttpDestination.java:25) ~[bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.client.http.HttpDestinationOverHTTP.(HttpDestinationOverHTTP.java:32) ~[bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.client.http.HttpClientTransportOverHTTP.newHttpDestination(HttpClientTransportOverHTTP.java:51) ~[bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.client.HttpClient.destinationFor(HttpClient.java:546) ~[bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.client.HttpClient.send(HttpClient.java:579) ~[bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.client.HttpRequest.send(HttpRequest.java:728) ~[bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.client.HttpRequest.send(HttpRequest.java:681) ~[bundleFile:9.4.20.v20190813]
at org.jupnp.transport.impl.jetty.JettyStreamClientImpl$1.call(JettyStreamClientImpl.java:155) [bundleFile:?]
at org.jupnp.transport.impl.jetty.JettyStreamClientImpl$1.call(JettyStreamClientImpl.java:1) [bundleFile:?]
at org.jupnp.transport.spi.AbstractStreamClient$RequestWrapper.call(AbstractStreamClient.java:204) [bundleFile:?]
at org.jupnp.transport.spi.AbstractStreamClient$RequestWrapper.call(AbstractStreamClient.java:1) [bundleFile:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
at java.lang.Thread.run(Thread.java:834) [?:?]
Working really well on OH3.0.1 in Docker, thank you very much for this!
My apartment complex fitted Nests to every apartment because of the âCool to Dryâ function, and being able to control it from OH is great.
I really do wish manufacturers would bake in local comms for âSmartâ devices, so the cloud stuff wasnât necessary, but my internet connection here is decent, so it shouldnât be an issue. I really like the Shelly devices for this exact reason - MQTT baked right in.
NB: The only step I had to do in addition to those listed was a restart of OH3, after the Pub/Sub setup was done. After that, a scan of the Nest binding found my thermostat (it didnât find it before the restart).
Thank you for these updates @wborn. One questionâŠ
I built the changes in your repo myself and have been using them over the past month or so without issue. However today when I looked in my Google Cloud account, I noticed the google.pubsub.v1.Subscriber.ModifyAckDeadline Pub/Sub method received over 3.6 million requests in the past 30 days.
Is this behavior expected? The forecasted cost on my Google Cloud account is up 42k% over the previous month as a result.
I had horrible issues with google as well. However, I was already migrated and shortly after getting the Device Access Console working, my devices all disappeared from my Google/Nest account. Google support wasnât very helpful. The only action they could provide was to factory reset a dozen or so Nest devices and including them in my google account again. I wasnât pleased because I had another Nest âStructureâ (vacation home) and I could not monitor my thermostat during the winter. I also wasnât supposed to travel during covid restrictions so I had no way off resetting the device in a timely manner. The Nest devices are great when everything is working, but I hate the reliance on cloud.
Iâve actually had several calls with a real person and had my issue kicked up to the developers. But itâs been long enough now that I think the answer is going to be âcanât reproduce, wonât fix.â
I think the key was I provided all the information I could think of when I started the forum thread and I was meticulous in following the instructions the forum support person asked my to do even though I knew they wouldnât work because I had already done them. Doing that I was able to convince them that something was wrong.
From there I got a call and did all that was asked of me and we were able to discover that my Nest structure was somehow still around in the Nest App but Google Home was completely unaware of that structure. And it seems that as long as that structure is there Google Home canât see any of my Nest devices.
Iâm probably going to move the devices over to my wifeâs account. I donât have a strong need for Nest support in OH really, but itâd be great if I could see the feed on my Hubs when the doorbell rings again.
Hey! The PR with the SDM changes got merged recently. So you can use the SDM API by just installing the Nest Binding in recent 3.1 snapshots (build 2431 or newer).
Great news, just installed on a RPI 4 running 3.1.0-SNAPSHOT and all 5 cameras and 2 thermostats are online and sending updatesâŠ
Is there a way to display the camera live stream in OH? I have no issue doing this outside of OH using ffplay, but I canât for the life of me figure out if there is a way to do that in OH 3? Is it just so obvious that I am missing something? No amount of digging around the Community or the web has given me an approach that worksâŠ
I think so far there is no way to get the camera live stream directly - Maybe via the IP camera binding and the rtsps stream? But I think youâd have to update the thing configuration as the rtsps link keeps changing.
I run a tflite model on my camera snapshots and I use ffmpeg to grab a snapshot and then copy it to the html(static) folder after the inference.
Did you confirm that your SDM configuration publishing status is set to Production?
Configure the âPublishing statusâ of your Google Cloud Platform to âProductionâ (APIs & Services > OAuth consent screen) so the OAuth 2.0 tokens do not expire after 2 weeks.
I had most of the things set up for months already, partly through trial and error. Would have been better if I had deleted everything and started from scratch with the step by step guide.
Ok. I finally upgraded to 3.1 and am now using the native binding instead of the side-loaded one. Iâm still having two issues.
First and most importantly, I am not getting read/write access to the temperature settings. I can read/write the mode and eco_mode settings, but I can only read the temperature setpoints. Any ideas?
Second, I canât create the Bridge / account thing properly using the text files. It works ok the first time, but then it gives me an authorization error when I change or reload anything. I suspect this is because it is not retaining the refresh token. Given that the binding page on openhab.org shows an example of using a text file, I would have expected it to work. But I donât see anywhere that I can grab the refresh token. This isnât the biggest of deals because I can add the thing through the GUI (so far in a couple hours of testing it seems to work), but I prefer to keep everything in text files for easy clean installs.
Iâve got a silly question here apologies in advancedâŠIâm following the steps outlined in the guide and so far Iâve created a project in âDevice Access consoleâ and the next step was to configure OAuth 2.0 tokens so that they do not expire after 2 weeks.
Question is do I need to create a separate project in the âGoogle Cloud Platformâ OR will the project in âDevice Access consoleâ sync over?
Did you follow the step in the instructions where you create the SDM project prior to the step where you set the publishing status? The project name should appear on the OAuth screen in the pull down that says Select a project:
Give your project a name so it is easily recognizable
âSkipâ entering the OAuth client ID for now
If you want to download camera images using the binding, it is required to âEnableâ events. Enabling events also allows for faster thermostat state updates. The binding only uses events when the Pub/Sub configuration parameters of the Nest SDM Account Thing are also configured.
After clicking the âCreate projectâ button, the SDM project details of the created project show
Copy and save the Project ID at the top of the page (e.g. 585de72e-968c-435c-b16a-31d1d3f76833) somewhere