iMicknl / ha-tahoma

Custom component for Home Assistant to interact with smart devices via Somfy TaHoma or other OverKiz based API's.
MIT License
151 stars 30 forks source link

io:AlarmIOComponent #837

Closed djcelvin closed 1 year ago

djcelvin commented 1 year ago

Did you read the instructions?

The problem

I use a Somfy Tahoma connected to a Somfy Protexial alarm. Everything is working in the Somfy app.

On HA, the integration detect 2 alarms. Here are log extract when initializing

2023-01-17 22:26:07.854 DEBUG (MainThread) [custom_components.tahoma] Added device (Device(attributes=States(_states=[]), available=True, enabled=True, label=, device_url=internal://**-****-4542/alarm/0, controllable_name='internal:TSKAlarmComponent', definition=Definition(commands=CommandDefinitions(_commands=[CommandDefinition(command_name='alarmOff', nparams=0), CommandDefinition(command_name='alarmOn', nparams=0), CommandDefinition(command_name='arm', nparams=0), CommandDefinition(command_name='disarm', nparams=0), CommandDefinition(command_name='getName', nparams=0), CommandDefinition(command_name='off', nparams=0), CommandDefinition(command_name='on', nparams=0), CommandDefinition(command_name='setName', nparams=1), CommandDefinition(command_name='refreshAlarmDelay', nparams=0), CommandDefinition(command_name='refreshCurrentAlarmMode', nparams=0), CommandDefinition(command_name='refreshIntrusionDetected', nparams=0), CommandDefinition(command_name='setAlarmDelay', nparams=1), CommandDefinition(command_name='alarmPartial1', nparams=0), CommandDefinition(command_name='alarmPartial2', nparams=0), CommandDefinition(command_name='setIntrusionDetected', nparams=1), CommandDefinition(command_name='setTargetAlarmMode', nparams=1)]), states=[StateDefinition(qualified_name='core:NameState', type='DataState', values=None), StateDefinition(qualified_name='internal:AlarmDelayState', type='ContinuousState', values=None), StateDefinition(qualified_name='internal:CurrentAlarmModeState', type='DiscreteState', values=['off', 'partial1', 'partial2', 'total']), StateDefinition(qualified_name='internal:IntrusionDetectedState', type='DiscreteState', values=['detected', 'notDetected', 'pending', 'sos']), StateDefinition(qualified_name='internal:TargetAlarmModeState', type='DiscreteState', values=['off', 'partial1', 'partial2', 'sos', 'total'])], widget_name='TSKAlarmController', ui_class='Alarm', qualified_name='internal:TSKAlarmComponent'), data_properties=None, widget=<UIWidget.TSKALARM_CONTROLLER: 'TSKAlarmController'>, ui_class=<UIClass.ALARM: 'Alarm'>, states=States(_states=[State(name='internal:CurrentAlarmModeState', type=<DataType.STRING: 3>, value='off'), State(name='internal:AlarmDelayState', type=<DataType.INTEGER: 1>, value=60), State(name='internal:TargetAlarmModeState', type=<DataType.STRING: 3>, value='off'), State(name='internal:IntrusionDetectedState', type=<DataType.STRING: 3>, value='notDetected'), State(name='core:NameState', type=<DataType.STRING: 3>, value='alarm name')]), type=<ProductType.ACTUATOR: 1>, place_oid='cad85ffe-4878-4563-8fea-73bdc93cac60'))

2023-01-17 22:26:07.865 DEBUG (MainThread) [custom_components.tahoma] Added device (Device(attributes=States(_states=[State(name='core:FirmwareRevision', type=<DataType.STRING: 3>, value='5068650X07'), State(name='core:Manufacturer', type=<DataType.STRING: 3>, value='Somfy')]), available=True, enabled=True, label=, device_url=io://**-****-4542/2560880, controllable_name='io:AlarmIOComponent', definition=Definition(commands=CommandDefinitions(_commands=[CommandDefinition(command_name='advancedRefresh', nparams=2), CommandDefinition(command_name='alarmOff', nparams=0), CommandDefinition(command_name='alarmOn', nparams=0), CommandDefinition(command_name='alarmZoneOn', nparams=1), CommandDefinition(command_name='arm', nparams=0), CommandDefinition(command_name='delayedStopIdentify', nparams=1), CommandDefinition(command_name='disarm', nparams=0), CommandDefinition(command_name='getName', nparams=0), CommandDefinition(command_name='identify', nparams=0), CommandDefinition(command_name='refreshState', nparams=0), CommandDefinition(command_name='setName', nparams=1), CommandDefinition(command_name='startIdentify', nparams=0), CommandDefinition(command_name='stopIdentify', nparams=0), CommandDefinition(command_name='wink', nparams=1), CommandDefinition(command_name='pairOneWayController', nparams=2), CommandDefinition(command_name='setConfigState', nparams=1), CommandDefinition(command_name='unpairAllOneWayControllers', nparams=0), CommandDefinition(command_name='unpairOneWayController', nparams=2)]), states=[StateDefinition(qualified_name='core:ActiveZonesState', type='DataState', values=None), StateDefinition(qualified_name='core:DiscreteRSSILevelState', type='DiscreteState', values=['good', 'low', 'normal', 'verylow']), StateDefinition(qualified_name='core:NameState', type='DataState', values=None), StateDefinition(qualified_name='core:PriorityLockTimerState', type='ContinuousState', values=None), StateDefinition(qualified_name='core:RSSILevelState', type='ContinuousState', values=None), StateDefinition(qualified_name='core:StatusState', type='DiscreteState', values=['available', 'unavailable']), StateDefinition(qualified_name='io:PriorityLockLevelState', type='DiscreteState', values=['comfortLevel1', 'comfortLevel2', 'comfortLevel3', 'comfortLevel4', 'environmentProtection', 'humanProtection', 'userLevel1', 'userLevel2']), StateDefinition(qualified_name='io:PriorityLockOriginatorState', type='DiscreteState', values=['LSC', 'SAAC', 'SFC', 'UPS', 'externalGateway', 'localUser', 'myself', 'rain', 'security', 'temperature', 'timer', 'user', 'wind'])], widget_name='StatefulAlarmController', ui_class='Alarm', qualified_name='io:AlarmIOComponent'), data_properties=None, widget=<UIWidget.STATEFUL_ALARM_CONTROLLER: 'StatefulAlarmController'>, ui_class=<UIClass.ALARM: 'Alarm'>, states=States(_states=[State(name='core:NameState', type=<DataType.STRING: 3>, value='Alarme'), State(name='core:PriorityLockTimerState', type=<DataType.INTEGER: 1>, value=0), State(name='core:StatusState', type=<DataType.STRING: 3>, value='available'), State(name='core:DiscreteRSSILevelState', type=<DataType.STRING: 3>, value='good'), State(name='core:RSSILevelState', type=<DataType.FLOAT: 2>, value=100.0), State(name='core:ActiveZonesState', type=<DataType.STRING: 3>, value='')]), type=<ProductType.ACTUATOR: 1>, place_oid='cad85ffe-4878-4563-8fea-73bdc93cac60'))

2 entities are created :
image

But none are working

Overkiz logs when I operate the alarm from the somfy app : 2023-01-18 21:25:39.965 INFO (MainThread) [custom_components.tahoma] HistoryExecution(id='afdf18fc-98e4-e192-5738-df834752dada', event_ftime=1673692911870, owner=r@l.com, source='mobile:tahoma:android', end_time=1673692916129, effective_start_time=1673692911870, duration=4259, label='Alarme - Eteindre alarme - AndroidPhone', type='Immediate execution - MANUAL_CONTROL', state=<ExecutionState.COMPLETED: 'COMPLETED'>, failure_type='NO_FAILURE', commands=[HistoryExecutionCommand(device_url=io://--4542/2560880, command='alarmOff', rank=0, dynamic=False, state=<ExecutionState.COMPLETED: 'COMPLETED'>, failure_type='NO_FAILURE', parameters=[])], execution_type=<ExecutionType.IMMEDIATE_EXECUTION: 'Immediate execution'>, execution_sub_type=<ExecutionSubType.MANUAL_CONTROL: 'MANUAL_CONTROL'>) 2023-01-18 21:25:39.966 INFO (MainThread) [custom_components.tahoma] HistoryExecution(id='afdf0ead-98e4-e192-5738-df83ae44f271', event_time=1673692909232, owner=r@l.com, source='mobile:tahoma:android', end_time=1673692911471, effective_start_time=1673692909232, duration=2239, label='Alarme - Rafraichir - AndroidPhone', type='Immediate execution - MANUAL_CONTROL', state=<ExecutionState.COMPLETED: 'COMPLETED'>, failure_type='NO_FAILURE', commands=[HistoryExecutionCommand(device_url=io://--4542/2560880, command='refreshState', rank=0, dynamic=False, state=<ExecutionState.COMPLETED: 'COMPLETED'>, failure_type='NO_FAILURE', parameters=[])], execution_type=<ExecutionType.IMMEDIATE_EXECUTION: 'Immediate execution'>, execution_sub_type=<ExecutionSubType.MANUAL_CONTROL: 'MANUAL_CONTROL'>) 2023-01-18 21:25:39.966 INFO (MainThread) [custom_components.tahoma] HistoryExecution(id='afdef917-98e4-e192-5738-df837491ce38', event_time=1673692903705, owner=r@l.com, source='mobile:tahoma:android', end_time=1673692904742, effective_start_time=1673692903706, duration=1036, label='Alarme - Rafraichir - AndroidPhone', type='Immediate execution - MANUAL_CONTROL', state=<ExecutionState.COMPLETED: 'COMPLETED'>, failure_type='NO_FAILURE', commands=[HistoryExecutionCommand(device_url=io://--4542/2560880, command='refreshState', rank=0, dynamic=False, state=<ExecutionState.COMPLETED: 'COMPLETED'>, failure_type='NO_FAILURE', parameters=[])], execution_type=<ExecutionType.IMMEDIATE_EXECUTION: 'Immediate execution'>, execution_sub_type=<ExecutionSubType.MANUAL_CONTROL: 'MANUAL_CONTROL'>) 2023-01-18 21:25:39.966 INFO (MainThread) [custom_components.tahoma] HistoryExecution(id='afdeba44-98e4-e192-5738-df83a77eace6', event_time=1673692887623, owner=r@l.com, source='mobile:tahoma:android', end_time=1673692898220, effective_start_time=1673692887623, duration=10597, label='Alarme - Allumer alarme - AndroidPhone', type='Immediate execution - MANUAL_CONTROL', state=<ExecutionState.COMPLETED: 'COMPLETED'>, failure_type='NO_FAILURE', commands=[HistoryExecutionCommand(device_url=io://--4542/2560880, command='alarmZoneOn', rank=0, dynamic=False, state=<ExecutionState.COMPLETED: 'COMPLETED'>, failure_type='NO_FAILURE', parameters=['A,B,C'])], execution_type=<ExecutionType.IMMEDIATE_EXECUTION: 'Immediate execution'>, execution_sub_type=<ExecutionSubType.MANUAL_CONTROL: 'MANUAL_CONTROL'>) 2023-01-18 21:25:39.966 INFO (MainThread) [custom_components.tahoma] HistoryExecution(id='afdead23-98e4-e192-5738-df837841b173', event_time=1673692884262, owner=r@l.com, source='mobile:tahoma:android', end_time=1673692887267, effective_start_time=1673692884263, duration=3004, label='Alarme - Rafraichir - AndroidPhone', type='Immediate execution - MANUAL_CONTROL', state=<ExecutionState.COMPLETED: 'COMPLETED'>, failure_type='NO_FAILURE', commands=[HistoryExecutionCommand(device_url=io://--4542/2560880, command='refreshState', rank=0, dynamic=False, state=<ExecutionState.COMPLETED: 'COMPLETED'>, failure_type='NO_FAILURE', parameters=[])], execution_type=<ExecutionType.IMMEDIATE_EXECUTION: 'Immediate execution'>, execution_sub_type=<ExecutionSubType.MANUAL_CONTROL: 'MANUAL_CONTROL'>)

But during initialisation of HA, it complains about a syntax error in stateful_alarm_controller.py on line 34, waiting for a string (instead of a list??)

What version of this integration (ha-tahoma) has the issue?

2.14.0

What version of Home Assistant Core has the issue?

2023.1.5

Which gateway / hub do you use?

Somfy Tahoma Pro Firmware: 2018.4.4.7

Device model

AlarmIOComponent

Home Assistant log

Logs ``` Copy/paste any log here, between the starting and ending backticks. The first log line must start with "Added device (Device...". ```

config_entry-tahoma-a6bf0f8c84bd0608f87a33e9a73a2ce7.json.txt

Additional information

No response

github-actions[bot] commented 1 year ago

'There hasn't been any activity on this issue recently. Is this issue still present? Please make sure to update to the latest Home Assistant version and version of this integration to see if that solves the issue. Let us know if that works for you by adding a comment 👍. This issue now has been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.'

iMicknl commented 1 year ago

Best would be to use the Overkiz integration in core and create an issue there. We don't maintain this integration actively anymore.