Barma-lej / halandroid

Worx Landroid package for Home Assistant based on Landroid Cloud by @MTrab
MIT License
112 stars 49 forks source link

script error set multizone #42

Closed infohannes closed 2 years ago

infohannes commented 2 years ago

Hello Barma-lej

at first thanks for your great work! Every think is working fine without setup from my multizone If I select a zone number, then I get this script error: script/mower_setzone can only concatenate str(not "int") to str...

Can you or any other person here help me?

I use Home Assistant 2022.4.0

Originally posted by @infohannes in https://github.com/Barma-lej/halandroid/issues/39#issuecomment-1092874051

Barma-lej commented 2 years ago

Can you publish full error text?

Barma-lej commented 2 years ago

Try to remove | int(0) in line:

zone: "{{ states('input_select.mower_zone') | int(0) }}"

e.g.

zone: "{{ states('input_select.mower_zone') }}"
infohannes commented 2 years ago

Hey Barmalej,

thanks for feedback. I've already tried that, unfortunately it doesn't solve this problem... Inside the home assitant develoment tools. It's working, when I insert for the zone '0' ; '1' 2,3 service: landroid_cloud.setzone data: id: '{{ state_attr(''sensor.landroid_mower_status'',''id'') }}' zone: '0'

Inside the template editor its looking good... Screenshot_1

But If I call it, see here

IMG_7379

Barma-lej commented 2 years ago

It's fixed by https://github.com/MTrab/landroid_cloud/issues/98 You should update integration landroid_cloud

infohannes commented 2 years ago

barmalej, thank you for your feedback. Now I've updated my Landroid Cloud to version 1.8.5 (these should contain your bug fix) and restart Home Assistant, but it's still the same error. I mean, in this official version it is not included. It may be? Screenshot_2 best regards infohannes

infohannes commented 2 years ago

logging too...

Logger: homeassistant.components.script.mower_setzone Source: custom_components/landroid_cloud/init.py:351 Integration: Skript (documentation, issues) First occurred: 20:41:12 (4 occurrences) Last logged: 20:45:53

Mower set mowing zone: Error executing script. Unexpected error for call_service at pos 3: can only concatenate str (not "int") to str Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 379, in _async_step await getattr(self, handler)() File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 582, in _async_call_service_step await service_task File "/usr/src/homeassistant/homeassistant/core.py", line 1634, in async_call task.result() File "/usr/src/homeassistant/homeassistant/core.py", line 1671, in _execute_service await cast(Callable[[ServiceCall], Awaitable[None]], handler.job.target)( File "/config/custom_components/landroid_cloud/init.py", line 351, in handle_setzone cli.setZone(call.data["zone"]) File "/usr/local/lib/python3.9/site-packages/pyworxcloud/init.py", line 327, in setZone msg = '{"mz":' + zone + '}' TypeError: can only concatenate str (not "int") to str

infohannes commented 2 years ago

@Barma-lej now is fixed with your great support Thank you

grafik