home-assistant / android

:iphone: Home Assistant Companion for Android
https://companion.home-assistant.io/
Apache License 2.0
2.34k stars 653 forks source link

Android Service Button Widgets not showing data when editing #3484

Closed Dividing6043 closed 1 year ago

Dividing6043 commented 1 year ago

Home Assistant Android app version(s): 2023.3.0-full

Android version(s): 13

Device model(s): Pixel 4a

Home Assistant version: Home Assistant 2023.4.5 Supervisor 2023.04.0 Operating System 10.0 Frontend 20230411.1 - latest

Last working Home Assistant release (if known): Unknown, but pretty sure this worked fine until the latest app update

Description of problem, include YAML if issue is related to notifications: I have many Service Button Widgets, these all appear to have stopped working. On closer inspection, when editing the widget, the Entity ID and any field data has been removed. If I create a new Service Button Widget, fill in the Service and Entity ID and click the Update Widget button, all appears to be OK. However, clicking the button does not work. If I then edit the button the Entity ID is blank and any other data fields associated to that Entity are also blank. I have cleared all cache and data for the app. Also removed/reinstalled with the same results. I am picking the Entity ID etc from the pre-populated list, so this is not a typo on my part. Entity State buttons appear to be fine, it is just the Service Buttons that are not working for me. Any ideas? Is this a bug?

dshokouhi commented 1 year ago

Please reproduce the issue and get the companion app logs. Settings > Companion App > show and share logs

Dividing6043 commented 1 year ago

I have tried just updating the button with the Entity ID and get the following from the logs:

Logs ``` 04-20 16:56:27.500 23244 23244 D IntegrationRepository: setAppActive(): false 04-20 16:56:27.502 23244 23244 D IntegrationRepository: setAppActive(): false 04-20 16:56:27.550 23244 23244 D LocBroadcastReceiver: Received location update. 04-20 16:56:27.558 23244 23244 D ForegrndServiceLauncher: Check if service HighAccuracyLocationService is running. Service running = false 04-20 16:56:27.558 23244 23353 D LocBroadcastReceiver: Last Location: 04-20 16:56:27.558 23244 23353 D LocBroadcastReceiver: Coords:(51.2513691, -0.068098) 04-20 16:56:27.558 23244 23353 D LocBroadcastReceiver: Accuracy: 12.621 04-20 16:56:27.558 23244 23353 D LocBroadcastReceiver: Bearing: 0.0 04-20 16:56:27.561 23244 23353 D LocBroadcastReceiver: Begin evaluating if location update should be skipped 04-20 16:56:27.561 23244 23353 D LocBroadcastReceiver: Received location that is 53 milliseconds old, 1682006187508 compared to 1682006187561 with source fused 04-20 16:56:27.561 23244 23353 D LocBroadcastReceiver: Duplicate location received, not sending to HA 04-20 16:56:30.498 23244 23244 D WebSocketRepository: Sending message 8: {type=get_services, id=8} 04-20 16:56:30.498 23244 23244 D WebSocketRepository: Message number 8 sent 04-20 16:56:30.498 23244 23244 D WebSocketRepository: Sending message 9: {type=get_states, id=9} 04-20 16:56:30.498 23244 23244 D WebSocketRepository: Message number 9 sent 04-20 16:56:30.525 23244 23856 D WebSocketRepository: Websocket: onMessage (text) 04-20 16:56:30.539 23244 23856 D WebSocketRepository: Message number 8 received 04-20 16:56:30.542 23244 23856 D WebSocketRepository: Websocket: onMessage (text) 04-20 16:56:30.549 23244 23856 D WebSocketRepository: Message number 9 received 04-20 16:56:30.687 23244 23252 I mpanion.android: Background concurrent copying GC freed 558763(27MB) AllocSpace objects, 60(2808KB) LOS objects, 73% free, 34MB/130MB, paused 52us,40us total 141.058ms 04-20 16:56:30.892 23244 23244 D ButtonWidgetConfigAct: Selected icon: Icon(id=62880, categoryId=12, tags=[bjg, bn, le], pathData=M12 2A7 7 0 0 1 19 9 7 7 0 0 1 12 16 7 7 0 0 1 5 9 7 7 0 0 1 12 2M12 4A5 5 0 0 0 7 9 5 5 0 0 0 12 14 5 5 0 0 0 17 9 5 5 0 0 0 12 4M12 6A3 3 0 0 1 15 9 3 3 0 0 1 12 12 3 3 0 0 1 9 9 3 3 0 0 1 12 6M6 22A2 2 0 0 1 4 20C4 19.62 4.1 19.27 4.29 18.97L6.11 15.81C7.69 17.17 9.75 18 12 18 14.25 18 16.31 17.17 17.89 15.81L19.71 18.97C19.9 19.27 20 19.62 20 20A2 2 0 0 1 18 22H6Z, width=24, height=24, srcId=null) 04-20 16:56:30.907 23244 23244 D ButtonWidgetConfigAct: Services found: {2={media_player.turn_on=Service(domain=media_player, service=turn_on, serviceData=ServiceData(name=Turn on, description=Turn a media player power on., target={entity=[{domain=[media_player]}]}, fields={})), notify.mobile_app_pixel_4a=Service(domain=notify, service=mobile_app_pixel_4a, serviceData=ServiceData(name=Send a notification via mobile_app_pixel_4a, description=Sends a notification message using the mobile_app_pixel_4a integration., target=false, fields={message=ServiceFields(name=Message, description=Message body of the notification., example=The garage door has been open for 10 minutes., values=null), title=ServiceFields(name=Title, description=Title for your notification., example=Your Garage Door Friend, values=null), target=ServiceFields(name=Target, description=An array of targets to send the notification to. Optional depending on the platform., example=platform specific, values=null), data=ServiceFields(name=Data, description=Extended information for notification. Optional depending on the platform., example=platform specific, values=null)})), switch.turn_on=Service(domain=switch, service=turn_on, serviceData=ServiceData(name=Turn on, description=Turn a switch on, target={entity=[{domain=[switch]}]}, fields={})), input_number.set_value=Service(domain=input_number, service=set_value, serviceData=ServiceData(name=Set, description=Set the value of an input number entity., target={entity=[{domain=[input_number]}]}, fields={value=ServiceFields(name=Value, description=The target value the entity should be set to., example=null, values=null)})), hassio.host_reboot=Service(domain=hassio, service=host_reboot, serviceData=ServiceData(name=Reboot the host system., description=Reboot the host system., target=false, fields={})), input_select.select_previous=Service(domain=input_select, service=select_previous, serviceData=ServiceData(name=Previous, description=Select the previous options of an input select entity., target={entity=[{domain=[input_select]}]}, fields={cycle=ServiceFields(name=Cycle, description=If the option should cycle from the first to the last., example=null, values=null)})), media_player.media_stop=Service(domain=media_player, service=media_stop, serviceData=ServiceData(name=Stop, description=Send the media player the stop command., target={entity=[{domain=[media_player]}]}, fields={})), homeassistant.toggle=Service(domain=homeassistant, service=toggle, serviceData=ServiceData(name=Generic toggle, description=Generic service to toggle devices on/off under any domain, target={entity=[{}]}, fields={})), myenergi.myenergi_smart_boost=Service(domain=myenergi, service=myenergi_smart_boost, serviceData=ServiceData(name=Smart boost, description=Start smart boost, target={device=[{model=Zappi}], entity=[{domain=[select]}]}, fields={amount=ServiceFields(name=Amount, description=Boost amount (kWh), example=null, values=null), when=ServiceFields(name=Done by, description=What time the charge must be completed, example=null, values=null)})), person.reload=Service(domain=person, service=reload, serviceData=ServiceData(name=Reload, description=Reload the person configuration., target=false, fields={})), octopus_energy.update_target_config=Service(domain=octopus_energy, service=update_target_config, serviceData=ServiceData(name=Update target rate config, description=Updates a given target rate's config. Please note this is temporary and will not persist between restarts., target={entity=[{integration=octopus_energy, domain=[binary_sensor]}]}, fields={target_hours=ServiceFields(name=Hours, description=The optional number of hours the target rate sensor should come on during a 24 hour period., example=1.5, values=null), target_start_time=ServiceFields(name=Start time, description=The optional time the evaluation period should start., example=06:00, values=null), target_end_time=ServiceFields(name=End time, description=The optional time the evaluation period should end., example=19:00, values=null), target_offset=Servi 04-20 16:56:30.907 23244 23244 D ButtonWidgetConfigAct: , target={entity=[{domain=[light]}]}, fields={transition=ServiceFields(name=Transition, description=Duration it takes to get to next state., example=null, values=null), rgb_color=ServiceFields(name=RGB-color, description=Color for the light in RGB-format., example=[255, 100, 100], values=null), color_name=ServiceFields(name=Color name, description=A human readable color name., example=null, values=null), hs_color=ServiceFields(name=Hue/Sat color, description=Color for the light in hue/sat format. Hue is 0-360 and Sat is 0-100., example=[300, 70], values=null), xy_color=ServiceFields(name=XY-color, description=Color for the light in XY-format., example=[0.52, 0.43], values=null), color_temp=ServiceFields(name=Color temperature (mireds), description=Color temperature for the light in mireds., example=null, values=null), kelvin=ServiceFields(name=Color temperature (Kelvin), description=Color temperature for the light in Kelvin., example=null, values=null), brightness=ServiceFields(name=Brightness value, description=Number indicating brightness, where 0 turns the light off, 1 is the minimum brightness and 255 is the maximum brightness supported by the light., example=null, values=null), brightness_pct=ServiceFields(name=Brightness, description=Number indicating percentage of full brightness, where 0 turns the light off, 1 is the minimum brightness and 100 is the maximum brightness supported by the light., example=null, values=null), white=ServiceFields(name=White, description=Set the light to white mode., example=null, values=null), profile=ServiceFields(name=Profile, description=Name of a light profile to use., example=relax, values=null), flash=ServiceFields(name=Flash, description=If the light should flash., example=null, values=null), effect=ServiceFields(name=Effect, description=Light effect., example=null, values=null)})), input_button.press=Service(domain=input_button, service=press, serviceData=ServiceData(name=Press, description=Press the input button entity., target={entity=[{domain=[input_button]}]}, fields={})), media_player.media_pause=Service(domain=media_player, service=media_pause, serviceData=ServiceData(name=Pause, description=Send the media player the command for pause., target={entity=[{domain=[media_player]}]}, fields={})), update.skip=Service(domain=update, service=skip, serviceData=ServiceData(name=Skip update, description=Mark currently available update as skipped., target={entity=[{domain=[update]}]}, fields={})), media_player.shuffle_set=Service(domain=media_player, service=shuffle_set, serviceData=ServiceData(name=Shuffle, description=Set shuffling state., target={entity=[{domain=[media_player]}]}, fields={shuffle=ServiceFields(name=Shuffle, description=True/false for enabling/disabling shuffle., example=null, values=null)})), water_heater.set_operation_mode=Service(domain=water_heater, service=set_operation_mode, serviceData=ServiceData(name=Set operation mode, description=Set operation mode for water_heater device., target={entity=[{domain=[water_heater]}]}, fields={operation_mode=ServiceFields(name=Operation mode, description=New value of operation mode., example=eco, values=null)})), climate.set_fan_mode=Service(domain=climate, service=set_fan_mode, serviceData=ServiceData(name=Set fan mode, description=Set fan operation for climate device., target={entity=[{domain=[climate], supported_features=[8]}]}, fields={fan_mode=ServiceFields(name=Fan mode, description=New value of fan mode., example=low, values=null)})), climate.turn_off=Service(domain=climate, service=turn_off, serviceData=ServiceData(name=Turn off, description=Turn climate device off., target={entity=[{domain=[climate]}]}, fields={})), media_player.join=Service(domain=media_player, service=join, serviceData=ServiceData(name=Join, description=Group players together. Only works on platforms with support for player groups., target={entity=[{domain=[media_player]}]}, fields={group_members=ServiceFields(name=Group members, description=The players which will 04-20 16:56:30.907 23244 23244 D ButtonWidgetConfigAct: - media_player.multiroom_player3 04-20 16:56:30.907 23244 23244 D ButtonWidgetConfigAct: , values=null)})), notify.notify=Service(domain=notify, service=notify, serviceData=ServiceData(name=Send a notification with notify, description=Sends a notification message using the notify service., target=false, fields={message=ServiceFields(name=Message, description=Message body of the notification., example=The garage door has been open for 10 minutes., values=null), title=ServiceFields(name=Title, description=Title for your notification., example=Your Garage Door Friend, values=null), target=ServiceFields(name=Target, description=An array of targets to send the notification to. Optional depending on the platform., example=platform specific, values=null), data=ServiceFields(name=Data, description=Extended information for notification. Optional depending on the platform., example=platform specific, values=null)})), climate.set_humidity=Service(domain=climate, service=set_humidity, serviceData=ServiceData(name=Set target humidity, description=Set target humidity of climate device., target={entity=[{domain=[climate], supported_features=[4]}]}, fields={humidity=ServiceFields(name=Humidity, description=New target humidity for climate device., example=null, values=null)})), persistent_notification.create=Service(domain=persistent_notification, service=create, serviceData=ServiceData(name=Create, description=Show a notification in the frontend., target=false, fields={message=ServiceFields(name=Message, description=Message body of the notification. [Templates accepted], example=Please check your configuration.yaml., values=null), title=ServiceFields(name=Title, description=Optional title for your notification. [Templates accepted], example=Test notification, values=null), notification_id=ServiceFields(name=Notification ID, description=Target ID of the notification, will replace a notification with the same ID., example=1234, values=null)})), scene.create=Service(domain=scene, service=create, serviceData=ServiceData(name=Create, description=Creates a new scene., target=false, fields={scene_id=ServiceFields(name=Scene entity ID, description=The entity_id of the new scene., example=all_lights, values=null), entities=ServiceFields(name=Entities state, description=The entities to control with the scene., example={light.tv_back_light=on, light.ceiling={state=on, brightness=200}}, values=null), snapshot_entities=ServiceFields(name=Snapshot entities, description=The entities of which a snapshot is to be taken, example=[light.ceiling, light.kitchen], values=null)})), automation.turn_on=Service(domain=automation, service=turn_on, serviceData=ServiceData(name=Turn on, description=Enable an automation., target={entity=[{domain=[automation]}]}, fields={})), homeassistant.update_entity=Service(domain=homeassistant, service=update_entity, serviceData=ServiceData(name=Update entity, description=Force one or more entities to update its data, target={entity=[{}]}, fields={})), zone.reload=Service(domain=zone, service=reload, serviceData=ServiceData(name=Reload, description=Reload the YAML-based zone configuration., target=false, fields={})), media_player.media_previous_track=Service(domain=media_player, service=media_previous_track, serviceData=ServiceData(name=Previous, description=Send the media player the command for previous track., target={entity=[{domain=[media_player]}]}, fields={})), media_player.volume_set=Service(domain=media_player, service=volume_set, serviceData=ServiceData(name=Set volume, description=Set a media player's volume level., target={entity=[{domain=[media_player]}]}, fields={volume_level=ServiceFields(name=Level, description=Volume level to set as float., example=null, values=null)})), recorder.disable=Service(domain=recorder, service=disable, serviceData=ServiceData(name=Disable, description=Stop the recording of events and state changes, target=false, fields={})), kia_uvo.close_charge_port=Service(domain=kia_uvo, service=close_charge_port, serviceData=ServiceData(name=, description=Close Charge Port, target=false, fields={device_i 04-20 16:56:30.907 23244 23244 D ButtonWidgetConfigAct: , target={entity=[{domain=[light]}]}, fields={transition=ServiceFields(name=Transition, description=Duration it takes to get to next state., example=null, values=null), rgb_color=ServiceFields(name=Color, description=The color for the light (based on RGB - red, green, blue)., example=null, values=null), rgbw_color=ServiceFields(name=RGBW-color, description=A list containing four integers between 0 and 255 representing the RGBW (red, green, blue, white) color for the light., example=[255, 100, 100, 50], values=null), rgbww_color=ServiceFields(name=RGBWW-color, description=A list containing five integers between 0 and 255 representing the RGBWW (red, green, blue, cold white, warm white) color for the light., example=[255, 100, 100, 50, 70], values=null), color_name=ServiceFields(name=Color name, description=A human readable color name., example=null, values=null), hs_color=ServiceFields(name=Hue/Sat color, description=Color for the light in hue/sat format. Hue is 0-360 and Sat is 0-100., example=[300, 70], values=null), xy_color=ServiceFields(name=XY-color, description=Color for the light in XY-format., example=[0.52, 0.43], values=null), color_temp=ServiceFields(name=Color temperature, description=Color temperature for the light in mireds., example=null, values=null), kelvin=ServiceFields(name=Color temperature (Kelvin), description=Color temperature for the light in Kelvin., example=null, values=null), brightness=ServiceFields(name=Brightness value, description=Number indicating brightness, where 0 turns the light off, 1 is the minimum brightness and 255 is the maximum brightness supported by the light., example=null, values=null), brightness_pct=ServiceFields(name=Brightness, description=Number indicating percentage of full brightness, where 0 turns the light off, 1 is the minimum brightness and 100 is the maximum brightness supported by the light., example=null, values=null), brightness_step=ServiceFields(name=Brightness step value, description=Change brightness by an amount., example=null, values=null), brightness_step_pct=ServiceFields(name=Brightness step, description=Change brightness by a percentage., example=null, values=null), white=ServiceFields(name=White, description=Set the light to white mode., example=null, values=null), profile=ServiceFields(name=Profile, description=Name of a light profile to use., example=relax, values=null), flash=ServiceFields(name=Flash, description=If the light should flash., example=null, values=null), effect=ServiceFields(name=Effect, description=Light effect., example=null, values=null)})), timer.reload=Service(domain=timer, service=reload, serviceData=ServiceData(name=, description=, target=false, fields={})), input_boolean.turn_off=Service(domain=input_boolean, service=turn_off, serviceData=ServiceData(name=Turn off, description=Turn off an input boolean, target={entity=[{domain=[input_boolean]}]}, fields={})), synology_dsm.shutdown=Service(domain=synology_dsm, service=shutdown, serviceData=ServiceData(name=Shutdown, description=Shutdown the NAS. This service is deprecated and will be removed in future release. Please use the corresponding button entity., target=false, fields={serial=ServiceFields(name=Serial, description=serial of the NAS to shutdown; required when multiple NAS are configured., example=1NDVC86409, values=null)})), kia_uvo.unlock=Service(domain=kia_uvo, service=unlock, serviceData=ServiceData(name=, description=Unlock the vehicle, target=false, fields={device_id=ServiceFields(name=Vehicle, description=Target vehicle, example=null, values=null)})), input_text.reload=Service(domain=input_text, service=reload, serviceData=ServiceData(name=Reload, description=Reload the input_text configuration., target=false, fields={})), climate.set_temperature=Service(domain=climate, service=set_temperature, serviceData=ServiceData(name=Set temperature, description=Set target temperature of climate device., target={entity=[{domain=[climate], supported_features=[1, 2]}]}, fields={temperature=ServiceFields(name=Temperature, descr 04-20 16:56:30.909 23244 23244 D ButtonWidgetConfigAct: Valid domain and service--processing dynamic fields 04-20 16:56:30.909 23244 23244 D ButtonWidgetConfigAct: Fields applicable to this service: {} 04-20 16:56:30.926 23244 23244 D ButtonWidgetConfigAct: Services found: {2={media_player.turn_on=Service(domain=media_player, service=turn_on, serviceData=ServiceData(name=Turn on, description=Turn a media player power on., target={entity=[{domain=[media_player]}]}, fields={})), notify.mobile_app_pixel_4a=Service(domain=notify, service=mobile_app_pixel_4a, serviceData=ServiceData(name=Send a notification via mobile_app_pixel_4a, description=Sends a notification message using the mobile_app_pixel_4a integration., target=false, fields={message=ServiceFields(name=Message, description=Message body of the notification., example=The garage door has been open for 10 minutes., values=null), title=ServiceFields(name=Title, description=Title for your notification., example=Your Garage Door Friend, values=null), target=ServiceFields(name=Target, description=An array of targets to send the notification to. Optional depending on the platform., example=platform specific, values=null), data=ServiceFields(name=Data, description=Extended information for notification. Optional depending on the platform., example=platform specific, values=null)})), switch.turn_on=Service(domain=switch, service=turn_on, serviceData=ServiceData(name=Turn on, description=Turn a switch on, target={entity=[{domain=[switch]}]}, fields={})), input_number.set_value=Service(domain=input_number, service=set_value, serviceData=ServiceData(name=Set, description=Set the value of an input number entity., target={entity=[{domain=[input_number]}]}, fields={value=ServiceFields(name=Value, description=The target value the entity should be set to., example=null, values=null)})), hassio.host_reboot=Service(domain=hassio, service=host_reboot, serviceData=ServiceData(name=Reboot the host system., description=Reboot the host system., target=false, fields={})), input_select.select_previous=Service(domain=input_select, service=select_previous, serviceData=ServiceData(name=Previous, description=Select the previous options of an input select entity., target={entity=[{domain=[input_select]}]}, fields={cycle=ServiceFields(name=Cycle, description=If the option should cycle from the first to the last., example=null, values=null)})), media_player.media_stop=Service(domain=media_player, service=media_stop, serviceData=ServiceData(name=Stop, description=Send the media player the stop command., target={entity=[{domain=[media_player]}]}, fields={})), homeassistant.toggle=Service(domain=homeassistant, service=toggle, serviceData=ServiceData(name=Generic toggle, description=Generic service to toggle devices on/off under any domain, target={entity=[{}]}, fields={})), myenergi.myenergi_smart_boost=Service(domain=myenergi, service=myenergi_smart_boost, serviceData=ServiceData(name=Smart boost, description=Start smart boost, target={device=[{model=Zappi}], entity=[{domain=[select]}]}, fields={amount=ServiceFields(name=Amount, description=Boost amount (kWh), example=null, values=null), when=ServiceFields(name=Done by, description=What time the charge must be completed, example=null, values=null)})), person.reload=Service(domain=person, service=reload, serviceData=ServiceData(name=Reload, description=Reload the person configuration., target=false, fields={})), octopus_energy.update_target_config=Service(domain=octopus_energy, service=update_target_config, serviceData=ServiceData(name=Update target rate config, description=Updates a given target rate's config. Please note this is temporary and will not persist between restarts., target={entity=[{integration=octopus_energy, domain=[binary_sensor]}]}, fields={target_hours=ServiceFields(name=Hours, description=The optional number of hours the target rate sensor should come on during a 24 hour period., example=1.5, values=null), target_start_time=ServiceFields(name=Start time, description=The optional time the evaluation period should start., example=06:00, values=null), target_end_time=ServiceFields(name=End time, description=The optional time the evaluation period should end., example=19:00, values=null), target_offset=Servi 04-20 16:56:30.926 23244 23244 D ButtonWidgetConfigAct: , target={entity=[{domain=[light]}]}, fields={transition=ServiceFields(name=Transition, description=Duration it takes to get to next state., example=null, values=null), rgb_color=ServiceFields(name=RGB-color, description=Color for the light in RGB-format., example=[255, 100, 100], values=null), color_name=ServiceFields(name=Color name, description=A human readable color name., example=null, values=null), hs_color=ServiceFields(name=Hue/Sat color, description=Color for the light in hue/sat format. Hue is 0-360 and Sat is 0-100., example=[300, 70], values=null), xy_color=ServiceFields(name=XY-color, description=Color for the light in XY-format., example=[0.52, 0.43], values=null), color_temp=ServiceFields(name=Color temperature (mireds), description=Color temperature for the light in mireds., example=null, values=null), kelvin=ServiceFields(name=Color temperature (Kelvin), description=Color temperature for the light in Kelvin., example=null, values=null), brightness=ServiceFields(name=Brightness value, description=Number indicating brightness, where 0 turns the light off, 1 is the minimum brightness and 255 is the maximum brightness supported by the light., example=null, values=null), brightness_pct=ServiceFields(name=Brightness, description=Number indicating percentage of full brightness, where 0 turns the light off, 1 is the minimum brightness and 100 is the maximum brightness supported by the light., example=null, values=null), white=ServiceFields(name=White, description=Set the light to white mode., example=null, values=null), profile=ServiceFields(name=Profile, description=Name of a light profile to use., example=relax, values=null), flash=ServiceFields(name=Flash, description=If the light should flash., example=null, values=null), effect=ServiceFields(name=Effect, description=Light effect., example=null, values=null)})), input_button.press=Service(domain=input_button, service=press, serviceData=ServiceData(name=Press, description=Press the input button entity., target={entity=[{domain=[input_button]}]}, fields={})), media_player.media_pause=Service(domain=media_player, service=media_pause, serviceData=ServiceData(name=Pause, description=Send the media player the command for pause., target={entity=[{domain=[media_player]}]}, fields={})), update.skip=Service(domain=update, service=skip, serviceData=ServiceData(name=Skip update, description=Mark currently available update as skipped., target={entity=[{domain=[update]}]}, fields={})), media_player.shuffle_set=Service(domain=media_player, service=shuffle_set, serviceData=ServiceData(name=Shuffle, description=Set shuffling state., target={entity=[{domain=[media_player]}]}, fields={shuffle=ServiceFields(name=Shuffle, description=True/false for enabling/disabling shuffle., example=null, values=null)})), water_heater.set_operation_mode=Service(domain=water_heater, service=set_operation_mode, serviceData=ServiceData(name=Set operation mode, description=Set operation mode for water_heater device., target={entity=[{domain=[water_heater]}]}, fields={operation_mode=ServiceFields(name=Operation mode, description=New value of operation mode., example=eco, values=null)})), climate.set_fan_mode=Service(domain=climate, service=set_fan_mode, serviceData=ServiceData(name=Set fan mode, description=Set fan operation for climate device., target={entity=[{domain=[climate], supported_features=[8]}]}, fields={fan_mode=ServiceFields(name=Fan mode, description=New value of fan mode., example=low, values=null)})), climate.turn_off=Service(domain=climate, service=turn_off, serviceData=ServiceData(name=Turn off, description=Turn climate device off., target={entity=[{domain=[climate]}]}, fields={})), media_player.join=Service(domain=media_player, service=join, serviceData=ServiceData(name=Join, description=Group players together. Only works on platforms with support for player groups., target={entity=[{domain=[media_player]}]}, fields={group_members=ServiceFields(name=Group members, description=The players which will 04-20 16:56:30.926 23244 23244 D ButtonWidgetConfigAct: - media_player.multiroom_player3 04-20 16:56:30.926 23244 23244 D ButtonWidgetConfigAct: , values=null)})), notify.notify=Service(domain=notify, service=notify, serviceData=ServiceData(name=Send a notification with notify, description=Sends a notification message using the notify service., target=false, fields={message=ServiceFields(name=Message, description=Message body of the notification., example=The garage door has been open for 10 minutes., values=null), title=ServiceFields(name=Title, description=Title for your notification., example=Your Garage Door Friend, values=null), target=ServiceFields(name=Target, description=An array of targets to send the notification to. Optional depending on the platform., example=platform specific, values=null), data=ServiceFields(name=Data, description=Extended information for notification. Optional depending on the platform., example=platform specific, values=null)})), climate.set_humidity=Service(domain=climate, service=set_humidity, serviceData=ServiceData(name=Set target humidity, description=Set target humidity of climate device., target={entity=[{domain=[climate], supported_features=[4]}]}, fields={humidity=ServiceFields(name=Humidity, description=New target humidity for climate device., example=null, values=null)})), persistent_notification.create=Service(domain=persistent_notification, service=create, serviceData=ServiceData(name=Create, description=Show a notification in the frontend., target=false, fields={message=ServiceFields(name=Message, description=Message body of the notification. [Templates accepted], example=Please check your configuration.yaml., values=null), title=ServiceFields(name=Title, description=Optional title for your notification. [Templates accepted], example=Test notification, values=null), notification_id=ServiceFields(name=Notification ID, description=Target ID of the notification, will replace a notification with the same ID., example=1234, values=null)})), scene.create=Service(domain=scene, service=create, serviceData=ServiceData(name=Create, description=Creates a new scene., target=false, fields={scene_id=ServiceFields(name=Scene entity ID, description=The entity_id of the new scene., example=all_lights, values=null), entities=ServiceFields(name=Entities state, description=The entities to control with the scene., example={light.tv_back_light=on, light.ceiling={state=on, brightness=200}}, values=null), snapshot_entities=ServiceFields(name=Snapshot entities, description=The entities of which a snapshot is to be taken, example=[light.ceiling, light.kitchen], values=null)})), automation.turn_on=Service(domain=automation, service=turn_on, serviceData=ServiceData(name=Turn on, description=Enable an automation., target={entity=[{domain=[automation]}]}, fields={})), homeassistant.update_entity=Service(domain=homeassistant, service=update_entity, serviceData=ServiceData(name=Update entity, description=Force one or more entities to update its data, target={entity=[{}]}, fields={})), zone.reload=Service(domain=zone, service=reload, serviceData=ServiceData(name=Reload, description=Reload the YAML-based zone configuration., target=false, fields={})), media_player.media_previous_track=Service(domain=media_player, service=media_previous_track, serviceData=ServiceData(name=Previous, description=Send the media player the command for previous track., target={entity=[{domain=[media_player]}]}, fields={})), media_player.volume_set=Service(domain=media_player, service=volume_set, serviceData=ServiceData(name=Set volume, description=Set a media player's volume level., target={entity=[{domain=[media_player]}]}, fields={volume_level=ServiceFields(name=Level, description=Volume level to set as float., example=null, values=null)})), recorder.disable=Service(domain=recorder, service=disable, serviceData=ServiceData(name=Disable, description=Stop the recording of events and state changes, target=false, fields={})), kia_uvo.close_charge_port=Service(domain=kia_uvo, service=close_charge_port, serviceData=ServiceData(name=, description=Close Charge Port, target=false, fields={device_i 04-20 16:56:30.926 23244 23244 D ButtonWidgetConfigAct: , target={entity=[{domain=[light]}]}, fields={transition=ServiceFields(name=Transition, description=Duration it takes to get to next state., example=null, values=null), rgb_color=ServiceFields(name=Color, description=The color for the light (based on RGB - red, green, blue)., example=null, values=null), rgbw_color=ServiceFields(name=RGBW-color, description=A list containing four integers between 0 and 255 representing the RGBW (red, green, blue, white) color for the light., example=[255, 100, 100, 50], values=null), rgbww_color=ServiceFields(name=RGBWW-color, description=A list containing five integers between 0 and 255 representing the RGBWW (red, green, blue, cold white, warm white) color for the light., example=[255, 100, 100, 50, 70], values=null), color_name=ServiceFields(name=Color name, description=A human readable color name., example=null, values=null), hs_color=ServiceFields(name=Hue/Sat color, description=Color for the light in hue/sat format. Hue is 0-360 and Sat is 0-100., example=[300, 70], values=null), xy_color=ServiceFields(name=XY-color, description=Color for the light in XY-format., example=[0.52, 0.43], values=null), color_temp=ServiceFields(name=Color temperature, description=Color temperature for the light in mireds., example=null, values=null), kelvin=ServiceFields(name=Color temperature (Kelvin), description=Color temperature for the light in Kelvin., example=null, values=null), brightness=ServiceFields(name=Brightness value, description=Number indicating brightness, where 0 turns the light off, 1 is the minimum brightness and 255 is the maximum brightness supported by the light., example=null, values=null), brightness_pct=ServiceFields(name=Brightness, description=Number indicating percentage of full brightness, where 0 turns the light off, 1 is the minimum brightness and 100 is the maximum brightness supported by the light., example=null, values=null), brightness_step=ServiceFields(name=Brightness step value, description=Change brightness by an amount., example=null, values=null), brightness_step_pct=ServiceFields(name=Brightness step, description=Change brightness by a percentage., example=null, values=null), white=ServiceFields(name=White, description=Set the light to white mode., example=null, values=null), profile=ServiceFields(name=Profile, description=Name of a light profile to use., example=relax, values=null), flash=ServiceFields(name=Flash, description=If the light should flash., example=null, values=null), effect=ServiceFields(name=Effect, description=Light effect., example=null, values=null)})), timer.reload=Service(domain=timer, service=reload, serviceData=ServiceData(name=, description=, target=false, fields={})), input_boolean.turn_off=Service(domain=input_boolean, service=turn_off, serviceData=ServiceData(name=Turn off, description=Turn off an input boolean, target={entity=[{domain=[input_boolean]}]}, fields={})), synology_dsm.shutdown=Service(domain=synology_dsm, service=shutdown, serviceData=ServiceData(name=Shutdown, description=Shutdown the NAS. This service is deprecated and will be removed in future release. Please use the corresponding button entity., target=false, fields={serial=ServiceFields(name=Serial, description=serial of the NAS to shutdown; required when multiple NAS are configured., example=1NDVC86409, values=null)})), kia_uvo.unlock=Service(domain=kia_uvo, service=unlock, serviceData=ServiceData(name=, description=Unlock the vehicle, target=false, fields={device_id=ServiceFields(name=Vehicle, description=Target vehicle, example=null, values=null)})), input_text.reload=Service(domain=input_text, service=reload, serviceData=ServiceData(name=Reload, description=Reload the input_text configuration., target=false, fields={})), climate.set_temperature=Service(domain=climate, service=set_temperature, serviceData=ServiceData(name=Set temperature, description=Set target temperature of climate device., target={entity=[{domain=[climate], supported_features=[1, 2]}]}, fields={temperature=ServiceFields(name=Temperature, descr 04-20 16:56:30.928 23244 23244 D ButtonWidgetConfigAct: Valid domain and service--processing dynamic fields 04-20 16:56:30.928 23244 23244 D ButtonWidgetConfigAct: Fields applicable to this service: {} 04-20 16:56:30.943 23244 24418 E OpenGLRenderer: Unable to match the desired swap behavior. 04-20 16:56:30.955 23244 24418 W Parcel : Expecting binder but got null! 04-20 16:56:31.864 23244 23244 D InputMethodManager: showSoftInput() view=androidx.appcompat.widget.AppCompatMultiAutoCompleteTextView{8c8202c VFED..CL. .F.P..ID 172,7-992,131 #7f0a00c2 app:id/dynamic_autocomplete_textview aid=1073741832} flags=0 reason=SHOW_SOFT_INPUT 04-20 16:56:31.887 23244 24418 E OpenGLRenderer: Unable to match the desired swap behavior. 04-20 16:56:31.891 23244 24418 W Parcel : Expecting binder but got null! 04-20 16:56:31.920 23244 23244 D InsetsController: show(ime(), fromIme=true) 04-20 16:56:32.820 23244 23244 E SpannableStringBuilder: SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length 04-20 16:56:32.830 23244 24418 D OpenGLRenderer: endAllActiveAnimators on 0xb40000763cb4c1d0 (DropDownListView) with handle 0xb40000754cb73ad0 04-20 16:56:34.440 23244 23244 D ButtonWidget: Broadcast received: 04-20 16:56:34.440 23244 23244 D ButtonWidget: Broadcast action: io.homeassistant.companion.android.widgets.button.ButtonWidget.RECEIVE_DATA 04-20 16:56:34.440 23244 23244 D ButtonWidget: AppWidgetId: 92 04-20 16:56:34.449 23244 23244 D ButtonWidget: Saving service call config data: 04-20 16:56:34.449 23244 23244 D ButtonWidget: domain: switch 04-20 16:56:34.449 23244 23244 D ButtonWidget: service: toggle 04-20 16:56:34.449 23244 23244 D ButtonWidget: service_data: {"entity_id":["switch.smart_plug_4"]} 04-20 16:56:34.449 23244 23244 D ButtonWidget: require_authentication: false 04-20 16:56:34.449 23244 23244 D ButtonWidget: label: test 04-20 16:56:35.655 23244 23244 I Choreographer: Skipped 71 frames! The application may be doing too much work on its main thread. 04-20 16:56:35.676 23244 24418 D OpenGLRenderer: endAllActiveAnimators on 0xb40000763cb2b1f0 (RippleDrawable) with handle 0xb40000754cb70350 04-20 16:56:37.890 23244 23244 D IntegrationRepository: isAppLocked(): false. (LockEnabled: false, appActive: false, expireMillis: 1682006188502, currentMillis: 1682006197890) 04-20 16:56:37.909 23244 24418 E OpenGLRenderer: Unable to match the desired swap behavior. 04-20 16:56:37.963 23244 23244 D IntegrationRepository: isAppLocked(): false. (LockEnabled: false, appActive: false, expireMillis: 1682006188502, currentMillis: 1682006197963) 04-20 16:56:37.963 23244 23244 D IntegrationRepository: setAppActive(): true 04-20 16:56:39.186 23244 23354 D LogcatReader: Read logcat for pid 23244 ```
dshokouhi commented 1 year ago

