Skip to content

[Bug]: wiim.reboot_device does not restart Wiim Amp #260

Description

@TesLocker

Pre-submission Checklist

  • I have searched existing issues and this is not a duplicate
  • I am using the latest version of the WiiM integration
  • I have enabled debug logging and included relevant logs below
  • I have included the integration diagnostics

Integration Version

v1.0.95

Home Assistant Version

2026.7.2

Primary WiiM Device Model

WiiM Amp

Primary Device Name

Guest Bathroom Speaker

Is this device part of a group?

No - device is standalone

Grouped Devices Details

No response

Bug Description

Issuing the wiim.reboot_device command does not reboot the Wiim Amp.

I tried the following:

action: wiim.reboot_device
data: {}
target:
entity_id: media_player.guest_bathroom_speaker

https://192.168.1.208/httpapi.asp?command=StartRebootTime:1

Steps to Reproduce

Go to Developer Tools in Home Assistant
Choose "Actions" tab
Select "wiim.reboot_device" from the action list
Select a Wiim Amp device as the target

Example:

action: wiim.reboot_device
data: {}
target:
entity_id: media_player.guest_bathroom_speaker

Configuration

Integration Diagnostics

"integration_manifest": {
"domain": "wiim",
"name": "WiiM",
"codeowners": [
"mjcumming"
],
"config_flow": true,
"dependencies": [
"http"
],
"documentation": "https://github.com/mjcumming/wiim",
"integration_type": "device",
"iot_class": "local_polling",
"issue_tracker": "https://github.com/mjcumming/wiim/issues",
"quality_scale": "gold",
"requirements": [
"pywiim==2.3.0"
],
"ssdp": [
{
"deviceType": "urn:schemas-upnp-org:device:MediaRenderer:1",
"st": "urn:schemas-upnp-org:device:MediaRenderer:1"
}
],
"version": "1.0.95",
"zeroconf": [
{
"type": "_linkplay._tcp.local."
}
],
"is_built_in": false,
"overwrites_built_in": true
},
"setup_times": {
"null": {
"setup": 4.4665997847914696e-05
},
"01K9NNK90S3YD7CSZDA7FHPJ3V": {
"wait_import_platforms": -0.05715930997394025,
"config_entry_setup": 15.673927227035165
},
"01KMM9AXCF2VXQAHZ6SYPR1GYF": {
"config_entry_setup": 16.305883842986077
},
"01K9MKWF6ZR4BPPJY69SY1BWDP": {
"config_entry_setup": 17.271976727060974
},
"01K9MKRT1G2GK3CX2XQZSTJ552": {
"config_entry_setup": 17.328386795008555
}
},
"data": {
"pywiim_version": "2.3.0",
"integration_overview": {
"total_devices": 4,
"available_devices": 4,
"roles": {
"solo": 4,
"master": 0,
"slave": 0
},
"models": [
"WiiM_Amp_4layer",
"WiiM_AMP"
]
},
"this_device": {
"name": "Guest Bathroom Speaker",
"model": "WiiM_Amp_4layer",
"firmware": "Linkplay.5.2.823846",
"role": "solo",
"available": true
},
"coordinator": {
"update_interval_seconds": 5.0,
"last_update_success": true
},
"entry_data": {
"capabilities": {
"audio_pro_generation": "original",
"device_type": "WiiM_Amp_4layer",
"firmware_version": "Linkplay.5.2.823846",
"is_legacy_device": false,
"is_wiim_device": true,
"led_command_format": "standard",
"loop_mode_scheme": "wiim",
"max_alarm_slots": 3,
"non_selectable_source_ids": [],
"presets_full_data": true,
"protocol_priority": [
"https",
"http"
],
"reboot_command": "reboot",
"response_timeout": 2.0,
"retry_count": 2,
"status_endpoint": "/httpapi.asp?command=getPlayerStatusEx",
"supports_alarms": true,
"supports_audio_output": true,
"supports_channel_balance": true,
"supports_display_config": false,
"supports_enhanced_grouping": true,
"supports_eq": true,
"supports_firmware_install": true,
"supports_getslavelist": true,
"supports_getstatuse": true,
"supports_led_control": true,
"supports_led_switch": true,
"supports_metadata": true,
"supports_peq": true,
"supports_player_status_ex": true,
"supports_presets": true,
"supports_sleep_timer": true,
"supports_subwoofer": true,
"supports_trigger_out": false,
"upnp_description_available": true,
"upnp_friendly_name": "Guest Bathroom Speaker",
"upnp_has_content_directory": false,
"upnp_has_playqueue": true,
"upnp_has_qplay": true,
"upnp_model_name": "WiiM Amp",
"upnp_service_types": [
"urn:schemas-tencent-com:service:QPlay:1",
"urn:schemas-upnp-org:service:AVTransport:1",
"urn:schemas-upnp-org:service:ConnectionManager:1",
"urn:schemas-upnp-org:service:RenderingControl:1",
"urn:schemas-wiimu-com:service:PlayQueue:1"
],
"upnp_udn": "uuid:FF98F2F7-5B1B-8C0C-7FC3-10CDFF98F2F7",
"vendor": "wiim",
"wiim_input_capability": [
"network",
"line_in",
"bluetooth",
"optical",
"hdmi",
"udisk"
],
"wiim_input_enable": {
"network": true,
"bluetooth": true,
"line_in": true,
"optical": true,
"hdmi": true
}
},
"capabilities_cache_meta": {
"pywiim_version": "2.3.0",
"firmware_version": "Linkplay.5.2.823846"
},
"endpoint": "https://192.168.1.208:443",
"host": "REDACTED",
"ssdp_info": {
"location": "http://192.168.1.208:49152/description.xml"
}
},
"entry_options": {
"enable_maintenance_buttons": true,
"volume_step": 0.05
}
},
"issues": []
}

