Skip to content
This repository has been archived by the owner on Sep 14, 2023. It is now read-only.

Garage doors discovered but commands dont exist or do not work #26

Closed
1 task
godza opened this issue Feb 26, 2023 · 38 comments
Closed
1 task

Garage doors discovered but commands dont exist or do not work #26

godza opened this issue Feb 26, 2023 · 38 comments
Labels
bug Something isn't working

Comments

@godza
Copy link

godza commented Feb 26, 2023

Type of problem

  • A feature does not work as expected.

Version

2.1.0

Detailed description

hacs-homee detects two of my garage doors properly, but there are no commands for opening/closing, only the position slider which does not work. By that I mean, I can drag the slider, but the gate does not move.

Logbook shows the history of opening/closing doors, so it works properly, and there is open/closed sensor with % open and that works properly.

Error log


Unfortunately, there are now warnings/error logs. I have logger: in my configuration file and there are logs by other components but none from hacs-homee

@Taraman17
Copy link
Contributor

I am on it to create a pullrequest that adds logging of found devices if you add the Integration - with that we should be able to see what garage door opener you use and which features it has.

@godza
Copy link
Author

godza commented Feb 26, 2023

Thank you very much

@serdar-22
Copy link

serdar-22 commented Feb 27, 2023

Hello

i have the same issue.
since today with update, i see the status of Hörmann Supramatic E4 Garage.

But i can`t open or close by homeassistant.
I dont have any errors.
can you please help me, thank you very much

image
image

@FreshlyBrewedCode FreshlyBrewedCode added the bug Something isn't working label Feb 27, 2023
@godza
Copy link
Author

godza commented Feb 27, 2023

Hello

i have the same issue. since today with update, i see the status of Hörmann Supramatic E4 Garage.

But i can`t open or close by homeassistant. I dont have any errors. can you please help me, thank you very much

image image

I forgot to mention, i too have Hörmann Supramatic E4 and also P4.

@Taraman17
Copy link
Contributor

To be sure:
Did the garage-doors work before?

@serdar-22
Copy link

no the garage doors dont work before over home assistant.

its work only directly with homee

@godza
Copy link
Author

godza commented Feb 28, 2023 via email

@Taraman17
Copy link
Contributor

OK, then at least I didn't break anything.

Just got a new version on the way, that adds logging of device capabilities. See the readme on how to obtain logs and when HACS offers you the update, post them here, then I have a look

@godza
Copy link
Author

godza commented Mar 1, 2023

It seems that the new build failed for some reason. Can you check, please. Thanks

@Taraman17
Copy link
Contributor

Now it worked

@godza
Copy link
Author

godza commented Mar 1, 2023

I added

logger: default: warn logs: custom_components.homee: info

to the configuration file, restarted home assistant, uninstalled homee integration, and installed it again and these are only lines mentioning homee

2023-03-01 18:45:41.140 INFO (MainThread) [custom_components.homee.config_flow] got access token for homee 2023-03-01 18:45:41.140 INFO (MainThread) [custom_components.homee.config_flow] homee task created 2023-03-01 18:45:41.283 INFO (MainThread) [custom_components.homee.config_flow] homee connected 2023-03-01 18:45:41.284 INFO (MainThread) [custom_components.homee.config_flow] homee disconnecting 2023-03-01 18:45:41.295 INFO (MainThread) [custom_components.homee.config_flow] homee config successfully tested 2023-03-01 18:45:41.295 INFO (MainThread) [custom_components.homee.config_flow] created new homee entry with ID 00055112F058

So, no mention of found devices in logs, but hacs-homee found them same way in 2.1.0.

Screenshot 2023-03-01 at 18 52 44

@Taraman17
Copy link
Contributor

Did you add the config entry in one line as here, or as laid down in readme?

@godza
Copy link
Author

godza commented Mar 1, 2023

Laid down
Screenshot 2023-03-01 at 18 56 38

@godza
Copy link
Author

godza commented Mar 1, 2023

I changed logger default to be info and now i see all information we need

2023-03-01 18:59:03.129 INFO (MainThread) [homee] Found node Smaller Garage Door, with note # Hörmann SupraMatic E4 and Attributes [{'id': 29, 'node_id': 5, 'instance': 0, 'minimum': 0, 'maximum': 1, 'current_value': 0.0, 'target_value': 0.0, 'last_value': 1.0, 'unit': '', 'step_value': 1.0, 'editable': 1, 'type': 385, 'state': 1, 'last_changed': 1676974578, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': ''}, {'id': 30, 'node_id': 5, 'instance': 0, 'minimum': 0, 'maximum': 10000, 'current_value': 0.0, 'target_value': 0.0, 'last_value': 0.0, 'unit': 'text', 'step_value': 1.0, 'editable': 0, 'type': 45, 'state': 1, 'last_changed': 1676974575, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 4, 'data': '00174816aa', 'name': ''}, {'id': 31, 'node_id': 5, 'instance': 0, 'minimum': 0, 'maximum': 1, 'current_value': 0.0, 'target_value': 0.0, 'last_value': 1.0, 'unit': 'n%2Fa', 'step_value': 1.0, 'editable': 1, 'type': 305, 'state': 1, 'last_changed': 1677692134, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': ''}, {'id': 32, 'node_id': 5, 'instance': 0, 'minimum': 0, 'maximum': 1, 'current_value': 0.0, 'target_value': 0.0, 'last_value': 0.0, 'unit': 'n%2Fa', 'step_value': 1.0, 'editable': 1, 'type': 306, 'state': 1, 'last_changed': 1677692134, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': ''}, {'id': 33, 'node_id': 5, 'instance': 0, 'minimum': 0, 'maximum': 1, 'current_value': 0.0, 'target_value': 0.0, 'last_value': 0.0, 'unit': 'n%2Fa', 'step_value': 1.0, 'editable': 1, 'type': 378, 'state': 1, 'last_changed': 1677692134, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': ''}, {'id': 34, 'node_id': 5, 'instance': 0, 'minimum': 0, 'maximum': 100, 'current_value': 100.0, 'target_value': 100.0, 'last_value': 100.0, 'unit': '%25', 'step_value': 1.0, 'editable': 0, 'type': 15, 'state': 1, 'last_changed': 1677692134, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': '', 'options': {'history': {'day': 35, 'week': 5, 'month': 1}}}, {'id': 35, 'node_id': 5, 'instance': 0, 'minimum': 0, 'maximum': 1, 'current_value': 0.0, 'target_value': 0.0, 'last_value': 0.0, 'unit': 'n%2Fa', 'step_value': 1.0, 'editable': 0, 'type': 70, 'state': 1, 'last_changed': 1677692134, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': '', 'options': {'history': {'day': 182, 'week': 26, 'month': 6, 'stepped': True}}}, {'id': 36, 'node_id': 5, 'instance': 0, 'minimum': 0, 'maximum': 4, 'current_value': 1.0, 'target_value': 1.0, 'last_value': 1.0, 'unit': 'n%2Fa', 'step_value': 1.0, 'editable': 1, 'type': 135, 'state': 1, 'last_changed': 1677692134, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': '', 'options': {'can_observe': [300], 'automations': ['toggle']}}] 2023-03-01 18:59:03.129 INFO (MainThread) [homee] Found node homee, with note and Attributes [{'id': 1, 'node_id': -1, 'instance': 0, 'minimum': 0, 'maximum': 200, 'current_value': 0.0, 'target_value': 0.0, 'last_value': 0.0, 'unit': 'n%2Fa', 'step_value': 1.0, 'editable': 1, 'type': 205, 'state': 1, 'last_changed': 16, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': '', 'options': {'history': {'day': 182, 'week': 26, 'month': 6, 'stepped': True}}}, {'id': 2, 'node_id': -1, 'instance': 0, 'minimum': 0, 'maximum': 0, 'current_value': 1677774592.0, 'target_value': 1677774592.0, 'last_value': 1677688064.0, 'unit': 'unixtimestamp', 'step_value': 1.0, 'editable': 0, 'type': 241, 'state': 1, 'last_changed': 1677688021, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': ''}, {'id': 3, 'node_id': -1, 'instance': 0, 'minimum': 0, 'maximum': 0, 'current_value': 1677734400.0, 'target_value': 1677734400.0, 'last_value': 1677648128.0, 'unit': 'unixtimestamp', 'step_value': 1.0, 'editable': 0, 'type': 242, 'state': 1, 'last_changed': 1677648121, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': ''}, {'id': 4, 'node_id': -1, 'instance': 0, 'minimum': 0, 'maximum': 255, 'current_value': 7.0, 'target_value': 7.0, 'last_value': 7.0, 'unit': 'n%2Fa', 'step_value': 1.0, 'editable': 0, 'type': 243, 'state': 1, 'last_changed': 1677692101, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': ''}, {'id': 5, 'node_id': -1, 'instance': 0, 'minimum': -20, 'maximum': 45, 'current_value': 6.55, 'target_value': 6.55, 'last_value': 6.55, 'unit': '%C2%B0C', 'step_value': 1.0, 'editable': 0, 'type': 244, 'state': 1, 'last_changed': 1677692101, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': ''}, {'id': 6, 'node_id': -1, 'instance': 0, 'minimum': 0, 'maximum': 100, 'current_value': 77.0, 'target_value': 77.0, 'last_value': 77.0, 'unit': '%25', 'step_value': 1.0, 'editable': 0, 'type': 245, 'state': 1, 'last_changed': 1677692101, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': ''}, {'id': 7, 'node_id': -1, 'instance': 1, 'minimum': 0, 'maximum': 255, 'current_value': 7.0, 'target_value': 7.0, 'last_value': 7.0, 'unit': 'n%2Fa', 'step_value': 1.0, 'editable': 0, 'type': 246, 'state': 1, 'last_changed': 1677692101, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': ''}, {'id': 8, 'node_id': -1, 'instance': 2, 'minimum': 0, 'maximum': 255, 'current_value': 2.0, 'target_value': 2.0, 'last_value': 2.0, 'unit': 'n%2Fa', 'step_value': 1.0, 'editable': 0, 'type': 246, 'state': 1, 'last_changed': 1677692101, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': ''}, {'id': 9, 'node_id': -1, 'instance': 3, 'minimum': 0, 'maximum': 255, 'current_value': 7.0, 'target_value': 7.0, 'last_value': 7.0, 'unit': 'n%2Fa', 'step_value': 1.0, 'editable': 0, 'type': 246, 'state': 1, 'last_changed': 1677692101, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': ''}, {'id': 10, 'node_id': -1, 'instance': 1, 'minimum': -20, 'maximum': 45, 'current_value': 2.08, 'target_value': 2.08, 'last_value': 2.08, 'unit': '%C2%B0C', 'step_value': 1.0, 'editable': 0, 'type': 247, 'state': 1, 'last_changed': 1677692101, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': ''}, {'id': 11, 'node_id': -1, 'instance': 2, 'minimum': -20, 'maximum': 45, 'current_value': 4.0, 'target_value': 4.0, 'last_value': 4.0, 'unit': '%C2%B0C', 'step_value': 1.0, 'editable': 0, 'type': 247, 'state': 1, 'last_changed': 1677692101, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': ''}, {'id': 12, 'node_id': -1, 'instance': 3, 'minimum': -20, 'maximum': 45, 'current_value': 3.99, 'target_value': 3.99, 'last_value': 3.99, 'unit': '%C2%B0C', 'step_value': 1.0, 'editable': 0, 'type': 247, 'state': 1, 'last_changed': 1677692101, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': ''}, {'id': 13, 'node_id': -1, 'instance': 1, 'minimum': -20, 'maximum': 45, 'current_value': 7.8, 'target_value': 7.8, 'last_value': 7.8, 'unit': '%C2%B0C', 'step_value': 1.0, 'editable': 0, 'type': 248, 'state': 1, 'last_changed': 1677692101, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': ''}, {'id': 14, 'node_id': -1, 'instance': 2, 'minimum': -20, 'maximum': 45, 'current_value': 5.47, 'target_value': 5.47, 'last_value': 5.47, 'unit': '%C2%B0C', 'step_value': 1.0, 'editable': 0, 'type': 248, 'state': 1, 'last_changed': 1677692101, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': ''}, {'id': 15, 'node_id': -1, 'instance': 3, 'minimum': -20, 'maximum': 45, 'current_value': 7.31, 'target_value': 7.31, 'last_value': 7.31, 'unit': '%C2%B0C', 'step_value': 1.0, 'editable': 0, 'type': 248, 'state': 1, 'last_changed': 1677692101, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': ''}, {'id': 16, 'node_id': -1, 'instance': 0, 'minimum': 0, 'maximum': 150, 'current_value': 3.19, 'target_value': 3.19, 'last_value': 3.19, 'unit': 'km%2Fh', 'step_value': 1.0, 'editable': 0, 'type': 262, 'state': 1, 'last_changed': 1677692101, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': ''}, {'id': 17, 'node_id': -1, 'instance': 0, 'minimum': 0, 'maximum': 150, 'current_value': 7.03, 'target_value': 7.03, 'last_value': 7.03, 'unit': 'km%2Fh', 'step_value': 1.0, 'editable': 0, 'type': 263, 'state': 1, 'last_changed': 1677692101, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': ''}, {'id': 18, 'node_id': -1, 'instance': 0, 'minimum': 0, 'maximum': 100, 'current_value': 23.05, 'target_value': 23.05, 'last_value': 23.146, 'unit': '%25', 'step_value': 0.1, 'editable': 0, 'type': 311, 'state': 1, 'last_changed': 1677693541, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': '', 'options': {'history': {'day': 1, 'week': 26, 'month': 6}}}, {'id': 19, 'node_id': -1, 'instance': 0, 'minimum': 0, 'maximum': 100, 'current_value': 24.34, 'target_value': 24.34, 'last_value': 24.402, 'unit': '%25', 'step_value': 0.1, 'editable': 0, 'type': 312, 'state': 1, 'last_changed': 1677693541, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': '', 'options': {'history': {'day': 1, 'week': 26, 'month': 6}}}, {'id': 20, 'node_id': -1, 'instance': 0, 'minimum': 0, 'maximum': 100, 'current_value': 9.511, 'target_value': 9.511, 'last_value': 9.511, 'unit': '%25', 'step_value': 0.1, 'editable': 0, 'type': 313, 'state': 1, 'last_changed': 1677693541, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': '', 'options': {'history': {'day': 1, 'week': 26, 'month': 6}}}] 2023-03-01 18:59:03.129 INFO (MainThread) [homee] Found node Larger Garage Door, with note and Attributes [{'id': 21, 'node_id': 4, 'instance': 0, 'minimum': 0, 'maximum': 1, 'current_value': 1.0, 'target_value': 1.0, 'last_value': 0.0, 'unit': '', 'step_value': 1.0, 'editable': 1, 'type': 385, 'state': 1, 'last_changed': 1677582300, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': ''}, {'id': 22, 'node_id': 4, 'instance': 0, 'minimum': 0, 'maximum': 10000, 'current_value': 0.0, 'target_value': 0.0, 'last_value': 0.0, 'unit': 'text', 'step_value': 1.0, 'editable': 0, 'type': 45, 'state': 1, 'last_changed': 1676973816, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 4, 'data': '00174816aa', 'name': ''}, {'id': 23, 'node_id': 4, 'instance': 0, 'minimum': 0, 'maximum': 1, 'current_value': 0.0, 'target_value': 0.0, 'last_value': 1.0, 'unit': 'n%2Fa', 'step_value': 1.0, 'editable': 1, 'type': 305, 'state': 1, 'last_changed': 1677692303, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': ''}, {'id': 24, 'node_id': 4, 'instance': 0, 'minimum': 0, 'maximum': 1, 'current_value': 0.0, 'target_value': 0.0, 'last_value': 0.0, 'unit': 'n%2Fa', 'step_value': 1.0, 'editable': 1, 'type': 306, 'state': 1, 'last_changed': 1677692303, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': ''}, {'id': 25, 'node_id': 4, 'instance': 0, 'minimum': 0, 'maximum': 1, 'current_value': 0.0, 'target_value': 0.0, 'last_value': 0.0, 'unit': 'n%2Fa', 'step_value': 1.0, 'editable': 1, 'type': 378, 'state': 1, 'last_changed': 1677692303, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': ''}, {'id': 26, 'node_id': 4, 'instance': 0, 'minimum': 0, 'maximum': 100, 'current_value': 100.0, 'target_value': 100.0, 'last_value': 100.0, 'unit': '%25', 'step_value': 1.0, 'editable': 0, 'type': 15, 'state': 1, 'last_changed': 1677692303, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': '', 'options': {'history': {'day': 35, 'week': 5, 'month': 1}}}, {'id': 27, 'node_id': 4, 'instance': 0, 'minimum': 0, 'maximum': 1, 'current_value': 0.0, 'target_value': 0.0, 'last_value': 0.0, 'unit': 'n%2Fa', 'step_value': 1.0, 'editable': 0, 'type': 70, 'state': 1, 'last_changed': 1677692303, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': '', 'options': {'history': {'day': 182, 'week': 26, 'month': 6, 'stepped': True}}}, {'id': 28, 'node_id': 4, 'instance': 0, 'minimum': 0, 'maximum': 4, 'current_value': 1.0, 'target_value': 1.0, 'last_value': 1.0, 'unit': 'n%2Fa', 'step_value': 1.0, 'editable': 1, 'type': 135, 'state': 1, 'last_changed': 1677692304, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': '', 'options': {'can_observe': [300], 'automations': ['toggle']}}]

