BeoLink (Bang & Olufsen)

Hi @marton

Firstly thank you for all your work on this - it’s great to have some beolink / HA integration!

I tried the package with a Beoplay V1 television and power, volume, and mute/unmute work, but the list of sources, now playing, and cover art do not.

This is not a surprise, as it doesn’t look like anyone above had a TV in their setup, but I thought I’d take the opportunity to provide some json responses from this device so you can take a look at how they might differ.

/BeoZone/Zone/Sources

{
  "sources": [
    [
      "tv:[email protected]",
      {
        "friendlyName": "TV TUNER",
        "sourceType": {
          "type": "TV"
        },
        "category": "TV",
        "inUse": true,
        "signalSensed": true,
        "profile": "",
        "borrowed": false,
        "linkable": true,
        "recommendedIrMapping": [
          {
            "format": 0,
            "unit": 0,
            "command": 128
          },
          {
            "format": 11,
            "unit": 0,
            "command": 128
          }
        ],
        "contentProtection": {
          "schemeList": [
            "DECIMATE"
          ]
        },
        "embeddedBinary": {
          "schemeList": [
            
          ]
        },
        "product": {
          "jid": "[email protected]",
          "friendlyName": "BeoPlay-V1"
        },
        "jid": "[email protected]",
        "_capabilities": {
          "editable": [
            "friendlyName"
          ]
        },
        "_links": {
          "/relation/modify": {
            "href": "./tv%3a9501.1856130.23622700%40products.bang-olufsen.com"
          }
        }
      }
    ],
    [
      "dvb_radio:[email protected]",
      {
        "friendlyName": "RADIO",
        "sourceType": {
          "type": "RADIO"
        },
        "category": "RADIO",
        "inUse": true,
        "signalSensed": true,
        "profile": "",
        "borrowed": false,
        "linkable": true,
        "recommendedIrMapping": [
          {
            "format": 0,
            "unit": 0,
            "command": 129
          },
          {
            "format": 11,
            "unit": 0,
            "command": 129
          }
        ],
        "contentProtection": {
          "schemeList": [
            "DECIMATE"
          ]
        },
        "embeddedBinary": {
          "schemeList": [
            
          ]
        },
        "product": {
          "jid": "[email protected]",
          "friendlyName": "BeoPlay-V1"
        },
        "jid": "[email protected]",
        "_capabilities": {
          "editable": [
            "friendlyName"
          ]
        },
        "_links": {
          "/relation/modify": {
            "href": "./dvb_radio%3a9501.1856130.23622700%40products.bang-olufsen.com"
          }
        }
      }
    ],
    [
      "homemedia:[email protected]",
      {
        "friendlyName": "HOMEMEDIA",
        "sourceType": {
          "type": "HOMEMEDIA"
        },
        "category": "MEDIA",
        "inUse": true,
        "signalSensed": true,
        "profile": "",
        "borrowed": false,
        "linkable": true,
        "recommendedIrMapping": [
          {
            "format": 0,
            "unit": 0,
            "command": 132
          },
          {
            "format": 11,
            "unit": 0,
            "command": 132
          }
        ],
        "contentProtection": {
          "schemeList": [
            "DECIMATE"
          ]
        },
        "embeddedBinary": {
          "schemeList": [
            
          ]
        },
        "product": {
          "jid": "[email protected]",
          "friendlyName": "BeoPlay-V1"
        },
        "jid": "[email protected]",
        "_capabilities": {
          "editable": [
            "friendlyName"
          ]
        },
        "_links": {
          "/relation/modify": {
            "href": "./homemedia%3a9501.1856130.23622700%40products.bang-olufsen.com"
          }
        }
      }
    ],
    [
      "webmedia:[email protected]",
      {
        "friendlyName": "WEBMEDIA",
        "sourceType": {
          "type": "WEBMEDIA"
        },
        "category": "TV",
        "inUse": true,
        "signalSensed": true,
        "profile": "",
        "borrowed": false,
        "linkable": true,
        "recommendedIrMapping": [
          {
            "format": 0,
            "unit": 0,
            "command": 138
          },
          {
            "format": 11,
            "unit": 0,
            "command": 140
          }
        ],
        "contentProtection": {
          "schemeList": [
            "DECIMATE"
          ]
        },
        "embeddedBinary": {
          "schemeList": [
            
          ]
        },
        "product": {
          "jid": "[email protected]",
          "friendlyName": "BeoPlay-V1"
        },
        "jid": "[email protected]",
        "_capabilities": {
          "editable": [
            "friendlyName"
          ]
        },
        "_links": {
          "/relation/modify": {
            "href": "./webmedia%3a9501.1856130.23622700%40products.bang-olufsen.com"
          }
        }
      }
    ],
    [
      "netradio:[email protected]",
      {
        "friendlyName": "NETRADIO",
        "sourceType": {
          "type": "NET RADIO"
        },
        "category": "RADIO",
        "inUse": true,
        "signalSensed": true,
        "profile": "",
        "borrowed": false,
        "linkable": true,
        "recommendedIrMapping": [
          {
            "format": 0,
            "unit": 0,
            "command": 147
          },
          {
            "format": 11,
            "unit": 0,
            "command": 147
          }
        ],
        "contentProtection": {
          "schemeList": [
            "DECIMATE"
          ]
        },
        "embeddedBinary": {
          "schemeList": [
            
          ]
        },
        "product": {
          "jid": "[email protected]",
          "friendlyName": "BeoPlay-V1"
        },
        "jid": "[email protected]",
        "_capabilities": {
          "editable": [
            "friendlyName"
          ]
        },
        "_links": {
          "/relation/modify": {
            "href": "./netradio%3a9501.1856130.23622700%40products.bang-olufsen.com"
          }
        }
      }
    ],
    [
      "youtube:[email protected]",
      {
        "friendlyName": "YOUTUBE",
        "sourceType": {
          "type": "YOUTUBE"
        },
        "category": "MEDIA",
        "inUse": true,
        "signalSensed": true,
        "profile": "",
        "borrowed": false,
        "linkable": true,
        "recommendedIrMapping": [
          {
            "format": 11,
            "unit": 1,
            "command": 140
          },
          {
            "format": 11,
            "unit": 1,
            "command": 140
          }
        ],
        "contentProtection": {
          "schemeList": [
            "DECIMATE"
          ]
        },
        "embeddedBinary": {
          "schemeList": [
            
          ]
        },
        "product": {
          "jid": "[email protected]",
          "friendlyName": "BeoPlay-V1"
        },
        "jid": "[email protected]",
        "_capabilities": {
          "editable": [
            "friendlyName"
          ]
        },
        "_links": {
          "/relation/modify": {
            "href": "./youtube%3a9501.1856130.23622700%40products.bang-olufsen.com"
          }
        }
      }
    ],
    [
      "deezer:[email protected]",
      {
        "friendlyName": "DEEZER",
        "sourceType": {
          "type": "DEEZER"
        },
        "category": "MUSIC",
        "inUse": true,
        "signalSensed": true,
        "profile": "",
        "borrowed": false,
        "linkable": true,
        "recommendedIrMapping": [
          {
            "format": 0,
            "unit": 0,
            "command": 145
          },
          {
            "format": 11,
            "unit": 1,
            "command": 150
          }
        ],
        "contentProtection": {
          "schemeList": [
            "PROPRIETARY"
          ]
        },
        "embeddedBinary": {
          "schemeList": [
            
          ]
        },
        "product": {
          "jid": "[email protected]",
          "friendlyName": "BeoPlay-V1"
        },
        "jid": "[email protected]",
        "_capabilities": {
          "editable": [
            "friendlyName"
          ]
        },
        "_links": {
          "/relation/modify": {
            "href": "./deezer%3a9501.1856130.23622700%40products.bang-olufsen.com"
          }
        }
      }
    ],
    [
      "hdmi_1:[email protected]",
      {
        "friendlyName": "HDMI 1",
        "sourceType": {
          "type": "HDMI",
          "connector": 1,
          "externalSource": {
            "categoryList": [
              "OTHER"
            ]
          }
        },
        "category": "TV",
        "inUse": true,
        "signalSensed": false,
        "profile": "",
        "borrowed": false,
        "linkable": true,
        "recommendedIrMapping": [
          {
            "format": 11,
            "unit": 0,
            "command": 206
          }
        ],
        "contentProtection": {
          "schemeList": [
            "DECIMATE"
          ]
        },
        "embeddedBinary": {
          "schemeList": [
            
          ]
        },
        "product": {
          "jid": "[email protected]",
          "friendlyName": "BeoPlay-V1"
        },
        "jid": "[email protected]",
        "_capabilities": {
          "editable": [
            "friendlyName"
          ]
        },
        "_links": {
          "/relation/modify": {
            "href": "./hdmi_1%3a9501.1856130.23622700%40products.bang-olufsen.com"
          }
        }
      }
    ],
    [
      "hdmi_2:[email protected]",
      {
        "friendlyName": "HDMI 2",
        "sourceType": {
          "type": "HDMI",
          "connector": 2
        },
        "category": "TV",
        "inUse": false,
        "signalSensed": false,
        "profile": "",
        "borrowed": false,
        "linkable": true,
        "recommendedIrMapping": [
          {
            "format": 11,
            "unit": 1,
            "command": 206
          }
        ],
        "contentProtection": {
          "schemeList": [
            "DECIMATE"
          ]
        },
        "embeddedBinary": {
          "schemeList": [
            
          ]
        },
        "product": {
          "jid": "[email protected]",
          "friendlyName": "BeoPlay-V1"
        },
        "jid": "[email protected]",
        "_capabilities": {
          "editable": [
            "friendlyName"
          ]
        },
        "_links": {
          "/relation/modify": {
            "href": "./hdmi_2%3a9501.1856130.23622700%40products.bang-olufsen.com"
          }
        }
      }
    ],
    [
      "hdmi_3:[email protected]",
      {
        "friendlyName": "HDMI 3",
        "sourceType": {
          "type": "HDMI",
          "connector": 3
        },
        "category": "TV",
        "inUse": false,
        "signalSensed": false,
        "profile": "",
        "borrowed": false,
        "linkable": true,
        "recommendedIrMapping": [
          {
            "format": 11,
            "unit": 2,
            "command": 206
          }
        ],
        "contentProtection": {
          "schemeList": [
            "DECIMATE"
          ]
        },
        "embeddedBinary": {
          "schemeList": [
            
          ]
        },
        "product": {
          "jid": "[email protected]",
          "friendlyName": "BeoPlay-V1"
        },
        "jid": "[email protected]",
        "_capabilities": {
          "editable": [
            "friendlyName"
          ]
        },
        "_links": {
          "/relation/modify": {
            "href": "./hdmi_3%3a9501.1856130.23622700%40products.bang-olufsen.com"
          }
        }
      }
    ],
    [
      "hdmi_4:[email protected]",
      {
        "friendlyName": "HDMI 4",
        "sourceType": {
          "type": "HDMI",
          "connector": 4,
          "externalSource": {
            "categoryList": [
              "SET-TOP BOX"
            ]
          }
        },
        "category": "TV",
        "inUse": true,
        "signalSensed": false,
        "profile": "",
        "borrowed": false,
        "linkable": true,
        "recommendedIrMapping": [
          {
            "format": 0,
            "unit": 0,
            "command": 133
          },
          {
            "format": 11,
            "unit": 3,
            "command": 206
          }
        ],
        "contentProtection": {
          "schemeList": [
            "DECIMATE"
          ]
        },
        "embeddedBinary": {
          "schemeList": [
            
          ]
        },
        "product": {
          "jid": "[email protected]",
          "friendlyName": "BeoPlay-V1"
        },
        "jid": "[email protected]",
        "_capabilities": {
          "editable": [
            "friendlyName"
          ]
        },
        "_links": {
          "/relation/modify": {
            "href": "./hdmi_4%3a9501.1856130.23622700%40products.bang-olufsen.com"
          }
        }
      }
    ],
    [
      "hdmi_5:[email protected]",
      {
        "friendlyName": "HDMI 5",
        "sourceType": {
          "type": "HDMI",
          "connector": 5,
          "externalSource": {
            "categoryList": [
              "OTHER"
            ]
          }
        },
        "category": "TV",
        "inUse": true,
        "signalSensed": false,
        "profile": "",
        "borrowed": false,
        "linkable": true,
        "recommendedIrMapping": [
          {
            "format": 11,
            "unit": 4,
            "command": 206
          }
        ],
        "contentProtection": {
          "schemeList": [
            "DECIMATE"
          ]
        },
        "embeddedBinary": {
          "schemeList": [
            
          ]
        },
        "product": {
          "jid": "[email protected]",
          "friendlyName": "BeoPlay-V1"
        },
        "jid": "[email protected]",
        "_capabilities": {
          "editable": [
            "friendlyName"
          ]
        },
        "_links": {
          "/relation/modify": {
            "href": "./hdmi_5%3a9501.1856130.23622700%40products.bang-olufsen.com"
          }
        }
      }
    ],
    [
      "av:[email protected]",
      {
        "friendlyName": "AV",
        "sourceType": {
          "type": "AV IN",
          "connector": 1,
          "externalSource": {
            "categoryList": [
              "OTHER"
            ]
          }
        },
        "category": "TV",
        "inUse": true,
        "profile": "",
        "borrowed": false,
        "linkable": true,
        "recommendedIrMapping": [
          {
            "format": 0,
            "unit": 0,
            "command": 134
          },
          {
            "format": 11,
            "unit": 0,
            "command": 130
          }
        ],
        "contentProtection": {
          "schemeList": [
            "DECIMATE"
          ]
        },
        "embeddedBinary": {
          "schemeList": [
            
          ]
        },
        "product": {
          "jid": "[email protected]",
          "friendlyName": "BeoPlay-V1"
        },
        "jid": "[email protected]",
        "_capabilities": {
          "editable": [
            "friendlyName"
          ]
        },
        "_links": {
          "/relation/modify": {
            "href": "./av%3a9501.1856130.23622700%40products.bang-olufsen.com"
          }
        }
      }
    ]
  ]
}

/BeoNotify/Notifications for NETRADIO (this netradio source on these TVs doesn’t use tunein)

{
  "notification": {
    "timestamp": "2019-08-14T16:25:26.651014",
    "type": "SOURCE",
    "kind": "source",
    "data": {
      "primary": "netradio:[email protected]",
      "primaryJid": "[email protected]",
      "primaryExperience": {
        "source": {
          "id": "netradio:[email protected]",
          "friendlyName": "NETRADIO",
          "sourceType": {
            "type": "NET RADIO"
          },
          "category": "RADIO",
          "inUse": true,
          "signalSensed": true,
          "profile": "",
          "linkable": true,
          "recommendedIrMapping": [
            {
              "format": 0,
              "unit": 0,
              "command": 147
            },
            {
              "format": 11,
              "unit": 0,
              "command": 147
            }
          ],
          "contentProtection": {
            "schemeList": [
              "DECIMATE"
            ]
          },
          "embeddedBinary": {
            "schemeList": [
              
            ]
          },
          "product": {
            "jid": "[email protected]",
            "friendlyName": "BeoPlay-V1"
          }
        },
        "listener": [
          "[email protected]"
        ],
        "lastUsed": "2019-08-14T15:59:28.173944",
        "state": "play"
      }
    }
  }
}{
  "notification": {
    "timestamp": "2019-08-14T16:25:26.651285",
    "type": "VOLUME",
    "kind": "renderer",
    "data": {
      "speaker": {
        "level": 57,
        "muted": false,
        "range": {
          "minimum": 0,
          "maximum": 90
        }
      }
    }
  }
}{
  "notification": {
    "timestamp": "2019-08-14T16:25:26.651358",
    "type": "NOW_PLAYING_NET_RADIO",
    "kind": "playing",
    "data": {
      "name": "BBC Radio 4",
      "genre": "News, Radio Drama/Story",
      "country": "London, United Kingdom",
      "languages": "English",
      "image": [
        {
          "url": "http://BeoPlay-V1-23622700.local.:8080/BeoImage?p=%acn7%e4%af%5bK%b3%06%f5%eeQ%fdP%d2%e7%c9d%ebIU%86%d1%5c%1f%1d%ca%24XY%b6S%3c%a7%17%97%d4%a5%cf%b9%99%12%ef%e3%02%c8%b6b",
          "size": "medium",
          "mediatype": "image/jpg"
        }
      ]
    }
  }
}{
  "notification": {
    "timestamp": "2019-08-14T16:25:26.651456",
    "type": "PROGRESS_INFORMATION",
    "kind": "playing",
    "data": {
      "state": "play"
    }
  }
}{
  "notification": {
    "timestamp": "2019-08-14T16:25:26.651522",
    "type": "KEYBOARD",
    "kind": "device",
    "data": "NONE"
  }
}{
  "notification": {
    "timestamp": "2019-08-14T16:25:26.651598",
    "type": "TRACKPAD",
    "kind": "device",
    "data": "NONE"
  }
}

/BeoNotify/Notifications for a TV channel

{
  "notification": {
    "timestamp": "2019-08-14T17:17:55.745529",
    "type": "SOURCE",
    "kind": "source",
    "data": {
      "primary": "tv:[email protected]",
      "primaryJid": "[email protected]",
      "primaryExperience": {
        "source": {
          "id": "tv:[email protected]",
          "friendlyName": "TV TUNER",
          "sourceType": {
            "type": "TV"
          },
          "category": "TV",
          "inUse": true,
          "signalSensed": true,
          "profile": "",
          "linkable": true,
          "recommendedIrMapping": [
            {
              "format": 0,
              "unit": 0,
              "command": 128
            },
            {
              "format": 11,
              "unit": 0,
              "command": 128
            }
          ],
          "contentProtection": {
            "schemeList": [
              "DECIMATE"
            ]
          },
          "embeddedBinary": {
            "schemeList": [
              
            ]
          },
          "product": {
            "jid": "[email protected]",
            "friendlyName": "BeoPlay-V1"
          }
        },
        "listener": [
          "[email protected]"
        ],
        "lastUsed": "2019-08-14T17:17:39.467894",
        "state": "play"
      }
    }
  }
}{
  "notification": {
    "timestamp": "2019-08-14T17:17:55.745830",
    "type": "VOLUME",
    "kind": "renderer",
    "data": {
      "speaker": {
        "level": 65,
        "muted": false,
        "range": {
          "minimum": 0,
          "maximum": 90
        }
      }
    }
  }
}{
  "notification": {
    "timestamp": "2019-08-14T17:17:55.745904",
    "type": "NUMBER_AND_NAME",
    "kind": "playing",
    "data": {
      "number": 102,
      "name": "BBC TWO HD",
      "triplet": {
        "serviceId": 0,
        "tsId": 0,
        "onId": 0
      },
      "dvb": {
        "triplet": {
          "serviceId": 17472,
          "tsId": 16514,
          "onId": 9018
        },
        "tuner": "terrestrial"
      }
    }
  }
}{
  "notification": {
    "timestamp": "2019-08-14T17:17:55.746604",
    "type": "PROGRESS_INFORMATION",
    "kind": "playing",
    "data": {
      "state": "play"
    }
  }
}{
  "notification": {
    "timestamp": "2019-08-14T17:17:55.746688",
    "type": "KEYBOARD",
    "kind": "device",
    "data": "NONE"
  }
}{
  "notification": {
    "timestamp": "2019-08-14T17:17:55.746750",
    "type": "TRACKPAD",
    "kind": "device",
    "data": "NONE"
  }
}

and finally, /BeoNotify/Notifications for RADIO (the audio only TV channels)

{
  "notification": {
    "timestamp": "2019-08-14T17:15:36.818263",
    "type": "SOURCE",
    "kind": "source",
    "data": {
      "primary": "dvb_radio:[email protected]",
      "primaryJid": "[email protected]",
      "primaryExperience": {
        "source": {
          "id": "dvb_radio:[email protected]",
          "friendlyName": "RADIO",
          "sourceType": {
            "type": "RADIO"
          },
          "category": "RADIO",
          "inUse": true,
          "signalSensed": true,
          "profile": "",
          "linkable": true,
          "recommendedIrMapping": [
            {
              "format": 0,
              "unit": 0,
              "command": 129
            },
            {
              "format": 11,
              "unit": 0,
              "command": 129
            }
          ],
          "contentProtection": {
            "schemeList": [
              "DECIMATE"
            ]
          },
          "embeddedBinary": {
            "schemeList": [
              
            ]
          },
          "product": {
            "jid": "[email protected]",
            "friendlyName": "BeoPlay-V1"
          }
        },
        "listener": [
          "[email protected]"
        ],
        "lastUsed": "2019-08-14T17:15:20.068688",
        "state": "play"
      }
    }
  }
}{
  "notification": {
    "timestamp": "2019-08-14T17:15:36.818603",
    "type": "VOLUME",
    "kind": "renderer",
    "data": {
      "speaker": {
        "level": 65,
        "muted": false,
        "range": {
          "minimum": 0,
          "maximum": 90
        }
      }
    }
  }
}{
  "notification": {
    "timestamp": "2019-08-14T17:15:36.818678",
    "type": "NUMBER_AND_NAME",
    "kind": "playing",
    "data": {
      "number": 700,
      "name": "BBC Radio 1",
      "triplet": {
        "serviceId": 0,
        "tsId": 0,
        "onId": 0
      },
      "dvb": {
        "triplet": {
          "serviceId": 6720,
          "tsId": 4162,
          "onId": 9018
        },
        "tuner": "terrestrial"
      }
    }
  }
}{
  "notification": {
    "timestamp": "2019-08-14T17:15:36.819360",
    "type": "PROGRESS_INFORMATION",
    "kind": "playing",
    "data": {
      "state": "play"
    }
  }
}{
  "notification": {
    "timestamp": "2019-08-14T17:15:36.819431",
    "type": "KEYBOARD",
    "kind": "device",
    "data": "NONE"
  }
}{
  "notification": {
    "timestamp": "2019-08-14T17:15:36.819494",
    "type": "TRACKPAD",
    "kind": "device",
    "data": "NONE"
  }
}