Debug Logs

2026-07-31 19:00:07.944 DEBUG (MainThread) [pywiim.api.diagnostics] Sending reboot command: reboot
2026-07-31 19:00:07.944 DEBUG (MainThread) [pywiim.api.base] HTTP start host=192.168.1.208 attempt=1 GET https://192.168.1.208:443/httpapi.asp?command=reboot
2026-07-31 19:00:08.008 DEBUG (MainThread) [pywiim.api.base] HTTP done host=192.168.1.208 status=200 64.1ms GET https://192.168.1.208:443/httpapi.asp?command=reboot
2026-07-31 19:00:08.009 INFO (MainThread) [custom_components.wiim.media_player] Reboot sent to Guest Bathroom Speaker
2026-07-31 19:00:08.149 DEBUG (MainThread) [pywiim.api.base] Using capability-configured status endpoint: /httpapi.asp?command=getPlayerStatusEx
2026-07-31 19:00:08.150 DEBUG (MainThread) [pywiim.api.base] HTTP start host=192.168.1.208 attempt=1 GET https://192.168.1.208:443/httpapi.asp?command=getPlayerStatusEx
2026-07-31 19:00:08.216 DEBUG (MainThread) [pywiim.api.base] Using capability-configured status endpoint: /httpapi.asp?command=getPlayerStatusEx
2026-07-31 19:00:08.216 DEBUG (MainThread) [pywiim.api.base] HTTP start host=192.168.1.202 attempt=1 GET https://192.168.1.202:443/httpapi.asp?command=getPlayerStatusEx
2026-07-31 19:00:08.220 DEBUG (MainThread) [pywiim.api.base] HTTP done host=192.168.1.208 status=200 70.2ms GET https://192.168.1.208:443/httpapi.asp?command=getPlayerStatusEx
2026-07-31 19:00:08.220 DEBUG (MainThread) [pywiim.api.parser] 🎵 Position value 28000 treated as milliseconds for local/network source, converting to seconds: 28 seconds (source: 1, vendor: wiim)
2026-07-31 19:00:08.220 DEBUG (MainThread) [pywiim.api.parser] 🎵 API PARSER: Setting data['position'] = 28
2026-07-31 19:00:08.220 DEBUG (MainThread) [pywiim.api.parser] 🎵 Position from API: 28 seconds (source: 1, raw_value: 28000)
2026-07-31 19:00:08.220 DEBUG (MainThread) [pywiim.api.parser] 🎵 Duration value 130000 treated as milliseconds for local/network source, converting to seconds: 130 seconds (source: 1, vendor: wiim)
2026-07-31 19:00:08.220 DEBUG (MainThread) [pywiim.api.parser] Mapped mode 1 to source 'airplay' (previous source: missing)
2026-07-31 19:00:08.220 DEBUG (MainThread) [pywiim.api.base] HTTP start host=192.168.1.208 attempt=1 GET https://192.168.1.208:443/httpapi.asp?command=getMetaInfo
2026-07-31 19:00:08.284 DEBUG (MainThread) [pywiim.api.base] HTTP done host=192.168.1.208 status=200 63.1ms GET https://192.168.1.208:443/httpapi.asp?command=getMetaInfo
2026-07-31 19:00:08.284 DEBUG (MainThread) [pywiim.api.base] Merged artwork URL from getMetaInfo: https://192.168.1.208/data/AirplayArtWorkData.jpeg?cache=Falling%20Leaves-Maelk%20%26%20Coogan-Falling%20Leaves%20-%20EP
2026-07-31 19:00:08.285 DEBUG (MainThread) [pywiim.state] State merge [profile]: field=image_url, chose=http (metadata, upnp empty/invalid)
2026-07-31 19:00:08.285 DEBUG (MainThread) [pywiim.player.groupops] Device info cached for 192.168.1.208 - checking role via get_device_group_info()
2026-07-31 19:00:08.286 DEBUG (MainThread) [pywiim.api.base] HTTP start host=192.168.1.208 attempt=1 GET https://192.168.1.208:443/httpapi.asp?command=getStatusEx

Additional Context

When the command is issued, it tries to reboot by using this URL, which does not work:
https://192.168.1.208:443/httpapi.asp?command=reboot

Result returned is: "unknown command"

Instead, this URL works:
https://192.168.1.208/httpapi.asp?command=StartRebootTime:1

Result returned is: "OK" and device reboots

This is similar to Issue #179 , which has since been resolved for Wiim Pro

Installation Method

HACS

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions