AppleTV Einbindung in Symcon

Guten Morgen,

hat schon jemand von euch einen Apple TV in IP-Symcon eingebunden?
Für TV nutze ichauf dem Apple TV die Tvheadend App cool wäre es, wenn man diese über Alexa steuern könnte.
Aber ich denke, dies wird nichts. Ich habe pyatv (GitHub - postlund/pyatv: A python client library for the Apple TV) gefunden. Hat das evtl. schon jemand versucht in PHP zu portieren?

Grüße,
Kai

Ich steuere meinen Apple TV über einen Logitech Harmony Hub aus IP-Symcon. Der Harmony Hub baut eine Bluetooth Verbindung zum Apple TV auf. Rückmeldung bekommst Du auf dem Weg aber keine vom Apple TV.

Das ist nicht das, was ich möchte. :slight_smile: :smiley:
Ich habe noch folgendes gefunden: GitHub - RoboDomo/appletv-microservice: RoboDomo microservice to control Apple TV

Das sieht danach aus, als könnte man mit MQTT etwas machen.

Grüße,
Kai

Ich habe noch etwas gefunden: GitHub - sebbo2002/pyatv-mqtt-bridge: Bridge which allows you to control your Apple TV via MQTT

Grüße,
Kai

Hallo Kai,

das wäre ja klasse wenn das damit in IPS einzubinden wäre, bisher hatte ich nur Lösungen mit Jailbreak gefunden…

Joachim

Habe mal Kontakt zu dem Entwickler von pyatv-mqtt-bridge aufgenommen, er meldet sich bei mir.

Grüße,
Kai

Ich habe eine Antwort bekommen, ich denke in ein paar Tagen gibt es ein Modul über MQTT. :slight_smile:

Grüße,
Kai

…und das ohne Jailbreak?

Joachim

Ja, mit einem NodeJS Tool.

Grüße,
Kai

Gesendet von iPhone mit Tapatalk

Hi Kai,
hat sich da schon was getan? Hatte beim Apple TV abseits von IRTrans und co schon die Hoffnung aufgegeben - ein Modul wäre wirklich der Wahnsinn! Bin auch gerne bereit zu testen!

Gruß

Gesendet von iPhone mit Tapatalk

Hallo,

es gibt ein Modul, sollte auch im Module Store zu finden sein.

Grüße,
Kai

Gesendet von iPhone mit Tapatalk

Perfekt - hatte ich so nicht gesehen - werde ich heute Abend testen. Vielen Dank!

Gesendet von iPhone mit Tapatalk

Hi Kai,
ich bekomme es noch nicht so ganz zum Laufen. Benötige ich zusätzlich zum Modul nur atv2mqtt (ist da node-appletv inbegriffen), oder muss ich node-appletv zusätzlich installieren? Bei beiden Varianten bekomme ich bei Installationsversuchen auf einem Raspberry massig Fehler - z.B. in Bezug auf sodium. Hattest du da auch Probleme und hast Tipps? Auf welcher Hardware läuft diese „Bridge“ bei dir?

Gruß

Bei mir läuft das auf einem Raspberry.

NodeJs Version:

node -v
v10.20.1

Installation:


curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt-get install -y nodejs build-essential

Ich hab in der History vom Raspberry geschaut, was ich gemacht habe.


apt-get install libsodium
]apt-get install libsodium-dev
apt-get install autoconf automake g++ libtool
npm install -g libsodium

apt-get update && apt-get install libavahi-compat-libdnssd-dev
npm install -g node-appletv --unsafe-perm
npm install -g @sebbo2002/atv2mqtt --verbose --unsafe-perm

Du kannst es probieren. Vielleicht klappt es bei dir.
Ich habe auch ewig gebraucht und viel versucht, bis ich es am laufen hatte.
Versuch das einfach mal und wenn du noch Fehler bekommst, dann poste diese einfach mal.

Grüße,
Kai

Hi Kai,
vielen Dank, mit den Kommandos komme ich schon wesentlich weiter - gestern bin ich trotz einer Stunde Google schon vorher und mit mehr Fehlern hängen geblieben. Jetzt bekomme ich nurnoch Fehler im letzten Schritt:

npm install -g @sebbo2002/atv2mqtt --verbose --unsafe-perm

Hier der Output - kann damit jemand etwas anfangen?

