node-red-contrib-apple-tv-x

1.0.3 • Public • Published

node-red-contrib-apple-tv-x

From version 1.0.0 remove support native control Apple TVs (more)

platform Min Node Version GitHub version GitHub stars Package Quality

issues GitHub last commit NPM Total Downloads NPM Downloads per month Repo size

About

Nodes for controlling Apple TVs in Node-RED (wrapper pyatv).

Thanks Pierre Ståhl for project pyatv

Tested models are:

  • Apple TV HD (Apple TV 4)
  • Apple TV 4K

Backend

pyatv (cli)

How to install pyatv Official Documentation

How to install pyatv on Raspberry Pi (Raspbian)

$ sudo apt-get install build-essential libssl-dev libffi-dev python3-dev python3-pip python3-cryptography python3-wheel
$ sudo pip3 install --upgrade pyatv

How to install pyatv (Official Node-RED Docker) based on Alpine Linux 3.12.9

Exec to Docker use user !!! ROOT !!!

$ docker exec -it --user root mynodered bash

in docker

docker$ apk add openssl-dev libffi-dev python3-dev py3-pip
docker$ pip3 install --upgrade wheel
docker$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs -o rust.sh && sh rust.sh -y && rm rust.sh && source $HOME/.cargo/env
docker$ pip3 install --upgrade pyatv

How to use pyatv in venv

Creation of virtual environments then in node OUT set Path where atvremote/atvscript

How to get Credentials AirPlay and Companion

$ atvremote --id 00:11:22:33:44:54 --protocol companion pair
$ atvremote --id 00:11:22:33:44:54 --protocol airplay pair

Output

A very simple node that takes the following commands as a string on msg.payload

  • down
  • home
  • homeHold
  • left
  • menu
  • next
  • pause
  • play
  • playPause
  • previous
  • right
  • select
  • skipBackward
  • skipForward
  • stop
  • suspend
  • topMenu
  • up
  • volumeDown
  • volumeUp
  • wakeup
  • turnOff
  • turnOn

Experimental

  • play_url
  • stream_file
  • launch_app
  • set_volume
play_url

Usage play_url=https://www.example.com/mymovie.mp4

stream_file

Usage stream_file=/tmp/myfile.mp4

launch_app

Usage launch_app=com.netflix.Netflix

set_volume

Usage set_volume=100

Input

Events from Apple TV on msg.payload

{
  dateTime: null,
  hash: null,
  mediaType: null,
  deviceState: null,
  title: null,
  artist: null,
  album: null,
  genre: null,
  totalTime: null,
  position: null,
  shuffle: null,
  repeat: null,
  app: null,
  appId: null,
  powerState: null
}

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 1.0.3
    21
    • latest

Version History

Package Sidebar

Install

npm i node-red-contrib-apple-tv-x

Weekly Downloads

43

Version

1.0.3

License

GPL

Unpacked Size

62.9 kB

Total Files

13

Last publish

Collaborators

  • 2colors