nagyrobi/home-assistant-custom-components-linkplay

Linkplay entities unavailable in Home Assistant?

kylepyke opened this issue · 17 comments

Hi Robert! Thanks for all of your work on this.

I'm trying to integrate my Wiim minis into Home Assistant, and it seems they appear as unavailable. They are linkplay devices– are they supported by this integration? I've verified the below IPs and uuids are correct.

media_player:
  - platform: linkplay
    host: 192.168.1.252
    name: Console Player
    volume_step: 5
    uuid: "FF9700169D79193339EF44F3"
    icecast_metadata: "StationNameSongTitle"
    multiroom_wifidirect: False
    sources: { "line-in": "Record Player", "bluetooth": "Bluetooth" }
    common_sources: !include linkplay-radio-sources.yaml
    
  - platform: linkplay
    host: 192.168.1.237
    name: Kitchen
    icecast_metadata: "Off" # valid values: 'Off', 'StationName', 'StationNameSongTitle'
    sources: { "bluetooth": "Bluetooth" }
    common_sources: !include linkplay-radio-sources.yaml
    uuid: "FF9700169841A4CB6A81120D"

Check in your browser for
http://YOUR.PLAYER.IP.ADDRESS/httpapi.asp?command=getStatus
and
http://YOUR.PLAYER.IP.ADDRESS/httpapi.asp?command=getPlayerStatus
And post result here.

http://YOUR.PLAYER.IP.ADDRESS/httpapi.asp?command=getStatus
returns "unknown command"

http://YOUR.PLAYER.IP.ADDRESS/httpapi.asp?command=getPlayerStatus
returns:

{"type":"0","ch":"0","mode":"40","loop":"0","eq":"0","status":"play","curpos":"0","offset_pts":"0","totlen":"0","alarmflag":"0","plicount":"0","plicurr":"0","vol":"42","mute":"0"}

How about httpapi.asp?command=getStatusEx

t httpapi.asp?command=getStatusEx
returns:

{ "language": "en_us", "ssid": "WiiM Mini-0686", "hideSSID": "0", "firmware": "Linkplay.4.6.427455", "build": "release", "project": "Muzo_Mini", "priv_prj": "Muzo_Mini", "Release": "20220826", "FW_Release_version": "", "group": "0", "wmrm_version": "4.2", "expired": "0", "internet": "1", "uuid": "FF9700169D79193339EF44F3", "MAC": "08:FB:EA:64:06:86", "BT_MAC": "08:FB:EA:64:06:87", "AP_MAC": "0A:FB:EA:64:06:86", "date": "2022:09:03", "time": "06:33:47", "netstat": "2", "essid": "4A6573757357617341536F6369616C697374", "apcli0": "192.168.1.252", "eth0": "0.0.0.0", "ETH_MAC": "00:00:00:00:00:00", "hardware": "ALLWINNER-R328", "VersionUpdate": "0", "NewVer": "0", "mcu_ver": "0", "mcu_ver_new": "0", "update_check_count": "2", "ra0": "10.10.10.254", "temp_uuid": "415C4FC873D95D6C", "cap1": "0x400", "capability": "0x20084000", "languages": "0x1ec", "prompt_status": "1", "alexa_ver": "20180604", "alexa_beta_enable": "0", "alexa_force_beta_cfg": "0", "dsp_ver": "0", "streams_all": "0x1edffbfd", "streams": "0x1edffbfd", "region": "unknown", "volume_control": "0", "external": "0x0", "preset_key": "12", "plm_support": "0x300006", "lbc_support": "0", "WifiChannel": "0", "RSSI": "-54", "BSSID": "60:a4:b7:5c:e1:63", "wlanFreq": "5240", "wlanDataRate": "292", "battery": "0", "battery_percent": "0", "securemode": "1", "ota_interface_ver": "2.0", "upnp_version": "1005", "upnp_uuid": "uuid:FF970016-9D79-1933-39EF-44F3FF970016", "uart_pass_port": "0", "communication_port": "8819", "web_firmware_update_hide": "0", "tidal_version": "2.0", "service_version": "1.0", "EQ_support": "Eq10HP_ver_1.0", "HiFiSRC_version": "1.0", "power_mode": "-1", "security": "https/2.0", "security_version": "3.0", "security_capabilities": { "ver": "1.0", "aes_ver": "1.0" }, "public_https_version": "1.0", "privacy_mode": "0", "DeviceName": "Console Player", "GroupName": "Console Player" }

Try replacing getStatus with getStatusExin lines 239 and 554, restart HA and see if it works.

Didn't work... Should I also replace in line 2340?

2340????

That's never used, nevermind

Didn't work...

Seems like your player has a different chipset, which is unsupported. Can't add support as I don't have such a device.

Oh no! @onlyoneme started a discussion about support for these devices... The API is very similar. Here is the guide:

https://wiimhome.com/pdf/HTTP%20API%20for%20WiiM%20Mini.pdf

Any chance of updating the integration to add support?

Oh no! @onlyoneme started a discussion about support for these devices... The API is very similar. Here is the guide:

https://wiimhome.com/pdf/HTTP%20API%20for%20WiiM%20Mini.pdf

Any chance of updating the integration to add support?

You can find a fork of nagyrobi's components I've made for WiiM. It has very basic functionality as I'm not a python developer, so it's a kind of temporary solution but it works most of time.

Oh, awesome! Out of curiosity, what were the main changes that needed to be made to have the entity appear in HA?

Oh, awesome! Out of curiosity, what were the main changes that needed to be made to have the entity appear in HA?

https communication instead of http.

Makes sense!

Does this mean the reason I can't play audio is because Linkplay doesn't support HTTPS and my HA install connects externally using HTTPS via DuckDNS?

Does this mean the reason I can't play audio is because Linkplay doesn't support HTTPS and my HA install connects externally using HTTPS via DuckDNS?

I would say yes. I got my Audio Pro speakers working when using http instead of https.