@Taraman17
Copy link
Contributor

I changed logger default to be info and now i see all information we need

From what I can see, the two garage doors both have the same opener model.
It supports open/close by one button, two different partial open position buttons and a light toggle button.

It is not possible to set a position to move it to with a slider in Homee, correct?

@godza
Copy link
Author

godza commented Mar 1, 2023

Exactly, it's not possible to set position to any certain percentage.

Also, you've listed exactly all buttons i have in my homee app.

Here is the screenshot
IMG_E59EDB86565C-1

@godza
Copy link
Author

godza commented Mar 1, 2023

Sorry, one correction, it has two buttons on for up and one for down. Also, when it's closing if you press the close button it becomes stop button, and while is opening, open button becomes stop button.

@Taraman17
Copy link
Contributor

And from an intermediate position, you can either start to open or close with the respective buttons!?

@godza
Copy link
Author

godza commented Mar 1, 2023

Yes. up goes up, down goes down when in intermediate position

@Taraman17
Copy link
Contributor

Taraman17 commented Mar 1, 2023

If you know how to do it, you could test for me, by replacing cover.py in your config/custom_components/homee directory with the below version and restarting HA (maybe it is also enough to reload the homee integration).
Else it will be necessary to delete and then re-add the Integration.
This should enable the UP/DOWN and STOP functions and show the position.

For the partly open functions I will have to add additional switches.

cover.py: https://github.com/Taraman17/hacs-homee/blob/master/custom_components/homee/cover.py

@godza
Copy link
Author

godza commented Mar 1, 2023

I did that, and hurrah! up/down/stop buttons showed up on both covers. Both up/down buttons work as expected, but stop does not do anything. Great job!

@Taraman17
Copy link
Contributor

Thanks. I'll have a look at the stop thing and the others the next days.

@godza
Copy link
Author

godza commented Mar 2, 2023

Great, thank you for your hard work. Is there a way i can donate to this project?

@Taraman17
Copy link
Contributor

I just changed switch.py so it should discover your partially open impulses:
https://github.com/Taraman17/hacs-homee/blob/master/custom_components/homee/switch.py

For your stop button, I fear there is no really good solution. Since your device only does stop on repressing the previous command, I would have to disable the stop button for it. But since I only get the deviceClass (Garage_Door_Opener) and the information that it supports an UP_DOWN attribute from Homee, I can't distinguish it from other models, that might have a stop function.
So I think, you will have to live with the button having no function.

Does the position indication work for you in HA?

@godza
Copy link
Author

godza commented Mar 2, 2023

I replaced my switch.py with the one you provided; no new switches appeared in the integration.

Regarding the stop button, is it possible that on its execution, check if door is_opening and if true, execute command UP, and check if is_closing is true and then execute command DOWN, otherwise, skip executing anything? This would practically function as real stop command should.