I hope this is helpful.

Kind regards,
Martin.

Hi @riverstyx

Thank you. I’m glad you find it useful. I know about the differences between the TV and speakers, but I have been busy with my other project and didn’t have time to work on this component.

But it’s on my todo list and hopefully I’ll get to it at some point :slight_smile:

Cheers,
Marton

Thanks @marton

I’ve had a look at the code, and the following change to the wrapper should resolve the issues fetching a source list from all the televisions, without breaking the process on any of the audio products:

within the getSources function, replace:

self.sourcesID.append(r[elements][i][1]["id"])

with:

self.sourcesID.append(r[elements][i][0])

Most of the audio products have the ‘id’ key, but the televisions don’t. But all the products have the same value stored as a string in the first element of each ‘source’ array.

I carry out installs for the local B&O store, so I took the opportunity this evening to visit the showroom and check the output of BeoZone/Zone/Sources for every product in the showroom just to be sure :wink:

Kind regards,
Martin.

2 Likes

Thanks @riverstyx for taking a look at it! I’ll push the solution to pypi this weekend, so it’s available in the component as well.

Thanks @marton

That change mostly fixes getting the list of sources for TVs (and the NL/ML converter) but there are still some issues. The TVs have a concept of ‘borrowed sources’ from other beolink devices, so I’m currently seeing source selection issues where there are duplicate source names.

Also, NETRADIO on the TV does not provide a liveDescription key, so I’m seeing a KeyError exception for this.

I’ll continue working on these issues as time permits. I’ve forked your ha-beoplay github repository and will submit pull requests for any changes I make so that you can merge these into your code if you want to do so.

Kind regards,
Martin.

I appreciate the help @riverstyx. I don’t have a B&O TV, so it’s much appreciated if you could help out with that part.

Hello everyone involved :slight_smile:

Has anyone further progressed in the work of this custom component?
the component works pretty darn well in my opinion. Question is, should we try to implement the component to HACS or try to get B&O involved in the support as well? They have supported Homey Athom in their integration it seems.

Oh, furthermore, is it possible to play a local .mp3 file on the speakers or is the function not supported?

I haven’t had time to work more on this, because I was preoccupied with my other project.
However I want to continue the development, and I’ll pick it up as soon as I can. I want to create a c++ library of this as well for my other project.

As far as I know the B&O API is not open. At least I couldn’t find anything. It could worth a try to reach out to the company regarding collaboration.

I don’t know about playing mp3 files, but will look at it.

Hi!
Quick question - I have an Avant 55 TV and my sources response is like the cutout at the bottom (just the first few lines).

Shouldn’t the getSources code be something like this?

def getSources(self):
        r = self._getReq('BeoZone/Zone/Sources')
        if r:
            for elements in r["sources"]:
                i = 0
                while i < len(r["sources"]):
                    self.sources.append(r["sources"][i][1]["friendlyName"])
                    self.sourcesID.append(r["sources"][i][0])
                    i += 1

