Discussion: openHAB Google Assistant v4 - Breaking changes incoming

Yeah, I think that’s a great idea. I don’t see a “subscribe” option. Am I correct in thinking that you’re setting the Announcements category to “Watching”…

And then enabling “Email me when I am quoted, replied to, my @username is mentioned, or when there is new activity in my watched categories, tags or topics”?

image

The only downside I see is that there’s no way to only get the watched categories. It’s all or nothing. But that’s less of a concern for people who don’t visit the community daily.

Yes that is what I did, it’s normal to know at a topic level this exists, but my guess is most people do not know you can do it at the category level. You only get 1 to 3 a month so this works well at staying updated and I know exactly when the latest milestone is ready for download.

1 Like

I definitely didn’t know it could be done on a category level. But don’t you also get emails whenever someone replies or @'s you?

@ yes
A direct reply to a post = yes
A reply in the thread = no

I use tracking level not watching on threads, like this one, so that no emails get sent unless it is a direct reply. Not sure if I changed the default somewhere to make it default to tracking.

2 Likes

Whatever you do someone is going to be affected negatively. No matter what you do someone is not going to be happy.

Please update soon say next Friday 12th as people will have time over the weekend to address this.

For every one person that complains their will be 100 of us silently happy.

1 Like

I’ve realized that I can use a Gmail filter to auto-delete emails based on words in the subject line. I’ve set it up to exclude the announcements categories and personal messages. The query is:

list:(community.openhab.org) -{[PM] [Announcements]}

I’ll write up a quick tutorial, so that we can publicize this option.

Thanks!

1 Like

Thanks for looking at it and doing some documentation. The other suggestion I have is to change the cloud connector so that it can detect and place a Warn into people’s logs that a breaking change is coming, and exactly what needs to change based on what it is detecting that will break. When you had done all the needed changes you do not get any more Warns and you know your good for the change when it’s made. I had a look at this a while back and it is possible and I even came up with some code changes I had tested. The cloud connector can do syntax checking and it can log so a user gets useful feedback. I got kick back that the cloud connector should not syntax check so never went ahead with it, but this could be done. Does not help people that stay on an old version, but at least an effort can be made to help guide and assist users that do update and read the logs after an update.

1 Like

Done. Feedback would be appreciated.

4 Likes

Started work on a intermediate release for a transition phase so that configurations can be already be updated.

In the next days, I will also provide some “migration guide” to highlight again what needs to be considered and adjusted before we move on.

4 Likes

Here is a first draft of a migration guide:

Looks good to me. I know the required changes are trivial, but this just pre-emptively answers any questions and makes it clear that they’re trivial.

I’d suggest changing “Configuration Options” to “Breaking Changes” so that it jumps out a little more.

I went through the guide.

It might be worth mentioning that the Developer Sidebar in MainUI can search Item metadata. So if you search for “ga” you’ll get all the Items that currently have “ga” metadata. Unfortunately you’ll also get all the Items that have “ga” anywhere in the name or label of the Item too, but that’s still better than having to look through every one of your Items to remember which ones have the GA metadata.

Beyond that it seems pretty straight forward./

This does not work for me - or I do not get it…

The more tech-savvy people could also look into the REST-API, e.g. /rest/items/?metadata=ga and filter a bit :smiley:

Just in case there’s a step you are missing:

  1. Open the developer sidebar: alt-shift-d

  2. type “ga” into the search

  3. Click on “Show All” under Items and click the thumb tack icon next to each Item (skipping those you know for sure do not have the “ga” metadata.

  1. Click the gray “x” icon in the search box to clear the search. All your pinned Items will remain in the list.

  1. Click on the pencil icon next to the first Item in the list to navigate to the Item’s page. If it has “ga” metadata you’ll see it listed under “metadata”.

  1. Once the GA metadata has been verified and/or corrected, click the pushpin icon next to the Item in the list of pinned Items in the Developer sidebar to remove it from the list.

  2. Repeat 5-6 for the remaining Items.

1 Like

Thanks a lot.

Unfortunately, my search is only giving me 5 results overall, which are definitely not all of my annotated items. Is this something that has maybe changed in OH4, because I am still on 3.4.

Yes, definitely. It wasn’t until OH 4 that Item metadata was added to the search support in the developer sidebar.

1 Like

A new version has been released that includes support for the soon to be changed configuration options for Fan and Thermostat devices

Users can now start adjusting their setup to use the new configuration options:

  • Thermostat: modes has been renamed to thermostatModes
  • Fan: speeds has been renamed to fanSpeeds

Until the rollout of v4 both options should work, but I advice everyone to already adjust their setup.

Next to that I moved the migration guide to a new place: Migration Guide · openhab/openhab-google-assistant · Discussion #558 · GitHub

Please check your item types according to the attached list.

6 Likes

Are you going to do an announcement for this? I think it would be worthwhile.

Hi Michael
I used Openhab 3.x with GA without any issue.
Now I upgraded OH to 4.1.2 and cannot reconnect OH to GA.
I tried:
a) removed OH from this list https://myaccount.google.com/connections
b) removed all items except one simple (.items based config) : Switch Test “Test” { synonyms=“Test2”, ga=“Switch” }
c) tried re-add OH using Google Home app - I am receiving const error -unable add OH…" but OH was re-added to this list “https://myaccount.google.com/connections
d) enabled debug log…

15:23:15.029 [DEBUG] [.io.openhabcloud.internal.CloudClient] - Socket.IO pong: 21 ms
15:23:36.523 [DEBUG] [.io.openhabcloud.internal.CloudClient] - on(): request
15:23:36.526 [DEBUG] [.io.openhabcloud.internal.CloudClient] - Got request 678133
15:23:36.529 [DEBUG] [.io.openhabcloud.internal.CloudClient] - Path /rest/items/
15:23:36.533 [DEBUG] [.io.openhabcloud.internal.CloudClient] - Method GET
15:23:36.535 [DEBUG] [.io.openhabcloud.internal.CloudClient] - Headers: {"host":"myopenhab.org","accept":"application/json","user-agent":"openhab-cloud/0.0.1"}
15:23:36.538 [DEBUG] [.io.openhabcloud.internal.CloudClient] - Query {"metadata":"ga,synonyms","fields":"groupNames,groupType,name,label,metadata,type"}
15:23:36.541 [DEBUG] [.io.openhabcloud.internal.CloudClient] - Request method is GET
15:23:36.544 [DEBUG] [.io.openhabcloud.internal.CloudClient] - Jetty set header host = myopenhab.org
15:23:36.547 [DEBUG] [.io.openhabcloud.internal.CloudClient] - Jetty set header accept = application/json
15:23:36.550 [DEBUG] [.io.openhabcloud.internal.CloudClient] - Jetty set header user-agent = openhab-cloud/0.0.1
15:23:36.606 [DEBUG] [.io.openhabcloud.internal.CloudClient] - onHeaders 678133
15:23:36.612 [DEBUG] [.io.openhabcloud.internal.CloudClient] - onResponseContent: 678133, content size 387
15:23:36.617 [DEBUG] [.io.openhabcloud.internal.CloudClient] - onComplete: 678133
15:23:36.621 [DEBUG] [.io.openhabcloud.internal.CloudClient] - Finished responding to request 678133
15:23:40.031 [DEBUG] [.io.openhabcloud.internal.CloudClient] - Socket.IO ping

e) on phone called several times “sync devices” - error message or no mesage
All attempts failed - what can I check else? Could you help me please?

I remember that the initial sync might fail if the items do not have a proper state. Can you check if your switch actually has a state before trying to connect?