Sky Q set-top box custom media_player component

So ive found that the following at least gives me a status of the skybox although not ‘perfect’

Sensor:
- platform: rest
    resource: http://192.168.0.3:9006/as/system/information
    name: SkyQ Living Room Power Status
    device_class: power
    value_template: ‘{% if (value_json.activeStandby == False) %}on{% else %}off{% endif %}’

This gives me the following…

I can’t for the life of me work out why the binary_sensor isn’t working as commanded!?

Any inputs appreciated! WD

Does this still work? I can’t seem to get it configured correctly.

I also struggled to get this working, eventually used this…

      - platform: rest
        resource: http://192.168.0.5:9006/as/system/information/
        name: SkyQ Living Room systemUptime
        json_attributes:
            - systemUptime
            - activeStandby
        value_template: '{{value_json.systemUptime}}'
        scan_interval: 5
        
      - platform: template
        sensors:
          skyqlivingroomuptime:
            value_template: '{{ states.sensor.skyq_living_room_systemuptime.attributes["systemUptime"] }}'
            unit_of_measurement: 's'
            friendly_name: SkyQ Living Room System Uptime
          skyqlivingroomstandby:
            value_template: '{{ states.sensor.skyq_living_room_systemuptime.attributes["activeStandby"] }}'
            friendly_name: SkyQ Living Room Standby Status
          skyqlivingroompower2:
            value_template: '{% if (states.sensor.skyq_living_room_systemuptime.attributes["activeStandby"] == false) %}on{% else %}off{% endif %}'      
            friendly_name: SkyQ Living Room Power Status

Seems to be some oddity with using value templates directly, but using attributes is a viable work around.

Hope this helps

2 Likes

Thanks, Do you know how to turn on the box from home assistant?

I have a Harmony Hub and use this to control the skyQ box via the IR interface, with the rest interface this provides just enough functionality to do what I require. AFAIK the media player component for the skyQ box has been abandoned?

I use Node Red to control my Sky Q box.

https://flows.nodered.org/node/node-red-contrib-skyremote

1 Like

see below:

Out of interest, How did you get this working? I get the following…

SkyQNodeRedError

Just using an ‘Inject Node’ to test it at the moment…

Set the Port number to 49160 by using Sky+ HD.

Hope it works for you.

1 Like

Yep! I just spotted that they’ve changed the SKYQ Port to match the SKY+HD one on the nodered pallete.
This is awesome! Thanks a lot!

Edit:
@cameron sorry, how would I make a button or similar in the front end (lovelace) to start the inject (or whatever is required) in NodeRed?
I’m still a newbie with nodered, and the only automations I’ve made so far dont require interactions (light brightness changes etc).
Feel free to PM if you dont want to go off topic.

This is some of my Code if you like to try.

script:
  channel_remote:
      sequence:
        - service: mqtt.publish
          data_template:
            topic: 'sky/channel/'
            payload: '{{value}}'

  command_remote:
      sequence:
        - service: mqtt.publish
          data_template:
            topic: 'sky/command/'
            payload: '{{value}}'


Lovelace


                    - type: custom:button-card
                      entity_picture: /local/tv_icons/BBC ONE HD.png
                      tap_action:
                        service_data:
                          value: '["1","1","5","select"]'
                      template: remote_button_sky_channel_template

                    - type: custom:button-card
                      icon: mdi:play
                      label: Play
                      tap_action:
                        service_data:
                          value: 'play'
                      styles:
                        card:
                          - background-color: '#339900'
                      template: remote_button_sky_control_template

Button Card Template


  remote_button_sky_channel_template:
    show_state: false
    show_name: false
    show_label: false
    show_entity_picture: TRUE
    size: auto
    tap_action:
        action: call-service
        service: script.channel_remote
    styles:
      card:
        - border-radius: 15px
        - width: 85px
        - height: 85px
      entity_picture:
        - width: 80px
        - height: 80px
        - border-radius: 3px

  remote_button_sky_control_template:
    show_state: false
    show_name: false
    show_label: true
    size: auto
    aspect_ratio: 2/1
    tap_action:
      action: call-service
      service: script.command_remote
    styles:
      icon:
        - height: 50px
        - width: 50px
        - color: white
      card:
        - border-radius: 15px
1 Like

Ah, I dont have MQTT set up yet… Looks like that will be my next job!
Thanks again.

My wife got pretty excited when I did a demo and explained we could use it to effectively have a “Netflix” button. :slight_smile:

1 Like

Node Red

1 Like

Has anyone created a custom media player or similar that has the SkyQ controls such as the navigation pad on it ?
up, down, left righ, enter as buttons ?

Try this:

Yes, I’ve got that. It was more around the UI end. So a custom lovelace card or similar.
Thanks anyway,

I’m just run the config test against 105.3 and I am getting an error…

- Platform error media_player.skyq - No module named 'xmltodict'

should I be concerned ?

I got this too, but the update goes through and the component still works for me!

Hi did you ever make a Netflix button, I’m trying to work out how to get Netflix, Disney and Amazon apps on sky q to load from a 4 bank switch instead of the long winded remote way

Hello,
I had for long time my Home Assistant without updating. Now that I found my time I put everything up do date again.
So that, I notice that now SkyQ is available in the official integration, but I still have it as custom component with yaml config going.
I try to add the integration and I saw that I had 2 mediaplayer entities for Sky Q, the custom components with all the channel listed in my yaml config and the one coming from the Integration but with no channels
How should I manage to have one settled SkyQ going?
What do you suggest?

Thank you in advance for advice and support.