Granted I am not a python expert …

BTW, I think Home Assistant automatically installed the ha-beoplay on my Rasberry Pi, but I can’t find it in /config/deps… where do I find the file to test any changes?

Thanks for the help

{
   "sources":[
      [
         "homemedia:[email protected]",
         {
            "friendlyName":"HOMEMEDIA",
            "sourceType":{
               "type":"HOMEMEDIA"
            },
            "category":"MEDIA",
            "inUse":true,
            "signalSensed":true,
            "profile":"",
            "borrowed":false,

Hi,

It’s been a while since, I worked on this. But for me the sources show up correctly. Though I only have speakers and not a TV. There might be a difference.

When you set up the custom component, it has a dependency of that python library, so it automatically downloads it from pypi. I think you can adjust that so it refers to a local library, but I can’t remember how it’s done. I would suggest to look at the home assistant dev docs. I’ll try to look there as well.

Hi Marton, I think I found the issue. PyPl has an old version of your library. Home assistant on the raspberry pi automatically downloads the code at pypl to satisfy the REQUIREMENT in the manifest, and that version is old.

You made some edits after that, but PyPl did not pick it up. Can you change the version number to 0.0.6 so that The new version of the code makes its way through the system?

Great plugin.
I have a BS35, that works perfectly with this, but for some reason i don’t get radio station or info back to HA, when i select TuneIn as source. It is shown in display on the BS35, so it must be available.
Let me know if can help you pick up some info

thanks

Thanks @kimc. I am quite busy these days and don’t have time to look at this plugin, but I will at some point as I am using it as well :slight_smile:

@g.iac thank you, I’ve merged your pull request.

would it be possible to add the join/unjoin functionality as mentioned here: mini media player, to get the multiroom experience into the media player

Hi Marton, can you also please create a release and send it to pypi (this https://pypi.org/project/ha-beoplay/ still has the old code which does not work, and it gets installed automatically by home assistant when I install the beo plugin you wrote).

I believe the pypi has not been updated yet.
In case Marton is not available at the time, is there anything we can do to get the update pushed through?

Sorry guys, I’ve been quite busy. I’ll update pypi today.

1 Like

It should be updated, but please check it guys.

2 Likes

Running HA 0.113.1 i get this error after reboot:
ImportError: cannot import name ‘CancelledError’ from ‘asyncio.futures’ (/usr/local/lib/python3.8/asyncio/futures.py)

Just tried it as well. Same error for me. Running 0.113.0