Hey @MatrixRewriter, thanks for sharing your yaml’s. Unfortunately I am stuck with the binary sensors “entity: binary_sensor.constant_false”. Shouldn’t those be defined in the configuration.yaml? I think you have not shared these code snippets yet? Could you also please share them? Thanks
Hi @Merber90 and welcome to the forum!
In all honesty this Navimow to Google Assistant API trick could be the computing equivalent of learning how to cook with Casey Ryback: it’s not pretty – but it indeed works and does the job until we (hopefully) get a proper API for that great mower
I’ve edited my earlier post to add the definition of those constants for you.
Cheers!
I finally got around to trying out the Google integration that @MatrixRewriter explained and it works very well. Thank you!
It was a little confusing why he recommends a custom event until you dig in and then it makes total sense. I started with a template sensor with triggers, but then I didn’t have as much control over blocking off certain periods of time, such as night time, so that was a brilliant workaround.
I plan on dialing it in a bit as I use it and over the past 20 hours or so I see that Google only registered 221 calls, and this included a span of time where I was hitting it much harder than every 5 minutes - so I think it may be possible to juice that up a bit. I don’t think that multiple commands on one call represents more than one API credit, but I’m not 100% certain of that yet.
For me this is all more of an FYI system than truly being able to replace having to use the app and scheduler for Navimow. Until they allow you to set which zone to start or even provide feedback as to the mowers position on the property to allow you to fine tune things (such as when to open the gate) then my original system will still represent 90% of the use. However it’s nice to be able to pause and dock it via the API and knowing the battery level is a nice FYI.
As this API matures, which I hope it does, it would be nice to not have to use the app for anything more than updates and mapping but I’d love to have the ability to geofence the mower so that when it hits a threshold it will prompt to open the gate (something I’m actively working to automate with solar, ESP and actuators) and then to close it.
Thanks man, great stuff and finally I got it working! Don’t ask me why I had to use “park Navimow” instead of “dock Navimow” in order to get it docked - it took me hours to fix that sh*t haha - but now it works as it should.
And hell yeah I guess we all would love to have an API for that great device, let’s have our fingers crossed that segway does the right thing…
After some testing I can confirm that sending two commands does constitute two requests on Google. After accounting for the ~8 hours it wasn’t enabled to run, I can see that every 5 minutes is exactly 2 requests, based on the 24 hour report from Google.
What I’m toying with now is creating a schedule in HA that matches my schedule in the Navimow app so that the refresh only happens when the mower is running and while the battery is < 100% with one failsafe recheck every 30 minutes, this should permit me to poll the mower pretty heavily while it’s actually active. I think this will equate to being able to poll the mower every 90 to 120 seconds.
@MatrixRewriter
I’ve integrated the Google Assistant SDK in Home Assistant. Have you a script for me? Have a special card for your mower? For me would just start/stop/home and the battery is sufficient to start.
Ich sehe den mower nicht in Home Assistant in Google Assistant SDK.
Vielen Dank.
I set this up recently. The battery sensor seems to be working perfectly, but the status sensor is always unknown
. If I run the status query from the automation in dev tools I get the correct response:
responses:
- text: Navimow is running.
Any ideas on why the status sensor isn’t showing correctly?
Edit: Figured it out. I renamed my mower to Navimow
in Google Home so I had to modify the automation to:
status: >-
{{ result.responses[1].text | regex_replace(find='.*Navimow
(.*)\.', replace='\\1', ignorecase=True) }}
When I run this command in Home Assistant I just get:
responses:
- text: null
It works when issuing it from the Google Assistant App on my Phone.
I can also send stop and start commands from Home Assistant, that also works. I just always get the above response, no matter what the command is.
Anyone else seeing that?
Hi @briis ,
Yes! There is a bug in Google Assistant, it may send HTML instead of text responses. And Home Assistant’s built-in integrations are not allowed to parse HTML for security reasons. Therefore you need to install this custom integration for Google Assistant SDK and it will work:
That did the trick. Thank you @MatrixRewriter
Hey all
Since today the 5min scheduled command „Navimow i105 battery level,is Navimow i105 running“ started my robot several times?!?!
Has anybody the same issue? Really strange.
Hi @davesen ,
Argh… you’re right, same is happening to me.
I think either there’s a bug at Google/Segway, or the sentence is being considered as a order now.
If you manually submit a slightly different sentence through the Google Assistant API Custom add-on, does it help?
Same problem here. No solution yet.
Does it also happen as a regular (human) Google Assistant user?
If it does, then I think it might have been reported (or should be reported) also on Segway’s forums…
I don’t have that problem here, but I had some errors in the log in the past.
So I add this condition, maybe it helps solving your problem :
- choose:
- conditions:
- condition: template
value_template: >
{{ result.responses[0].text is match('.*([0-9]+) percent.*',
ignorecase=True) }}
sequence:
- event: set_navimow_i108_state
event_data:
battery_level: >-
{{ result.responses[0].text | regex_replace(find='.* ([0-9]+)
percent.*', replace='\\1', ignorecase=True) }}
status: >-
{{ result.responses[1].text | regex_replace(find='.*Navimow i
108 (.*)\.', replace='\\1', ignorecase=True) }}
Thanks @Tsar , but I don’t think the problem is on our side unfortunately.
My isn’t starting itself either. I am using the original “code” for this.
Issue persists for me at least.
I wonder if it’s a firmware update that hasn’t reached some of us yet.
I think it’s not likely to be firmware-related, but here are the versions I have:
Navimow OS V3.1.0
ACU firmware v 1.0.4.A
ECU firmware v 1.0.3.4
Vehicle Control firmware v 1.0.2.0
Charging station firmware v 1.0.1.1
Vision Core firmware v 1.0.0.2