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.