Closed jarlesb closed 4 years ago
I just understood that it was due to S+ 400 not registered yet. Could you please add?
Number is: 3600HB0103
Same here Type is 3600HB0105
I found someone who created a plugin for another smarthome system, maybe you can use some of the info there:
Hi Docromano,
It is just to add a few lines to the pyIndego module, but seems that development has stopped or is on hold.
However I fixed it by downloading the pyIndego package and placing it into the local folder and updated the import part. It is at least a work around until pyIndego is updated :)
You just have to find out what scheme your new 3600HB0105 is following.
Instructions:
The quick fix worked for me at least :)
Or you can just comment the lines using the modelVoltage() functions in the original init file, but then you will not get battery % data...
Thx man ! That works, at least I dont get any errors from hass anymore.
...well not really. I can now see sensors for my 350+, but it doesnt seem to connect - status unknown.
Log says this:`Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 295, in async_add_entities await asyncio.gather(*tasks) File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 445, in _async_add_entity entity.async_write_ha_state() File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 297, in async_write_ha_state self._async_write_ha_state() # type: ignore File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 320, in _async_write_ha_state state = self.state File "/config/custom_components/indego/sensor.py", line 204, in state if (self._IAPI._battery_percent > self._battery_percent_max): TypeError: '>' not supported between instances of 'NoneType' and
'NoneType'`
Did you copy both lines from the 350+ which was already there? Under model description and model voltage...
Or you can probably just change 3600HB0102 to 3600HB0105 for the two lines... Seems 102 is last years 350+, and 105 is this years if that is what you have...
Or you can probably just change 3600HB0102 to 3600HB0105 for the two lines... Seems 102 is last years 350+, and 105 is this years if that is what you have...
That´s exactly what I did. No luck.
I'm having the same issue. 350+ and getting:
Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/setup.py", line 175, in _async_setup_component component.setup, hass, processed_config # type: ignore File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run result = self.fn(*self.args, **self.kwargs) File "/config/custom_components/indego/__init__.py", line 54, in setup Mower() File "/config/custom_components/indego/__init__.py", line 113, in __init__ IndegoAPI_Instance.ModelVoltage() File "/usr/local/lib/python3.7/site-packages/pyIndego/__init__.py", line 680, in ModelVoltage return self._model_voltage AttributeError: 'IndegoAPI' object has no attribute '_model_voltage'
The component is using pyIndego==0.7.6
and as far as I can see that version has the lines for the 350+. Tried to update all to latest, but no dice. Does anyone have a clue? Is it a different model I'm running? Where can I check that, can't see it in the app and not seeing it anywhere on the machine.
/edit It's the 3600HB0105 and that's not in the code. Gonna fiddle something to see if I can get it to work.
/edit 2 Works after adding the two lines.
Hi Guys,
I have a new Indego S+ 350, can someone confirm what I need to do, I tried the above, but wasn't entirely sure on the steps :-/
Many thanks in advance!
P.S. I've heard that use of this component stops the mower sleeping, has anyone experienced this?
To test;
Find where your home-assistant installation has installed pyIndego
Edit __init__.py
and duplicate the current two S350 entries (for reference, these two entries:
https://github.com/jm-73/pyIndego/blob/ce96e15ab31a8dfd07f1543ab8f30b4c5ef76aa4/pyIndego/__init__.py#L93
https://github.com/jm-73/pyIndego/blob/ce96e15ab31a8dfd07f1543ab8f30b4c5ef76aa4/pyIndego/__init__.py#L104)
Change the modelid on the duplicated line from 3600HB0102 to 3600HB0105. Don't forget to add a comma on the line above the duplicated line.
Save, restart home-assistant, done.
About sleeping, I see that it sleeps 4 hours, during that time battery drops from full to ~ 70%. It charges, goes back to sleep. So it definitely goes to sleep. However, total runtime goes up non-stop. I wonder if that's normal behavior for the mower, since if you unplug it it immediately starts notifying every hour that it hasn't been able to see the perimeter wire for a while.
@UltraSub it worked, thank you :-)
Tested sleeping, and indeed, activating this component makes the robot stay awake. Although it says it's sleeping, there's more battery drainage, total runtime increases non stop and the display is activated a lot. Removing the component from hass stops this. Looks like if you use the api the robot is constantly being queried.
Sure looks like right now we have to choose to keep it awake and cycling the battery a lot faster and having skewed statistics by using the API constantly, or don't use the API and lose out on a lot of needed/wanted control of the robot.
I think there's a way to define polling logic based on the mower state...
I need to look further...
I think it's advisable to make the polling customizable with a parameter or to completely disable polling by parameter. That would still create the ability to control it in Hass without waking it up constantly for statistics. Calling the service to refresh the data once is also a good option.
I have committed pull requests to this repository. I am trying to keep this project alive. The battery drain is something I will try to fix in upcoming releases. More pull requests are welcome!
I looked into the Hass component to see if it was easy to add parameters, but I found myself going into a rabbit hole quite fast for needing to know how Hass actually works. Will see if I can find time to look further into this!
I really think we need to make it more parameter controlled. Set some defaults which are conservative, but if people want to query constantly, do it through a parameter. That also brings the question; does Bosch like that? Last thing we want to happen is them closing the api. The main reason I chose the Indego is the open api. I think we don't want Bosch having so much requests that they close it and make it a proprietary app thing.
:-) The Hass part is the tricky one! Python and a pypi package was the easy part! To sum it up I need some clarifications as you mention two model codes in the dialog above: 3600HB0103 3600HB0105
And as i read it, you say that you both have a Indego S+ 350. Is that correct? Confusing with two different model numbers for the same model.
Yes, correct. I missed it at first too. They're both named Indego S+ 350 but have a different internal model id. That's why I didn't change the names in my pull request that you merged, as they are the same machine.
Hi, 3600HB0103 is S+ 400 since I have that one. It seems that both 3600HB0102 and 3600HB0105 is S+ 350...
That is exactly what I had in mind, jarlesb. Maybe Ultrasub meant that 3600HB0102 and 3600HB0105 both is the S+ 350? @UltraSub ?
Maybe Ultrasub meant that 3600HB0102 and 3600HB0105 both is the S+ 350?
Indeed, that is what I meant!
Can also confirm owning a 2020 HB0105 being the S+350
Fixed in 0.8
Hi, and thanks for excellent work on this Bosch Indego add-on. Looks very good, but have not been able to get it to work yet :(
HA: 0.99.3 Indego version: 0.7.4 Mower: Bosch Indego 400 S+
I get the following error: Invalid config - The following components and platforms could not be set up: indego. Please check your config.
2019-10-01 21:56:22 ERROR (MainThread) [homeassistant.setup] Error during setup of component indego Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/setup.py", line 172, in _async_setup_component component.setup, hass, processed_config # type: ignore File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run result = self.fn(*self.args, **self.kwargs) File "/config/custom_components/indego/init.py", line 54, in setup Mower() File "/config/custom_components/indego/init.py", line 113, in init IndegoAPI_Instance.ModelVoltage() File "/usr/local/lib/python3.7/site-packages/pyIndego/init.py", line 680, in ModelVoltage return self._model_voltage AttributeError: 'IndegoAPI' object has no attribute '_model_voltage'