root@raspberrypi:/home/pi# npm install -g @sebbo2002/atv2mqtt --verbose --unsafe-perm
npm info it worked if it ends with ok
npm verb cli [ ‚/usr/bin/node‘,
npm verb cli ‚/usr/bin/npm‘,
npm verb cli ‚install‘,
npm verb cli ‚-g‘,
npm verb cli ‚@sebbo2002/atv2mqtt‘,
npm verb cli ‚–verbose‘,
npm verb cli ‚–unsafe-perm‘ ]
npm info using npm@6.14.5
npm info using node@v10.20.1
npm verb npm-session 9f86fed3f78419de
npm http fetch GET 304 https://registry.npmjs.org/@sebbo2002%2Fatv2mqtt 2150ms (from cache)
npm timing stage:loadCurrentTree Completed in 2316ms
npm timing stage:loadIdealTree:cloneCurrentTree Completed in 2ms
npm timing stage:loadIdealTree:loadShrinkwrap Completed in 14ms
npm http fetch GET 200 https://registry.npmjs.org/mqtt 274ms
npm verb prepareGitDep undefined: installing devDeps and running prepare script.
npm ERR! prepareGitDep 1>
npm ERR! prepareGitDep > sodium@3.0.2 preinstall /root/.npm/_cacache/tmp/git-clone-8878aa7e/node_modules/sodium
npm ERR! prepareGitDep > node install.js --preinstall
npm ERR! prepareGitDep
npm ERR! prepareGitDep
npm ERR! prepareGitDep 2> npm WARN install Usage of the --dev option is deprecated. Use --only=dev instead.
npm ERR! prepareGitDep internal/modules/cjs/loader.js:638
npm ERR! prepareGitDep throw err;
npm ERR! prepareGitDep ^
npm ERR! prepareGitDep
npm ERR! prepareGitDep Error: Cannot find module ‚/root/.npm/_cacache/tmp/git-clone-8878aa7e/node_modules/sodium/install.js‘
npm ERR! prepareGitDep at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
npm ERR! prepareGitDep at Function.Module._load (internal/modules/cjs/loader.js:562:25)
npm ERR! prepareGitDep at Function.Module.runMain (internal/modules/cjs/loader.js:831:12)
npm ERR! prepareGitDep at startup (internal/bootstrap/node.js:283:19)
npm ERR! prepareGitDep at bootstrapNodeJSCore (internal/bootstrap/node.js:623:3)
npm ERR! prepareGitDep npm ERR! code ELIFECYCLE
npm ERR! prepareGitDep npm ERR! errno 1
npm ERR! prepareGitDep npm ERR! sodium@3.0.2 preinstall: node install.js --preinstall
npm ERR! prepareGitDep npm ERR! Exit status 1
npm ERR! prepareGitDep npm ERR!
npm ERR! prepareGitDep npm ERR! Failed at the sodium@3.0.2 preinstall script.
npm ERR! prepareGitDep npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! prepareGitDep
npm ERR! prepareGitDep npm ERR! A complete log of this run can be found in:
npm ERR! prepareGitDep npm ERR! /root/.npm/_logs/2020-05-08T08_34_50_024Z-debug.log
npm ERR! prepareGitDep
npm timing stage:rollbackFailedOptional Completed in 3ms
npm timing stage:runTopLevelLifecycles Completed in 35028ms
npm verb stack Error: premature close
npm verb stack at PassThrough.onclose (/usr/lib/node_modules/npm/node_modules/end-of-stream/index.js:47:67)
npm verb stack at PassThrough.emit (events.js:203:15)
npm verb stack at emitCloseNT (internal/streams/destroy.js:68:8)
npm verb stack at process._tickCallback (internal/process/next_tick.js:63:19)
npm verb cwd /home/pi
npm verb Linux 4.19.66-v7+
npm verb argv „/usr/bin/node“ „/usr/bin/npm“ „install“ „-g“ „@sebbo2002/atv2mqtt“ „–verbose“ „–unsafe-perm“
npm verb node v10.20.1
npm verb npm v6.14.5
npm ERR! premature close
npm verb exit [ 1, true ]
npm timing npm Completed in 39701ms

npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2020-05-08T08_34_50_208Z-debug.log

Gruß

PS: Einen ersten Fehler bekomme ich schon bei

apt-get install libsodium

Das Ergebnis:

root@raspberrypi:/home/pi# apt-get install libsodium
Reading package lists… Done
Building dependency tree
Reading state information… Done
E: Unable to locate package libsodium