@Taraman17
Copy link
Contributor

Can you make me a screenshot of the upper left field of the device view of one of your garage doors?
like this one:
grafik

@godza
Copy link
Author

godza commented Mar 2, 2023

Sorry for the late reply. Here is the screenshot of the whole page

Screenshot 2023-03-03 at 00 58 50

@Taraman17
Copy link
Contributor

No sweat - had to go to bed anyway. ;-)

Hmm, the device class "GARAGE_DOOR_OPERATOR" is as expected, so I wonder, why the switches don't show up.

Since this is not my project and I just got in it because I also want my Garage door to work (A Hörmann Series 3), I'm still not sure, what shows up after reload/reboot/etc.
You could check if the file was really replaced correctly and if there are any error messages in the logs...

For the Stop Button:

Regarding the stop button, is it possible that on its execution, check if door is_opening and if true, execute command UP, and check if is_closing is true and then execute command DOWN, otherwise, skip executing anything? This would practically function as real stop command should.

Yes I could do that. The point is, that I don't know all garage door operators supported by Homee. And the only info I get is the class "GARAGE_DOOR_OPERATOR". If there is another one, that has a stop button, that would stop working. So as long as I don't have a way to get the exact model, I don't want to do this.
Right now, there is information about the Model in a field that is called "Note", but that is user editable, so not suitable for that.

