Sky Q integration - python API

Hey guys

So I’ve read the posts about Sky Q and it seems pretty hard to get any meaningful information out of the Sky Q boxes.

I’ve found this python API that allows remote control of the boxes via IP but more importantly claims to be able to output channel info

Has anyone already looked into this?
Would love to get this integrated into HA where I can get the channel im watching show up in HA

Can anyone help me with this? Or even just getting the info out of the box tons command line output?

Thanks

1 Like

That script is not getting the programme info from the sky box. It is getting it from an xmltv source online. You probaby need to look into xmltv.

I thought it got some info from the box, maybe a channel number that then cross references xmltv to show the channel name etc?

Ok so I can get info out of xmltv to show channel info based on the channel ID from the sky box (Sid) but this requires me input the sid into the script

i need a way to pull the current sid from the box and put it into that field

any help would be appreciated

#!/usr/bin/env python

import trio
import argparse

from pyskyq import EPG, XMLTVListing

async def main():
"""Run main routine, allowing arguments to be passed."""
epg = EPG('192.168.1.30')  # replace with hostname / IP of your Sky box
await epg.load_skyq_channel_data()  # load channel listing from Box.
all_72_hour = XMLTVListing('http://www.xmltv.co.uk/feed/8943')

async with trio.open_nursery() as nursery:
    nursery.start_soon(all_72_hour.fetch)

epg.apply_XMLTVListing(all_72_hour)

print('Channel Description from the SkyQ Box:')
print(epg.get_channel_by_sid(2002).desc)
print('Channel XMLTV ID from the XMLTV Feed:')
print(epg.get_channel_by_sid(2002).xmltv_id)
print('Channel Logo URL from the XMLTV Feed:')
print(epg.get_channel_by_sid(2002).xmltv_icon_url)

if __name__ == "__main__":
trio.run(main)

In can’t see that pyskyq reveals the current channel. This may help though https://gladdy.uk/blog/2017/03/13/skyq-upnp-rest-and-websocket-api-interfaces/

Possibly not, I thought it did originally but now I’m not sure. I’ve read that link over and over and can’t see anything that will give me any current channel number.

Maybe it’s not possible to get the info I want.

I’ve seen a plugin for Control4 that claims to work but have no experience with it

I found this but can’t get the component to load let alone pull any info