Was aber funktioniert (der Fehler am Ende bleibt aber):

root@raspberrypi:/home/pi# apt-get install libsodium18
Reading package lists… Done
Building dependency tree
Reading state information… Done
libsodium18 is already the newest version (1.0.11-2).
libsodium18 set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 9 not upgraded.

Auf dem Raspberry läuft bei mir Raspbian Stretch…

Seid ihr hier weitergekommen?

Ich leider nicht - hänge an besagter Stelle fest…

Gesendet von iPhone mit Tapatalk

Hallo Kai,
das scheint ja ein häufigeres Problem zu sein - hast du hier noch eine Idee bzw. einen Kontakt zum Entwickler? Auf welcher Raspbian Version nutzt du das Tool?

Gruß

uname -a
Linux raspberrypi 4.19.97-v7+ #1294 SMP Thu Jan 30 13:15:58 GMT 2020 armv7l GNU/Linux

Zeig mal deine sources.list

Grüße,
Kai

Hi,
mein Raspbian ist etwas älter - tue mich im Moment noch schwer damit, das neu aufzusetzen, weil auf dem Raspberry auch der MiFlora Dienst läuft, der erstmal immer schwierig zur Kooperation zu bewegen ist - kann es an der älteren Raspbian Version überhaupt liegen?

uname -a
Linux raspberrypi 4.19.66-v7+ #1253 SMP Thu Aug 15 11:49:46 BST 2019 armv7l GNU/Linux

Bzgl. der sources.list habe ich mal folgendes rausgesucht - ist das die Info, die du brauchst?

apt-cache policy
Package files:
 100 /var/lib/dpkg/status
     release a=now
 500 http://archive.raspberrypi.org/debian stretch/ui armhf Packages
     release o=Raspberry Pi Foundation,a=stable,n=stretch,l=Raspberry Pi Foundation,c=ui,b=armhf
     origin archive.raspberrypi.org
 500 http://archive.raspberrypi.org/debian stretch/main armhf Packages
     release o=Raspberry Pi Foundation,a=stable,n=stretch,l=Raspberry Pi Foundation,c=main,b=armhf
     origin archive.raspberrypi.org
 500 https://packages.sury.org/php stretch/main armhf Packages
     release o=deb.sury.org,n=stretch,c=main,b=armhf
     origin packages.sury.org
 500 https://deb.nodesource.com/node_10.x stretch/main armhf Packages
     release o=Node Source,n=stretch,l=Node Source,c=main,b=armhf
     origin deb.nodesource.com
 500 http://raspbian.raspberrypi.org/raspbian stretch/rpi armhf Packages
     release o=Raspbian,a=oldstable,n=stretch,l=Raspbian,c=rpi,b=armhf
     origin raspbian.raspberrypi.org
 500 http://raspbian.raspberrypi.org/raspbian stretch/non-free armhf Packages
     release o=Raspbian,a=oldstable,n=stretch,l=Raspbian,c=non-free,b=armhf
     origin raspbian.raspberrypi.org
 500 http://raspbian.raspberrypi.org/raspbian stretch/contrib armhf Packages
     release o=Raspbian,a=oldstable,n=stretch,l=Raspbian,c=contrib,b=armhf
     origin raspbian.raspberrypi.org
 500 http://raspbian.raspberrypi.org/raspbian stretch/main armhf Packages
     release o=Raspbian,a=oldstable,n=stretch,l=Raspbian,c=main,b=armhf
     origin raspbian.raspberrypi.org
Pinned packages:
cat /etc/apt/sources.list
deb http://raspbian.raspberrypi.org/raspbian/ stretch main contrib non-free rpi
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://raspbian.raspberrypi.org/raspbian/ stretch main contrib non-free rpi
cat /etc/apt/sources.list.d/nodesource.list
deb https://deb.nodesource.com/node_10.x stretch main
deb-src https://deb.nodesource.com/node_10.x stretch main
cat /etc/apt/sources.list.d/php.list
deb https://packages.sury.org/php/ stretch main
cat /etc/apt/sources.list.d/raspi.list
deb http://archive.raspberrypi.org/debian/ stretch main ui
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://archive.raspberrypi.org/debian/ stretch main ui

Ich hoffe die Infos helfen weiter - ich bin mit meinem Latein leider am Ende…

Gruß