@godza
Copy link
Author

godza commented Mar 3, 2023

I understand; basically, the example of solution I gave you consider a hack, and without limiting that hack to a certain model of garage door or some identifier that can differentiate garage doors that use this behavior of stop being the same button as up/down, it's irresponsible to apply this logic to all garage doors supported by homee.

Do you know which library is responsible for determining vendor and garage door model? I think that library needs to be updated if homee provides that information.

Regarding the switches, you were right; there was an error in the logs:

2023-03-03 16:30:07.364 INFO (MainThread) [homeassistant.components.light] Setting up light.homee 2023-03-03 16:30:07.365 INFO (MainThread) [homeassistant.components.climate] Setting up climate.homee 2023-03-03 16:30:07.365 INFO (MainThread) [homeassistant.components.binary_sensor] Setting up binary_sensor.homee 2023-03-03 16:30:07.367 INFO (MainThread) [homeassistant.components.switch] Setting up switch.homee 2023-03-03 16:30:07.368 INFO (MainThread) [homeassistant.components.cover] Setting up cover.homee 2023-03-03 16:30:07.368 INFO (MainThread) [homeassistant.components.sensor] Setting up sensor.homee 2023-03-03 16:30:07.397 INFO (MainThread) [homeassistant.setup] Setting up homekit 2023-03-03 16:30:07.406 ERROR (MainThread) [homeassistant.components.switch] Error adding entities for domain switch with platform homee Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 442, in async_add_entities await asyncio.gather(*tasks) File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 607, in _async_add_entity if not entity.name: File "/config/custom_components/homee/switch.py", line 118, in name return attribute_name[0, attribute_name.find("_IMPULSE")] TypeError: string indices must be integers 2023-03-03 16:30:07.445 INFO (MainThread) [homeassistant.setup] Setting up cast 2023-03-03 16:30:07.445 INFO (MainThread) [homeassistant.setup] Setup of domain cast took 0.0 seconds 2023-03-03 16:30:07.445 INFO (MainThread) [homeassistant.setup] Setup of domain homekit took 0.0 seconds 2023-03-03 16:30:07.448 INFO (MainThread) [custom_components.hacs] Stage changed: setup 2023-03-03 16:30:07.449 INFO (MainThread) [custom_components.hacs] Stage changed: waiting 2023-03-03 16:30:07.449 INFO (MainThread) [custom_components.hacs] Setup complete, waiting for Home Assistant before startup tasks starts 2023-03-03 16:30:07.450 ERROR (MainThread) [homeassistant.components.switch] Error while setting up homee platform for switch Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 301, in _async_setup_platform await asyncio.gather(*pending) File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 442, in async_add_entities await asyncio.gather(*tasks) File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 607, in _async_add_entity if not entity.name: File "/config/custom_components/homee/switch.py", line 118, in name return attribute_name[0, attribute_name.find("_IMPULSE")] TypeError: string indices must be integers