Looks like the service data saved successfully, can you please get us the logs when you click on the button after saving it?

04-20 16:56:34.449 23244 23244 D ButtonWidget: Saving service call config data:
04-20 16:56:34.449 23244 23244 D ButtonWidget: domain: switch
04-20 16:56:34.449 23244 23244 D ButtonWidget: service: toggle
04-20 16:56:34.449 23244 23244 D ButtonWidget: service_data: {"entity_id":["switch.smart_plug_4"]}
04-20 16:56:34.449 23244 23244 D ButtonWidget: require_authentication: false
04-20 16:56:34.449 23244 23244 D ButtonWidget: label: test
Dividing6043 commented 1 year ago

The logs provided were from after saving. To save I am just hitting the Update Widget button after adding the Entity ID. I have tried again, and here are the logs:

More logs 04-20 17:51:11.388 23244 23244 D WebSocketRepository: Sending message 12: {type=get_services, id=12} 04-20 17:51:11.389 23244 23244 D WebSocketRepository: Message number 12 sent 04-20 17:51:11.389 23244 23244 D WebSocketRepository: Sending message 13: {type=get_states, id=13} 04-20 17:51:11.390 23244 23244 D WebSocketRepository: Message number 13 sent 04-20 17:51:11.425 23244 23856 D WebSocketRepository: Websocket: onMessage (text) 04-20 17:51:11.445 23244 23856 D WebSocketRepository: Message number 12 received 04-20 17:51:11.453 23244 23856 D WebSocketRepository: Websocket: onMessage (text) 04-20 17:51:11.470 23244 23856 D WebSocketRepository: Message number 13 received 04-20 17:51:11.774 23244 23244 D ButtonWidgetConfigAct: Selected icon: Icon(id=62880, categoryId=12, tags=[bjg, bn, le], pathData=M12 2A7 7 0 0 1 19 9 7 7 0 0 1 12 16 7 7 0 0 1 5 9 7 7 0 0 1 12 2M12 4A5 5 0 0 0 7 9 5 5 0 0 0 12 14 5 5 0 0 0 17 9 5 5 0 0 0 12 4M12 6A3 3 0 0 1 15 9 3 3 0 0 1 12 12 3 3 0 0 1 9 9 3 3 0 0 1 12 6M6 22A2 2 0 0 1 4 20C4 19.62 4.1 19.27 4.29 18.97L6.11 15.81C7.69 17.17 9.75 18 12 18 14.25 18 16.31 17.17 17.89 15.81L19.71 18.97C19.9 19.27 20 19.62 20 20A2 2 0 0 1 18 22H6Z, width=24, height=24, srcId=null) 04-20 17:51:11.797 23244 23244 D ButtonWidgetConfigAct: Services found: {2={media_player.turn_on=Service(domain=media_player, service=turn_on, serviceData=ServiceData(name=Turn on, description=Turn a media player power on., target={entity=[{domain=[media_player]}]}, fields={})), notify.mobile_app_pixel_4a=Service(domain=notify, service=mobile_app_pixel_4a, serviceData=ServiceData(name=Send a notification via mobile_app_pixel_4a, description=Sends a notification message using the mobile_app_pixel_4a integration., target=false, fields={message=ServiceFields(name=Message, description=Message body of the notification., example=The garage door has been open for 10 minutes., values=null), title=ServiceFields(name=Title, description=Title for your notification., example=Your Garage Door Friend, values=null), target=ServiceFields(name=Target, description=An array of targets to send the notification to. Optional depending on the platform., example=platform specific, values=null), data=ServiceFields(name=Data, description=Extended information for notification. Optional depending on the platform., example=platform specific, values=null)})), switch.turn_on=Service(domain=switch, service=turn_on, serviceData=ServiceData(name=Turn on, description=Turn a switch on, target={entity=[{domain=[switch]}]}, fields={})), input_number.set_value=Service(domain=input_number, service=set_value, serviceData=ServiceData(name=Set, description=Set the value of an input number entity., target={entity=[{domain=[input_number]}]}, fields={value=ServiceFields(name=Value, description=The target value the entity should be set to., example=null, values=null)})), hassio.host_reboot=Service(domain=hassio, service=host_reboot, serviceData=ServiceData(name=Reboot the host system., description=Reboot the host system., target=false, fields={})), input_select.select_previous=Service(domain=input_select, service=select_previous, serviceData=ServiceData(name=Previous, description=Select the previous options of an input select entity., target={entity=[{domain=[input_select]}]}, fields={cycle=ServiceFields(name=Cycle, description=If the option should cycle from the first to the last., example=null, values=null)})), media_player.media_stop=Service(domain=media_player, service=media_stop, serviceData=ServiceData(name=Stop, description=Send the media player the stop command., target={entity=[{domain=[media_player]}]}, fields={})), homeassistant.toggle=Service(domain=homeassistant, service=toggle, serviceData=ServiceData(name=Generic toggle, description=Generic service to toggle devices on/off under any domain, target={entity=[{}]}, fields={})), myenergi.myenergi_smart_boost=Service(domain=myenergi, service=myenergi_smart_boost, serviceData=ServiceData(name=Smart boost, description=Start smart boost, target={device=[{model=Zappi}], entity=[{domain=[select]}]}, fields={amount=ServiceFields(name=Amount, description=Boost amount (kWh), example=null, values=null), when=ServiceFields(name=Done by, description=What time the charge must be completed, example=null, values=null)})), person.reload=Service(domain=person, service=reload, serviceData=ServiceData(name=Reload, description=Reload the person configuration., target=false, fields={})), octopus_energy.update_target_config=Service(domain=octopus_energy, service=update_target_config, serviceData=ServiceData(name=Update target rate config, description=Updates a given target rate's config. Please note this is temporary and will not persist between restarts., target={entity=[{integration=octopus_energy, domain=[binary_sensor]}]}, fields={target_hours=ServiceFields(name=Hours, description=The optional number of hours the target rate sensor should come on during a 24 hour period., example=1.5, values=null), target_start_time=ServiceFields(name=Start time, description=The optional time the evaluation period should start., example=06:00, values=null), target_end_time=ServiceFields(name=End time, description=The optional time the evaluation period should end., example=19:00, values=null), target_offset=Servi 04-20 17:51:11.797 23244 23244 D ButtonWidgetConfigAct: , target={entity=[{domain=[light]}]}, fields={transition=ServiceFields(name=Transition, description=Duration it takes to get to next state., example=null, values=null), rgb_color=ServiceFields(name=RGB-color, description=Color for the light in RGB-format., example=[255, 100, 100], values=null), color_name=ServiceFields(name=Color name, description=A human readable color name., example=null, values=null), hs_color=ServiceFields(name=Hue/Sat color, description=Color for the light in hue/sat format. Hue is 0-360 and Sat is 0-100., example=[300, 70], values=null), xy_color=ServiceFields(name=XY-color, description=Color for the light in XY-format., example=[0.52, 0.43], values=null), color_temp=ServiceFields(name=Color temperature (mireds), description=Color temperature for the light in mireds., example=null, values=null), kelvin=ServiceFields(name=Color temperature (Kelvin), description=Color temperature for the light in Kelvin., example=null, values=null), brightness=ServiceFields(name=Brightness value, description=Number indicating brightness, where 0 turns the light off, 1 is the minimum brightness and 255 is the maximum brightness supported by the light., example=null, values=null), brightness_pct=ServiceFields(name=Brightness, description=Number indicating percentage of full brightness, where 0 turns the light off, 1 is the minimum brightness and 100 is the maximum brightness supported by the light., example=null, values=null), white=ServiceFields(name=White, description=Set the light to white mode., example=null, values=null), profile=ServiceFields(name=Profile, description=Name of a light profile to use., example=relax, values=null), flash=ServiceFields(name=Flash, description=If the light should flash., example=null, values=null), effect=ServiceFields(name=Effect, description=Light effect., example=null, values=null)})), input_button.press=Service(domain=input_button, service=press, serviceData=ServiceData(name=Press, description=Press the input button entity., target={entity=[{domain=[input_button]}]}, fields={})), media_player.media_pause=Service(domain=media_player, service=media_pause, serviceData=ServiceData(name=Pause, description=Send the media player the command for pause., target={entity=[{domain=[media_player]}]}, fields={})), update.skip=Service(domain=update, service=skip, serviceData=ServiceData(name=Skip update, description=Mark currently available update as skipped., target={entity=[{domain=[update]}]}, fields={})), media_player.shuffle_set=Service(domain=media_player, service=shuffle_set, serviceData=ServiceData(name=Shuffle, description=Set shuffling state., target={entity=[{domain=[media_player]}]}, fields={shuffle=ServiceFields(name=Shuffle, description=True/false for enabling/disabling shuffle., example=null, values=null)})), water_heater.set_operation_mode=Service(domain=water_heater, service=set_operation_mode, serviceData=ServiceData(name=Set operation mode, description=Set operation mode for water_heater device., target={entity=[{domain=[water_heater]}]}, fields={operation_mode=ServiceFields(name=Operation mode, description=New value of operation mode., example=eco, values=null)})), climate.set_fan_mode=Service(domain=climate, service=set_fan_mode, serviceData=ServiceData(name=Set fan mode, description=Set fan operation for climate device., target={entity=[{domain=[climate], supported_features=[8]}]}, fields={fan_mode=ServiceFields(name=Fan mode, description=New value of fan mode., example=low, values=null)})), climate.turn_off=Service(domain=climate, service=turn_off, serviceData=ServiceData(name=Turn off, description=Turn climate device off., target={entity=[{domain=[climate]}]}, fields={})), media_player.join=Service(domain=media_player, service=join, serviceData=ServiceData(name=Join, description=Group players together. Only works on platforms with support for player groups., target={entity=[{domain=[media_player]}]}, fields={group_members=ServiceFields(name=Group members, description=The players which will 04-20 17:51:11.797 23244 23244 D ButtonWidgetConfigAct: - media_player.multiroom_player3 04-20 17:51:11.797 23244 23244 D ButtonWidgetConfigAct: , values=null)})), notify.notify=Service(domain=notify, service=notify, serviceData=ServiceData(name=Send a notification with notify, description=Sends a notification message using the notify service., target=false, fields={message=ServiceFields(name=Message, description=Message body of the notification., example=The garage door has been open for 10 minutes., values=null), title=ServiceFields(name=Title, description=Title for your notification., example=Your Garage Door Friend, values=null), target=ServiceFields(name=Target, description=An array of targets to send the notification to. Optional depending on the platform., example=platform specific, values=null), data=ServiceFields(name=Data, description=Extended information for notification. Optional depending on the platform., example=platform specific, values=null)})), climate.set_humidity=Service(domain=climate, service=set_humidity, serviceData=ServiceData(name=Set target humidity, description=Set target humidity of climate device., target={entity=[{domain=[climate], supported_features=[4]}]}, fields={humidity=ServiceFields(name=Humidity, description=New target humidity for climate device., example=null, values=null)})), persistent_notification.create=Service(domain=persistent_notification, service=create, serviceData=ServiceData(name=Create, description=Show a notification in the frontend., target=false, fields={message=ServiceFields(name=Message, description=Message body of the notification. [Templates accepted], example=Please check your configuration.yaml., values=null), title=ServiceFields(name=Title, description=Optional title for your notification. [Templates accepted], example=Test notification, values=null), notification_id=ServiceFields(name=Notification ID, description=Target ID of the notification, will replace a notification with the same ID., example=1234, values=null)})), scene.create=Service(domain=scene, service=create, serviceData=ServiceData(name=Create, description=Creates a new scene., target=false, fields={scene_id=ServiceFields(name=Scene entity ID, description=The entity_id of the new scene., example=all_lights, values=null), entities=ServiceFields(name=Entities state, description=The entities to control with the scene., example={light.tv_back_light=on, light.ceiling={state=on, brightness=200}}, values=null), snapshot_entities=ServiceFields(name=Snapshot entities, description=The entities of which a snapshot is to be taken, example=[light.ceiling, light.kitchen], values=null)})), automation.turn_on=Service(domain=automation, service=turn_on, serviceData=ServiceData(name=Turn on, description=Enable an automation., target={entity=[{domain=[automation]}]}, fields={})), homeassistant.update_entity=Service(domain=homeassistant, service=update_entity, serviceData=ServiceData(name=Update entity, description=Force one or more entities to update its data, target={entity=[{}]}, fields={})), zone.reload=Service(domain=zone, service=reload, serviceData=ServiceData(name=Reload, description=Reload the YAML-based zone configuration., target=false, fields={})), media_player.media_previous_track=Service(domain=media_player, service=media_previous_track, serviceData=ServiceData(name=Previous, description=Send the media player the command for previous track., target={entity=[{domain=[media_player]}]}, fields={})), media_player.volume_set=Service(domain=media_player, service=volume_set, serviceData=ServiceData(name=Set volume, description=Set a media player's volume level., target={entity=[{domain=[media_player]}]}, fields={volume_level=ServiceFields(name=Level, description=Volume level to set as float., example=null, values=null)})), recorder.disable=Service(domain=recorder, service=disable, serviceData=ServiceData(name=Disable, description=Stop the recording of events and state changes, target=false, fields={})), kia_uvo.close_charge_port=Service(domain=kia_uvo, service=close_charge_port, serviceData=ServiceData(name=, description=Close Charge Port, target=false, fields={device_i 04-20 17:51:11.797 23244 23244 D ButtonWidgetConfigAct: , target={entity=[{domain=[light]}]}, fields={transition=ServiceFields(name=Transition, description=Duration it takes to get to next state., example=null, values=null), rgb_color=ServiceFields(name=Color, description=The color for the light (based on RGB - red, green, blue)., example=null, values=null), rgbw_color=ServiceFields(name=RGBW-color, description=A list containing four integers between 0 and 255 representing the RGBW (red, green, blue, white) color for the light., example=[255, 100, 100, 50], values=null), rgbww_color=ServiceFields(name=RGBWW-color, description=A list containing five integers between 0 and 255 representing the RGBWW (red, green, blue, cold white, warm white) color for the light., example=[255, 100, 100, 50, 70], values=null), color_name=ServiceFields(name=Color name, description=A human readable color name., example=null, values=null), hs_color=ServiceFields(name=Hue/Sat color, description=Color for the light in hue/sat format. Hue is 0-360 and Sat is 0-100., example=[300, 70], values=null), xy_color=ServiceFields(name=XY-color, description=Color for the light in XY-format., example=[0.52, 0.43], values=null), color_temp=ServiceFields(name=Color temperature, description=Color temperature for the light in mireds., example=null, values=null), kelvin=ServiceFields(name=Color temperature (Kelvin), description=Color temperature for the light in Kelvin., example=null, values=null), brightness=ServiceFields(name=Brightness value, description=Number indicating brightness, where 0 turns the light off, 1 is the minimum brightness and 255 is the maximum brightness supported by the light., example=null, values=null), brightness_pct=ServiceFields(name=Brightness, description=Number indicating percentage of full brightness, where 0 turns the light off, 1 is the minimum brightness and 100 is the maximum brightness supported by the light., example=null, values=null), brightness_step=ServiceFields(name=Brightness step value, description=Change brightness by an amount., example=null, values=null), brightness_step_pct=ServiceFields(name=Brightness step, description=Change brightness by a percentage., example=null, values=null), white=ServiceFields(name=White, description=Set the light to white mode., example=null, values=null), profile=ServiceFields(name=Profile, description=Name of a light profile to use., example=relax, values=null), flash=ServiceFields(name=Flash, description=If the light should flash., example=null, values=null), effect=ServiceFields(name=Effect, description=Light effect., example=null, values=null)})), timer.reload=Service(domain=timer, service=reload, serviceData=ServiceData(name=, description=, target=false, fields={})), input_boolean.turn_off=Service(domain=input_boolean, service=turn_off, serviceData=ServiceData(name=Turn off, description=Turn off an input boolean, target={entity=[{domain=[input_boolean]}]}, fields={})), synology_dsm.shutdown=Service(domain=synology_dsm, service=shutdown, serviceData=ServiceData(name=Shutdown, description=Shutdown the NAS. This service is deprecated and will be removed in future release. Please use the corresponding button entity., target=false, fields={serial=ServiceFields(name=Serial, description=serial of the NAS to shutdown; required when multiple NAS are configured., example=1NDVC86409, values=null)})), kia_uvo.unlock=Service(domain=kia_uvo, service=unlock, serviceData=ServiceData(name=, description=Unlock the vehicle, target=false, fields={device_id=ServiceFields(name=Vehicle, description=Target vehicle, example=null, values=null)})), input_text.reload=Service(domain=input_text, service=reload, serviceData=ServiceData(name=Reload, description=Reload the input_text configuration., target=false, fields={})), climate.set_temperature=Service(domain=climate, service=set_temperature, serviceData=ServiceData(name=Set temperature, description=Set target temperature of climate device., target={entity=[{domain=[climate], supported_features=[1, 2]}]}, fields={temperature=ServiceFields(name=Temperature, descr 04-20 17:51:11.799 23244 23244 D ButtonWidgetConfigAct: Valid domain and service--processing dynamic fields 04-20 17:51:11.799 23244 23244 D ButtonWidgetConfigAct: Fields applicable to this service: {} 04-20 17:51:11.817 23244 23244 D ButtonWidgetConfigAct: Services found: {2={media_player.turn_on=Service(domain=media_player, service=turn_on, serviceData=ServiceData(name=Turn on, description=Turn a media player power on., target={entity=[{domain=[media_player]}]}, fields={})), notify.mobile_app_pixel_4a=Service(domain=notify, service=mobile_app_pixel_4a, serviceData=ServiceData(name=Send a notification via mobile_app_pixel_4a, description=Sends a notification message using the mobile_app_pixel_4a integration., target=false, fields={message=ServiceFields(name=Message, description=Message body of the notification., example=The garage door has been open for 10 minutes., values=null), title=ServiceFields(name=Title, description=Title for your notification., example=Your Garage Door Friend, values=null), target=ServiceFields(name=Target, description=An array of targets to send the notification to. Optional depending on the platform., example=platform specific, values=null), data=ServiceFields(name=Data, description=Extended information for notification. Optional depending on the platform., example=platform specific, values=null)})), switch.turn_on=Service(domain=switch, service=turn_on, serviceData=ServiceData(name=Turn on, description=Turn a switch on, target={entity=[{domain=[switch]}]}, fields={})), input_number.set_value=Service(domain=input_number, service=set_value, serviceData=ServiceData(name=Set, description=Set the value of an input number entity., target={entity=[{domain=[input_number]}]}, fields={value=ServiceFields(name=Value, description=The target value the entity should be set to., example=null, values=null)})), hassio.host_reboot=Service(domain=hassio, service=host_reboot, serviceData=ServiceData(name=Reboot the host system., description=Reboot the host system., target=false, fields={})), input_select.select_previous=Service(domain=input_select, service=select_previous, serviceData=ServiceData(name=Previous, description=Select the previous options of an input select entity., target={entity=[{domain=[input_select]}]}, fields={cycle=ServiceFields(name=Cycle, description=If the option should cycle from the first to the last., example=null, values=null)})), media_player.media_stop=Service(domain=media_player, service=media_stop, serviceData=ServiceData(name=Stop, description=Send the media player the stop command., target={entity=[{domain=[media_player]}]}, fields={})), homeassistant.toggle=Service(domain=homeassistant, service=toggle, serviceData=ServiceData(name=Generic toggle, description=Generic service to toggle devices on/off under any domain, target={entity=[{}]}, fields={})), myenergi.myenergi_smart_boost=Service(domain=myenergi, service=myenergi_smart_boost, serviceData=ServiceData(name=Smart boost, description=Start smart boost, target={device=[{model=Zappi}], entity=[{domain=[select]}]}, fields={amount=ServiceFields(name=Amount, description=Boost amount (kWh), example=null, values=null), when=ServiceFields(name=Done by, description=What time the charge must be completed, example=null, values=null)})), person.reload=Service(domain=person, service=reload, serviceData=ServiceData(name=Reload, description=Reload the person configuration., target=false, fields={})), octopus_energy.update_target_config=Service(domain=octopus_energy, service=update_target_config, serviceData=ServiceData(name=Update target rate config, description=Updates a given target rate's config. Please note this is temporary and will not persist between restarts., target={entity=[{integration=octopus_energy, domain=[binary_sensor]}]}, fields={target_hours=ServiceFields(name=Hours, description=The optional number of hours the target rate sensor should come on during a 24 hour period., example=1.5, values=null), target_start_time=ServiceFields(name=Start time, description=The optional time the evaluation period should start., example=06:00, values=null), target_end_time=ServiceFields(name=End time, description=The optional time the evaluation period should end., example=19:00, values=null), target_offset=Servi 04-20 17:51:11.817 23244 23244 D ButtonWidgetConfigAct: , target={entity=[{domain=[light]}]}, fields={transition=ServiceFields(name=Transition, description=Duration it takes to get to next state., example=null, values=null), rgb_color=ServiceFields(name=RGB-color, description=Color for the light in RGB-format., example=[255, 100, 100], values=null), color_name=ServiceFields(name=Color name, description=A human readable color name., example=null, values=null), hs_color=ServiceFields(name=Hue/Sat color, description=Color for the light in hue/sat format. Hue is 0-360 and Sat is 0-100., example=[300, 70], values=null), xy_color=ServiceFields(name=XY-color, description=Color for the light in XY-format., example=[0.52, 0.43], values=null), color_temp=ServiceFields(name=Color temperature (mireds), description=Color temperature for the light in mireds., example=null, values=null), kelvin=ServiceFields(name=Color temperature (Kelvin), description=Color temperature for the light in Kelvin., example=null, values=null), brightness=ServiceFields(name=Brightness value, description=Number indicating brightness, where 0 turns the light off, 1 is the minimum brightness and 255 is the maximum brightness supported by the light., example=null, values=null), brightness_pct=ServiceFields(name=Brightness, description=Number indicating percentage of full brightness, where 0 turns the light off, 1 is the minimum brightness and 100 is the maximum brightness supported by the light., example=null, values=null), white=ServiceFields(name=White, description=Set the light to white mode., example=null, values=null), profile=ServiceFields(name=Profile, description=Name of a light profile to use., example=relax, values=null), flash=ServiceFields(name=Flash, description=If the light should flash., example=null, values=null), effect=ServiceFields(name=Effect, description=Light effect., example=null, values=null)})), input_button.press=Service(domain=input_button, service=press, serviceData=ServiceData(name=Press, description=Press the input button entity., target={entity=[{domain=[input_button]}]}, fields={})), media_player.media_pause=Service(domain=media_player, service=media_pause, serviceData=ServiceData(name=Pause, description=Send the media player the command for pause., target={entity=[{domain=[media_player]}]}, fields={})), update.skip=Service(domain=update, service=skip, serviceData=ServiceData(name=Skip update, description=Mark currently available update as skipped., target={entity=[{domain=[update]}]}, fields={})), media_player.shuffle_set=Service(domain=media_player, service=shuffle_set, serviceData=ServiceData(name=Shuffle, description=Set shuffling state., target={entity=[{domain=[media_player]}]}, fields={shuffle=ServiceFields(name=Shuffle, description=True/false for enabling/disabling shuffle., example=null, values=null)})), water_heater.set_operation_mode=Service(domain=water_heater, service=set_operation_mode, serviceData=ServiceData(name=Set operation mode, description=Set operation mode for water_heater device., target={entity=[{domain=[water_heater]}]}, fields={operation_mode=ServiceFields(name=Operation mode, description=New value of operation mode., example=eco, values=null)})), climate.set_fan_mode=Service(domain=climate, service=set_fan_mode, serviceData=ServiceData(name=Set fan mode, description=Set fan operation for climate device., target={entity=[{domain=[climate], supported_features=[8]}]}, fields={fan_mode=ServiceFields(name=Fan mode, description=New value of fan mode., example=low, values=null)})), climate.turn_off=Service(domain=climate, service=turn_off, serviceData=ServiceData(name=Turn off, description=Turn climate device off., target={entity=[{domain=[climate]}]}, fields={})), media_player.join=Service(domain=media_player, service=join, serviceData=ServiceData(name=Join, description=Group players together. Only works on platforms with support for player groups., target={entity=[{domain=[media_player]}]}, fields={group_members=ServiceFields(name=Group members, description=The players which will 04-20 17:51:11.817 23244 23244 D ButtonWidgetConfigAct: - media_player.multiroom_player3 04-20 17:51:11.818 23244 23244 D ButtonWidgetConfigAct: , values=null)})), notify.notify=Service(domain=notify, service=notify, serviceData=ServiceData(name=Send a notification with notify, description=Sends a notification message using the notify service., target=false, fields={message=ServiceFields(name=Message, description=Message body of the notification., example=The garage door has been open for 10 minutes., values=null), title=ServiceFields(name=Title, description=Title for your notification., example=Your Garage Door Friend, values=null), target=ServiceFields(name=Target, description=An array of targets to send the notification to. Optional depending on the platform., example=platform specific, values=null), data=ServiceFields(name=Data, description=Extended information for notification. Optional depending on the platform., example=platform specific, values=null)})), climate.set_humidity=Service(domain=climate, service=set_humidity, serviceData=ServiceData(name=Set target humidity, description=Set target humidity of climate device., target={entity=[{domain=[climate], supported_features=[4]}]}, fields={humidity=ServiceFields(name=Humidity, description=New target humidity for climate device., example=null, values=null)})), persistent_notification.create=Service(domain=persistent_notification, service=create, serviceData=ServiceData(name=Create, description=Show a notification in the frontend., target=false, fields={message=ServiceFields(name=Message, description=Message body of the notification. [Templates accepted], example=Please check your configuration.yaml., values=null), title=ServiceFields(name=Title, description=Optional title for your notification. [Templates accepted], example=Test notification, values=null), notification_id=ServiceFields(name=Notification ID, description=Target ID of the notification, will replace a notification with the same ID., example=1234, values=null)})), scene.create=Service(domain=scene, service=create, serviceData=ServiceData(name=Create, description=Creates a new scene., target=false, fields={scene_id=ServiceFields(name=Scene entity ID, description=The entity_id of the new scene., example=all_lights, values=null), entities=ServiceFields(name=Entities state, description=The entities to control with the scene., example={light.tv_back_light=on, light.ceiling={state=on, brightness=200}}, values=null), snapshot_entities=ServiceFields(name=Snapshot entities, description=The entities of which a snapshot is to be taken, example=[light.ceiling, light.kitchen], values=null)})), automation.turn_on=Service(domain=automation, service=turn_on, serviceData=ServiceData(name=Turn on, description=Enable an automation., target={entity=[{domain=[automation]}]}, fields={})), homeassistant.update_entity=Service(domain=homeassistant, service=update_entity, serviceData=ServiceData(name=Update entity, description=Force one or more entities to update its data, target={entity=[{}]}, fields={})), zone.reload=Service(domain=zone, service=reload, serviceData=ServiceData(name=Reload, description=Reload the YAML-based zone configuration., target=false, fields={})), media_player.media_previous_track=Service(domain=media_player, service=media_previous_track, serviceData=ServiceData(name=Previous, description=Send the media player the command for previous track., target={entity=[{domain=[media_player]}]}, fields={})), media_player.volume_set=Service(domain=media_player, service=volume_set, serviceData=ServiceData(name=Set volume, description=Set a media player's volume level., target={entity=[{domain=[media_player]}]}, fields={volume_level=ServiceFields(name=Level, description=Volume level to set as float., example=null, values=null)})), recorder.disable=Service(domain=recorder, service=disable, serviceData=ServiceData(name=Disable, description=Stop the recording of events and state changes, target=false, fields={})), kia_uvo.close_charge_port=Service(domain=kia_uvo, service=close_charge_port, serviceData=ServiceData(name=, description=Close Charge Port, target=false, fields={device_i 04-20 17:51:11.818 23244 23244 D ButtonWidgetConfigAct: , target={entity=[{domain=[light]}]}, fields={transition=ServiceFields(name=Transition, description=Duration it takes to get to next state., example=null, values=null), rgb_color=ServiceFields(name=Color, description=The color for the light (based on RGB - red, green, blue)., example=null, values=null), rgbw_color=ServiceFields(name=RGBW-color, description=A list containing four integers between 0 and 255 representing the RGBW (red, green, blue, white) color for the light., example=[255, 100, 100, 50], values=null), rgbww_color=ServiceFields(name=RGBWW-color, description=A list containing five integers between 0 and 255 representing the RGBWW (red, green, blue, cold white, warm white) color for the light., example=[255, 100, 100, 50, 70], values=null), color_name=ServiceFields(name=Color name, description=A human readable color name., example=null, values=null), hs_color=ServiceFields(name=Hue/Sat color, description=Color for the light in hue/sat format. Hue is 0-360 and Sat is 0-100., example=[300, 70], values=null), xy_color=ServiceFields(name=XY-color, description=Color for the light in XY-format., example=[0.52, 0.43], values=null), color_temp=ServiceFields(name=Color temperature, description=Color temperature for the light in mireds., example=null, values=null), kelvin=ServiceFields(name=Color temperature (Kelvin), description=Color temperature for the light in Kelvin., example=null, values=null), brightness=ServiceFields(name=Brightness value, description=Number indicating brightness, where 0 turns the light off, 1 is the minimum brightness and 255 is the maximum brightness supported by the light., example=null, values=null), brightness_pct=ServiceFields(name=Brightness, description=Number indicating percentage of full brightness, where 0 turns the light off, 1 is the minimum brightness and 100 is the maximum brightness supported by the light., example=null, values=null), brightness_step=ServiceFields(name=Brightness step value, description=Change brightness by an amount., example=null, values=null), brightness_step_pct=ServiceFields(name=Brightness step, description=Change brightness by a percentage., example=null, values=null), white=ServiceFields(name=White, description=Set the light to white mode., example=null, values=null), profile=ServiceFields(name=Profile, description=Name of a light profile to use., example=relax, values=null), flash=ServiceFields(name=Flash, description=If the light should flash., example=null, values=null), effect=ServiceFields(name=Effect, description=Light effect., example=null, values=null)})), timer.reload=Service(domain=timer, service=reload, serviceData=ServiceData(name=, description=, target=false, fields={})), input_boolean.turn_off=Service(domain=input_boolean, service=turn_off, serviceData=ServiceData(name=Turn off, description=Turn off an input boolean, target={entity=[{domain=[input_boolean]}]}, fields={})), synology_dsm.shutdown=Service(domain=synology_dsm, service=shutdown, serviceData=ServiceData(name=Shutdown, description=Shutdown the NAS. This service is deprecated and will be removed in future release. Please use the corresponding button entity., target=false, fields={serial=ServiceFields(name=Serial, description=serial of the NAS to shutdown; required when multiple NAS are configured., example=1NDVC86409, values=null)})), kia_uvo.unlock=Service(domain=kia_uvo, service=unlock, serviceData=ServiceData(name=, description=Unlock the vehicle, target=false, fields={device_id=ServiceFields(name=Vehicle, description=Target vehicle, example=null, values=null)})), input_text.reload=Service(domain=input_text, service=reload, serviceData=ServiceData(name=Reload, description=Reload the input_text configuration., target=false, fields={})), climate.set_temperature=Service(domain=climate, service=set_temperature, serviceData=ServiceData(name=Set temperature, description=Set target temperature of climate device., target={entity=[{domain=[climate], supported_features=[1, 2]}]}, fields={temperature=ServiceFields(name=Temperature, descr 04-20 17:51:11.820 23244 23244 D ButtonWidgetConfigAct: Valid domain and service--processing dynamic fields 04-20 17:51:11.820 23244 23244 D ButtonWidgetConfigAct: Fields applicable to this service: {} 04-20 17:51:11.842 23244 24418 E OpenGLRenderer: Unable to match the desired swap behavior. 04-20 17:51:11.849 23244 24418 W Parcel : Expecting binder but got null! 04-20 17:51:13.441 23244 23244 D InputMethodManager: showSoftInput() view=androidx.appcompat.widget.AppCompatMultiAutoCompleteTextView{67a69a4 VFED..CL. .F.P..ID 172,7-992,131 #7f0a00c2 app:id/dynamic_autocomplete_textview aid=1073741832} flags=0 reason=SHOW_SOFT_INPUT 04-20 17:51:13.454 23244 24418 E OpenGLRenderer: Unable to match the desired swap behavior. 04-20 17:51:13.461 23244 24418 W Parcel : Expecting binder but got null! 04-20 17:51:13.733 23244 23244 D InsetsController: show(ime(), fromIme=true) 04-20 17:51:14.599 23244 23244 E SpannableStringBuilder: SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length 04-20 17:51:14.606 23244 24418 D OpenGLRenderer: endAllActiveAnimators on 0xb40000763cc40bd0 (DropDownListView) with handle 0xb40000754cbe8b60 04-20 17:51:16.700 23244 23244 D ButtonWidget: Broadcast received: 04-20 17:51:16.700 23244 23244 D ButtonWidget: Broadcast action: io.homeassistant.companion.android.widgets.button.ButtonWidget.RECEIVE_DATA 04-20 17:51:16.700 23244 23244 D ButtonWidget: AppWidgetId: 92 04-20 17:51:16.707 23244 23244 D ButtonWidget: Saving service call config data: 04-20 17:51:16.707 23244 23244 D ButtonWidget: domain: switch 04-20 17:51:16.707 23244 23244 D ButtonWidget: service: toggle 04-20 17:51:16.707 23244 23244 D ButtonWidget: service_data: {"entity_id":["switch.smart_plug_4"]} 04-20 17:51:16.707 23244 23244 D ButtonWidget: require_authentication: false 04-20 17:51:16.707 23244 23244 D ButtonWidget: label: test 04-20 17:51:17.968 23244 23244 I Choreographer: Skipped 74 frames! The application may be doing too much work on its main thread. 04-20 17:51:17.996 23244 24418 D OpenGLRenderer: endAllActiveAnimators on 0xb40000763cc41f20 (RippleDrawable) with handle 0xb40000754cbd8d50 04-20 17:51:19.940 23244 23244 D IntegrationRepository: isAppLocked(): false. (LockEnabled: false, appActive: false, expireMillis: 1682009462104, currentMillis: 1682009479940) 04-20 17:51:19.955 23244 24418 E OpenGLRenderer: Unable to match the desired swap behavior. 04-20 17:51:19.977 23244 23244 D IntegrationRepository: isAppLocked(): false. (LockEnabled: false, appActive: false, expireMillis: 1682009462104, currentMillis: 1682009479976) 04-20 17:51:19.977 23244 23244 D IntegrationRepository: setAppActive(): true 04-20 17:51:21.219 23244 23354 D LogcatReader: Read logcat for pid 23244
dshokouhi commented 1 year ago

@Dividing6043 sorry I was not talking about saving the widget data. I was asking about pressing the button widget itself on the home screen to execute the service call. I want to see what the failure looks like as the logs indicate its saving to the database correctly.

Dividing6043 commented 1 year ago

No problem. I have just updated the widget again and saved it with the correct Entity ID. I then clicked the button. Here are the logs from just the button push:

04-20 18:06:01.801 23244 23244 D IntegrationRepository: setAppActive(): false
04-20 18:06:01.803 23244 23244 D IntegrationRepository: setAppActive(): false
04-20 18:06:01.839 23244 23244 D LocBroadcastReceiver: Received location update.
04-20 18:06:01.849 23244 23244 D ForegrndServiceLauncher: Check if service HighAccuracyLocationService is running. Service running = false
04-20 18:06:01.850 23244 23400 D LocBroadcastReceiver: Last Location: 
04-20 18:06:01.850 23244 23400 D LocBroadcastReceiver: Coords:(51.251367, -0.0680806)
04-20 18:06:01.850 23244 23400 D LocBroadcastReceiver: Accuracy: 11.536
04-20 18:06:01.850 23244 23400 D LocBroadcastReceiver: Bearing: 0.0
04-20 18:06:01.851 23244 23400 D LocBroadcastReceiver: Begin evaluating if location update should be skipped
04-20 18:06:01.855 23244 23400 D LocBroadcastReceiver: Received location that is 34 milliseconds old, 1682010361817 compared to 1682010361851 with source fused
04-20 18:06:01.861 23244 23400 D ServerConnectionInfo: localUrl is: false, usesInternalSsid is: false, usesWifi is: true
04-20 18:06:01.895 23244 23400 D LocBroadcastReceiver: Location update sent successfully for 2 as exact
04-20 18:06:02.748 23244 23244 D ButtonWidget: Broadcast received: 
04-20 18:06:02.748 23244 23244 D ButtonWidget: Broadcast action: io.homeassistant.companion.android.widgets.button.ButtonWidget.CALL_SERVICE
04-20 18:06:02.748 23244 23244 D ButtonWidget: AppWidgetId: 92
04-20 18:06:02.752 23244 23244 D ButtonWidget: Calling widget service
04-20 18:06:02.764 23244 23244 D ButtonWidget: Service Call Data loaded:
04-20 18:06:02.764 23244 23244 D ButtonWidget: domain: switch
04-20 18:06:02.764 23244 23244 D ButtonWidget: service: toggle
04-20 18:06:02.764 23244 23244 D ButtonWidget: service_data: {"entity_id":["switch.smart_plug_4"]}
04-20 18:06:02.796 23244 23244 D ButtonWidget: Sending service call to Home Assistant
04-20 18:06:02.800 23244 23244 D ServerConnectionInfo: localUrl is: false, usesInternalSsid is: false, usesWifi is: true
04-20 18:06:03.042 23244 23244 D ButtonWidget: Service call sent successfully
04-20 18:06:09.669 23244 23244 D IntegrationRepository: isAppLocked(): false. (LockEnabled: false, appActive: false, expireMillis: 1682010362802, currentMillis: 1682010369669)
04-20 18:06:09.686 23244 24418 E OpenGLRenderer: Unable to match the desired swap behavior.
04-20 18:06:09.735 23244 23244 D IntegrationRepository: isAppLocked(): false. (LockEnabled: false, appActive: false, expireMillis: 1682010362802, currentMillis: 1682010369735)
04-20 18:06:09.735 23244 23244 D IntegrationRepository: setAppActive(): true
04-20 18:06:11.130 23244 23400 D LogcatReader: Read logcat for pid 23244
dshokouhi commented 1 year ago

according to this log its working

04-20 18:06:02.796 23244 23244 D ButtonWidget: Sending service call to Home Assistant
04-20 18:06:03.042 23244 23244 D ButtonWidget: Service call sent successfully

are you certain the entity ID is correct and that the switch.toggle service call works for the entity in question?

04-20 18:06:02.764 23244 23244 D ButtonWidget: service_data: {"entity_id":["switch.smart_plug_4"]}

https://github.com/home-assistant/android/blob/a2f85ef47529dcdcb6aec72965c1236c3fe85b5f/app/src/main/java/io/homeassistant/companion/android/widgets/button/ButtonWidget.kt#L323

Edit: are there any HA core errors at the time of clicking on the widget on the home screen?

Dividing6043 commented 1 year ago

Sorry, I have just checked. And in this instance it did work and the plug correctly toggled from off to on. However, if I go back and try to modify the widget, the Entity ID is no longer displayed. I assumed that the widget would therefore not work. However, on reflection it appears in this case it is working. I guess this makes the bug a little simpler... It should display the existing Entity ID, not blank. I will test some of my other buttons as they have additional field info that also appear to be removed when modifying.

dshokouhi commented 1 year ago

ok thanks for confirming, so the data is there just the issue is with the display of the data :) Could you also share a screenshot of the missing data so we can see what the full UI looks like. If you can grab before and after pics that would be more helpful :)

Dividing6043 commented 1 year ago

Here are screenshots of the before and after for a switch: Screenshot_20230420-190136~2 Screenshot_20230420-190229

alarmix commented 1 year ago

Have the same problem. Adding fields to the widget seems to be ok, but the next time I open the widget settings, all field data is gone (not displayed).