Skip to content

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

License

Notifications You must be signed in to change notification settings

twocolors/node-red-contrib-apple-tv-x

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

70 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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
}

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published