@godza
Copy link
Author

godza commented Mar 3, 2023

Found the library in question https://pypi.org/project/pymee/

@Taraman17
Copy link
Contributor

OK, found the error in switch.py - you can retest.

The problem with device discovery does not lie in the pymee library as far as I know. Homee just is not giving out the exact model of a device.
If you want, you could try setting log level to debug - then pymee logs all messages it gets from homee. But finding them in the mass of logs produced then is a pain... ;-)

@godza
Copy link
Author

godza commented Mar 5, 2023

I'm happy to confirm that all new switches are present and working as expected.

If the problem is not with pymee, I think I'll have to implement a hack/workaround to make the "stop" button work as expected. I'll have to use Template Cover and proxy all commands and states from the hacss-homee cover you implemented, except for the STOP button, where I'll add custom logic. That way, I will have my cake and eat it too.

Do you know when these changes will end in the new release of hacss-homee?

Thank you very much for your hard work. You've saved me a lot of money. I thought I had wasted my money on a homee device (i bought it only for garage doors), and I would need to buy additional Hormann equipment and shelly smart switches to accomplish what you did here. Once again, thank you!

@Taraman17
Copy link
Contributor

Great, I had similar problems with the Hörmann/Homee combo - thats why I ended up here. And if my work helps other people too, thats perfect.
I think I will also work something out with templates since my device only has one button to send open/stop/close.

I plan to update some deprecated code to make the integration fit for the future and then submit the code.
The project owner has been quite quick with approving pull requests, so I expect it to be live be the end of the week.

@godza
Copy link
Author

godza commented Mar 5, 2023

Great! Thank you for your hard work!

@Taraman17
Copy link
Contributor

Great, I had similar problems with the Hörmann/Homee combo - thats why I ended up here. And if my work helps other people too, thats perfect.
I think I will also work something out with templates since my device only has one button to send open/stop/close.

I plan to update some deprecated code to make the integration fit for the future and then submit the code.
The project owner has been quite quick with approving pull requests, so I expect it to be live be the end of the week.

@serdar-22
Copy link

hello

i have copy also the switch.py and replace the file.
but i have the error bellow:

Logger: homeassistant.components.websocket_api.http.connection
Source: helpers/service.py:663
Integration: Home Assistant WebSocket API (documentation, issues)
First occurred: 23:03:55 (4 occurrences)
Last logged: 23:06:15

[139859328512640] Entity cover.hormann_garagentor_antrieb_serie_4 does not support this service.
[139859369167456] Entity cover.hormann_garagentor_antrieb_serie_4 does not support this service.
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 198, in handle_call_service
await hass.services.async_call(
File "/usr/src/homeassistant/homeassistant/core.py", line 1808, in async_call
task.result()
File "/usr/src/homeassistant/homeassistant/core.py", line 1845, in _execute_service
await cast(Callable[[ServiceCall], Awaitable[None]], handler.job.target)(
File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 213, in handle_service
await service.entity_service_call(
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 663, in entity_service_call
raise HomeAssistantError(
homeassistant.exceptions.HomeAssistantError: Entity cover.hormann_garagentor_antrieb_serie_4 does not support this service.

should I setup a different setting?
thank you very much

@Taraman17
Copy link
Contributor

Did that happen when trying to use a specific button?
Can you maybe provide the part of the raw log, where the device info is logged?

@serdar-22
Copy link

sorry it was my mistake.
after replacing the cover.py i can steer the door (up,down and stop)

thank you very much for the support and update

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants