homebridge-apple-tv-remote

  • Abend zusammen,


    ich habe gerade auf GitHub ein neues Plugin für die Einbindung eines Apple TV in Home Automationen gefunden vom Entwickler lukasroegner. Mit seinen Plugins habe ich bisher sehr gute Erfahrungen gemacht daher gehe ich mal davon aus das es bei diesem nicht anders ist.


    Wenn einer das Plugin getestet hat wäre schön wenn er hier ein Feedback hinterlässt ;)


    homebridge-atvremote



    lg Nastra

  • Ein Beispiel: Es klingelt an der Haustür, die Video-Wiedergabe auf dem Apple TV wird pausiert.

  • Sowas könnte man ja auch mit Shortcuts erledigen. Ich hab mich ehrlich gesagt auch gefragt wozu das Plugin gut sein könnte. Ich denke da müsste man dann schon über sehr tief integrierte Use-Cases nachdenken.


    Für meine Zwecke als Otto-Normal-User komme ich zur Steuerung des ATV glaube ich mit "standard" Automation hin. 8)


    NB:

    Vielleicht könnt ihr ja den Autor bewegen, mal eine Automation mit dem Plugin zu stricken und unter "Automations" hier vorzustellen.

  • Nö, das klappt mit Shortcuts nicht. Damit kann man (bisher) nur die Audio-Wiedergabe stoppen.

  • Nö, das klappt mit Shortcuts nicht. Damit kann man (bisher) nur die Audio-Wiedergabe stoppen.

    Ähm, ich hab jetzt hier nicht sämtliche ATV Apps durchgecheckt, aber wenn ich das mal mit einem Automation Trigger simuliere und im Shortcut sage, Apple TV "Wiedergeben/Anhalten", dann hält bei mir sowohl das Audio als auch das Video an.


    Ich kann also an die Tür gehen, schauen wer mich stören will und dann weiterglotzen 8o

  • An die die das Plugin installiert haben. Lässt sich damit der ATV ein- bzw. ausschalten?


    Dann könnte man endlich den ATV in die TV-Abend Szene einbinden, sodass er automatisch startet und das Licht passend einstellt.

  • „Ausschalten“ kann man einen ATV generell nicht. Aber man kann ihn in den Ruhezustand versetzen. Geht sicher mit dem Plugin - geht aber ebenfalls mit einem Shortcut:


    Apps-> Apple TV Remote -> Apple TV in Ruhezustand


    Apps-> Apple TV Remote -> Apple TV aufwecken

    macht ihn dann wieder hellwach 8)

    Einmal editiert, zuletzt von bubffm ()

  • Ja den Ruhezustand habe ich mit ausschalten gemeint.


    Den Shortcut habe ich schon, aber damit sind es immer noch 2 Befehle für Siri. 1x ATV, 1x Beleuchtung. Alles in einem wäre perfekt :)

  • Ja wieso, das kannst Du doch alles in einen packen. Ein Shortcut kann doch mehr als nur eine Zeile abarbeiten 😏

    Musst in Homebridge ggf einen Dummy-Switch als Trigger definieren. Damit machst Du die Automation:


    Wenn Trigger aktiviert, Rolladen runter, gedimmes Licht an, aktiviere Apple TV, hole Bier aus dem Kühlschrank. Bis auf den letzten Schritt geht das alles in einer Automation. 😎


    Dann packst Du den Trigger in eine Szene „Fernsehzeit“ oder so, und das ganze läuft automatisch ab.

    3 Mal editiert, zuletzt von bubffm ()

  • Das Plugin klingt für mich sehr interessant! In den vergangenen Tagen habe ich nach etwas ähnlichem gesucht, bin aber nicht fündig geworden. Den Apple TV habe ich bei mir in drei verschiedenen Szenen eingebunden:


    Szene 1: Es klingelt an der Tür: Apple TV pausiert

    Szene 2: Fernsehabend starten: Lichter werden geschalten/gedimmt, Apple TV startet und öffnet direkt Netflix

    Szene 3: Fernsehabend beenden: Lichter werden geschalten, Apple TV geht in den Ruhezustand


    Apple TV nativ einzubinden hat bei mir funktioniert, allerdings ging weder an/aus noch konnte ich auf Apps zugreifen, geschweige denn pausieren (letzteres hat bei mir nur während der Musikwiedergabe geklappt). Mal abgesehen davon, gehen bei mir die Automationen derzeit vermutlich aufgrund des IOS updates sowieso nicht, weshalb ich vorübergehend alles auf Alexa ausgelagert habe. Da wären wir schon beim nächsten Punkt: die native Einbindung macht in meinem Setup keinen Sinn, da Alexa damit nix anfangen kann. Glaube ich jedenfalls...


    Shortcuts führen bei mir ebenfalls nicht zum Ziel, weil ich damit unter anderem Szene 1 nicht umsetzen kann (auslesen eines Sensors, welcher dann zum Pausieren führt).. Den Apple TV über ein Plugin in Homebridge einzubinden wäre echt super gewesen. Dementsprechend habe ich recht viel ausprobiert, leider ohne Erfolg.


    Meine derzeitige und äußerst zuverlässige Lösung:

    Am meinem Fernseher befindet sich bereits ein ESP8266 mit IR-Empfänger und Sender. Mit dem IR-Sender kann ich neben dem Fernseher auch den ATV steuern und somit alle gewünschten Szenen umsetzen. Der ATV ist also aktuell über einen kleinen Umweg in Homebridge eingebunden und auch via Alexa ansprechbar. Natürlich gibt es dann für jedes Kommando einen Schalter in Home (1x an/aus, 1x play/pause, 1x netflix), aber ich denke mit einem entsprechend funktionierenden Plugin wäre es nicht anders.


    Ich würde dieses hier aber auch in den nächsten Tagen mal ausprobieren und berichten. Vielleicht ist ja jemand schneller und kommt mir zuvor?


    Viele Grüße!

  • Ich habe mich jetzt doch ein wenig mit dem Plugin beschäftigt und naja... irgendwie stellt sich mir die Frage, wozu ich es brauche?


    Aber mal von vorn:


    Zur Installation des Plugins wird das Python package "pyatv" benötigt. In meinem Fall musste ich allerdings erstmal python3-pip installieren. Eine Anleitung für pyatv gibt es hier: https://postlund.github.io/pyatv/getting-started/

    Anschließend wird nach dem Apple TV gescannt und mit homebridge gepaart. Lief problemlos und ist ebenfalls in der Doku beschrieben. Bei der Installation vom homebridge-atvremote - Plugin gabs zunächst Probleme, da mir Berechtigungen fehlten, Ordner anzulegen. Als "root" user ging es dann und das Plugin läuft. Keine Ahnung ob das der richtige Weg ist ;)


    Allerdings frage ich mich im Moment, worin der Mehrwert des Plugins gegenüber dem pyatv package besteht. Letztendlich muss ich das Plugin in des json.config einbinden und kann anschließend über "API - send commands" Befehle verschicken. Das ist aber auch bereits ohne dem homebridge-atvremote Plugin über das pyatv package möglich. Da ich sowieso das Plugin "homebridge cmdtrigger" verwende, kann ich auch darüber irgendwelche Schalter erzeugen und entsprechende Befehle versenden. Möchte man den Apple TV in eine Automation einbinden, ohne dafür Schalter anlegen zu müssen, dann verstehe ich die Notwendigkeit des Plugins. Die Kommandos müssten dann im JSON Format innerhalb des Bodys übergeben werden.


    Allerdings funktioniert es dann auch nur innerhalb der Automation. Für den Befehl "Apple TV an" müsste ja dann doch wieder ein Schalter angelegt werden. Meines Erachtens ist das Plugin also nicht nötig, wenn es doch "nur" auf pyatv zurückgreift. Oder vielleicht verstehe ich auch irgendetwas falsch? Schade das ich bei meiner Recherche vor ein paar Tagen nicht darauf gestoßen bin, hatte mich wohl doch zu sehr auf ein Plugin für Homebridge versteift.


    ___________________________________________________________________________________


    Nochmal ein kurzer Nachtrag:

    Das Plugin läuft. Innerhalb der Kurzbefehle muss folgendes gewählt werden:


    Web --> Inhalte von URL abrufen


    URL: http://<homebridge-IP>:<API-Port>/<Apple-TV_name>

    Methode: POST

    Header: "Authorization" - <API-Token>

    Haupttext anfordern: JSON

    Haupttext: "commands" - <command>


    Die Kommandos sind alle hier aufgelistet und sollten auch sequentiell ausführbar sein. Habe ich jetzt aber nicht getestet. Allerdings muss ich gestehen, dass ich das Plugin wieder löschen werde und direkt mit cmdtrigger den entsprechenden Befehl verschicke. Es kommt ja letztendlich auf das gleiche hinaus.. Möchte ich den Apple TV außerhalb einer Automation schalten, benötige ich sowieso einen Dummy. Dieser würde dann (letztendlich doch wieder über eine Automation) die entsprechende URL zur Steuerung des ATV aufrufen. Über cmdtrigger kann ich das direkt via shell erledigen, sparrt mir ein zusätzliches Plugin sowie die jeweilige Automation.

    Einmal editiert, zuletzt von hyxamp ()

  • Hallo Leute,


    Vielen Dank an bubffm, der mich bei GitHub auf diesen Thread hingewiesen hat. Das habe ich dann auch zum Anlass genommen, mir endlich mal einen Account hier zu erstellen!


    Ich erzähle euch gerne den Hintergrund zum atvremote Plugin (und hole etwas aus):

    Mit dem Start von iOS13/tvOS13 hat sich meines Erachtens nach eine völlig neue Welt der Automationen aufgetan. Früher musste man für etwas komplexere Automationen Umwege über Dummy Switches und Homebridge Plugins mit Custom Characteristics gehen. Das hat mich immer etwas gestört: Dummy Switches "müllen" einen Raum in der Home App voll und können ungewollt durch die Home App verändert werden. Homebridge Plugins mit Characteristics, welche von der Apple Home App nicht unterstützt werden, haben natürlich erweiterte Steuerbarkeit, meistens sieht es aber in der Home App komisch aus, wenn ich die Helligkeit meiner Sonos-"Lampe" steuere, um lauter/leiser zu machen...ihr merkt schon, ich bin ein Verfechter der Apple Home App. Die Eve App bietet super viele Möglichkeiten, mir gefällt das Design aber nicht.


    Zurück zum Thema: Mit iOS13/tvOS13 brauche ich nun endlich keine Dummies mehr in HomeKit und kann mir auch die Erstellung von Automationen über andere Apps (z.B. Controller for HomeKit) sparen, welche man benötigte, um Custom Characteristics abzurufen/zu setzen. Daher habe ich mich bei fast allen von mir geschriebenen Plugins dazu entschlossen, gleichzeitig auch eine HTTP API einzubauen, sodass man gewisse Funktionen (welche schwierig in HomeKit abzubilden sind oder dort keinen Sinn machen, weil man sie nicht manuell triggers würde) über den "Inhalte von URL abrufen" Shortcut in Automationen einbauen kann.


    Ein paar Beispiele (aus meinen Repos):


    homebridge-nuki

    Aktuell noch auf dem development Branch, habe ich auch hier eine API eingebaut. Somit kann ich in einer Automation "wenn die letzte Person das Haus verlässt" die Wohnungstür zuschließen...ohne die nervige Sicherheitsabfrage. Ich verstehe den Hintergrund der Sicherheitsabfrage, aber nicht beim automatischen Zuschließen.


    homebridge-store

    Müsste nicht mal ein Homebridge Plugin sein, da es nur ein einfacher HTTP Server ist. Ich habe es aber als Homebridge Plugin geschrieben, dass der Lifecycle per Homebridge verwaltet wird. Diese Plugin ersetzt bei mir die Dummy Switches, es kann per "Inhalte von URL abrufen" Shortcut Variablen setzen und lesen.


    homebridge-sonos-multiroom

    Hier kann man per API ein "Force-Stop" von Sonos Playbars durchführen. Mit dem in HomeKit implementierten Switch kann man den Stream einer Playbar (TV Sound) nämlich nicht stoppen.


    homebridge-atvremote

    Ich habe das Plugin geschrieben, um 2 konkrete Automationen durchzuführen: wenn ich abends schlafen gehe, dann schaltet sich der TV im Schlafzimmer automatisch an). Wenn ich morgen aufwache und in das Wohnzimmer gehe, dann schaltet sich der TV im Wohnzimmer ein, startet die Welt App und startet deren Live-TV-Stream.


    Die unterstützen Features von atvremote (aus pyatv) sind ja super umfangreich, ich habe das dann einfach in eine API gegossen, mit der man "schnell" mal eine Automation anlegen kann, um den Apple TV zu steuern. Es werden mehrere Commands unterstützt, die dann nacheinander ausgeführt werden. Mit dem Command "wait X" kann man Pausen zwischen den virtuellen Eingaben machen. Um also eine bestimmte App zu öffnen, muss man nur den "Navigationsweg" als Commands umsetzen (z.B. ["home", "right", "right", "bottom", "select]).


    Ich habe, als ich pyatv gefunden habe, auch darüber nachgedacht, einfach die "Skript über SSH ausführen" Funktion in den HomeKit Shortcuts zu verwenden. Das Problem ist nur, dass das ausführen mehrerer Commands hintereinander im non-interactive mode von atvremote sehr langsam läuft. Daher habe ich das Plugin geschrieben, um die Commands im interactive mode ("cli") virtuell einzugeben...das ist viel schneller.


    So, jetzt habe ich doch sehr weit ausgeholt. Ich hoffe, meine Ausführungen waren verständlich und aufschlussreich. Ich beantworte gerne eure Fragen hier - oder als Issue auf GitHub.


    Viel Grüße
    Lukas

  • lukas.roegner Herzlich Willkommen im Forum, freut mich sehr das du den Weg in unser Forum gefunden hast und hoffe du besuchst und zukünftig noch öfter.


    Wir haben ja auf GitHub das ein oder andere mal schon geschrieben und ich möchte an dieser Stelle auch nochmal erwähnen das deine Plugins wirklich super Arbeit sind :thumbup:


    Ansonsten vielen Dank für die ausführliche Erklärung. Ich bin mal so frei und habe dir die Foren Auszeichnung Homebridge Entwickler verliehen ;)



    lg Nastra

  • Ich habe mich jetzt doch nochmal ein wenig damit beschäftigt. Ursprünglich wollte ich es per Shell lösen, aber offensichtlich fehlen mir an dieser Stelle die entsprechenden Linux-Kenntnisse.. Das scannen und paaren hatte bereits funktioniert. Eingeloggt via SSH als User "pi" konnte ich mit atvremote auch mit dem Apple TV kommunizieren. Versuche ich nun die gleichen Befehle über Homebridge auszuführen (cmd plugin), scheine ich mich zunächst neu paaren zu müssen. Jedenfalls habe ich es nicht hinbekommen.


    Bei dem Plugin von Lukas scheitere ich aber auch aktuell irgendwo und glaube, dass es vielleicht schon wieder mit Benutzerrechten zu tun hat. Ich habe alles Schritt-für-Schritt entsprechend seiner Anleitung eingerichtet. Zunächst absichtlich den header vergessen, um mal zu schauen was im Debug-Fenster angezeigt wird. Dann im Body nix eingetragen und auf ähnliche Resultate gewartet. Schlussendlich habe ich aber alles so eingerichtet wie es sein sollte (bekomme auch keine Meldung im Debug-Monitor), es passiert aber nix. Da das Plugin auf pyatv zurückgreift, glaube ich, dass mir zum Ausführen der Kommandos möglicherweise irgendwelche Rechte fehlen. Einen Fehler erhalte ich allerdings nicht..


    Ich habe Homebridge nach der Anleitung von sschuste installiert, pyatv liegt aber im Unterordner von pi. Könnte das evtl. mein Problem sein?


    In der config steht folgendes:

    "atvremoteCommand": "python3 ./home/pi/.local/lib/python3.7/site-packages/pyatv"



    Ich gebe Lukas recht, die Kommunikation über Shell dauert relativ lange. In meinem Fall wäre es allerdings nur an/aus und play/pause. Da würde es mich nicht stören, wenn es 1-2 Sekunden dauert. Bei der Navigation durch das Menü um eine entsprechende App zu öffnen, kann man sich aber auch in der Zwischenzeit ein Buch zur Hand nehmen.. Sofern man den Apple TV ausschließlich innerhalb von Automationen nutzt, finde ich das Plugin super, da entsprechende Schalter wegfallen. Möchte ich aber lediglich einen Kommando ausführen (Apple TV starten, pausieren usw..), sind doch wieder Schalter nötig, weshalb ich es eigentlich via Shell lösen wollte (um nicht mit dummy Schaltern erst eine Automation erstellen zu müssen).

  • In der config steht folgendes:

    "atvremoteCommand": "python3 ./home/pi/.local/lib/python3.7/site-packages/pyatv"

    Heißt das Kommando nicht atvremote? Was ergibt denn which atvremote bei dir? Das wäre dann auch der Pfad.

  • Guten Morgen,

    "pyatv" ist das python package und stellt die Bibliothek zur Steuerung des Apple TV dar. "atvremote" ist ein command line tool, welches dann auf diese Bibliothek zurückgreift. Ich denke Lukas sein Plugin greift ebenfalls auf die pyatv - Bibliothek zurück und ersetzt sozusagen "atvremote", weshalb in der config auch der entsprechende Pfadt gewählt werden muss. Schreibe ich dort irgendetwas anderes rein (falscher Pfad oder sogar den Pfad von atvremote), lässt sich homebridge nicht mehr starten.


    Ich wüsste jetzt ehrlich gesagt nicht, was ich an der config noch ändern kann oder sollte. Mir ist aufgefallen, dass falsche mrpCredentials ebenfalls zu keiner Fehlerausgabe führen.. Habe diese aber mehrmals überprüft und sie stimmen (auch wenn meine Credentials verglichen mit den Beispielen von pyatv unglaublich lang sind: 4 Blöcke a 64 Zeichen).


    Ein ähnliches Verhalten konnte ich über shell - Komandos mit zwei unterschiedlichen plugins und "atvremote" feststellen. Ich habe 3 Vorgehensweisen getestet, der Raspberry wurde zuvor mit dem ATV gepaart (ein paar Zeichen wurden durch x ersetzt).


    Code
    pi@raspberrypi:~ $ atvremote --id Cx:6x:Cx:2x:Dx:7x --protocol mrp pair
    Enter PIN on screen: 8177
    
    Pairing seems to have succeeded, yey!
    You may now use these credentials: b8879e871cbf80909ebcec4b492ef684a10f854870e57bf4d2a27a4050ebxxxx:94a15265d06a63346127e9333a645b08078ee210daf24f07ea99a9cdafc7xxxx:38396431313365342d343964382d343965632d383136322d38623931653734343561xxxx:64346361326134622d626566662d343234342d613962632d38623131623638393262xxxx


    1. Eingabe von Kommandos via SSH mit user Pi: funktioniert

    Code
    pi@raspberrypi:~ $ atvremote --id Cx:6x:Cx:2x:Dx:7x play


    2. Eingabe von Kommandos mit dem Plugin homebridge cmd und folgender json.config:

    Code
    {
    "accessory": "CMD",
    "name": "Apple TV test",
    "on_cmd": "/home/pi/.local/bin/atvremote --id Cx:6x:Cx:2x:Dx:7x play",
    "off_cmd": "/home/pi/.local/bin/atvremote --id Cx:6x:Cx:2x:Dx:7x pause"
    }


    Als Resultat im Homebridge Debug-Monitor erhalte ich:

    Code
    Dez 29 09:53:05 raspberrypi homebridge[30886]: [2019-12-29 9:53:05] [Apple TV test] Setting power state to on
    Dez 29 09:53:05 raspberrypi homebridge[30886]: [2019-12-29 9:53:05] [Apple TV test] power function failed: /bin/sh: 1: /home/pi/.local/bin/atvremote: Permission denied


    3. Eingabe von Kommandos mit dem Plugin homebridge cmdtrigger und folgender json.config:

    Code
    {
    "accessory": "CmdTrigger",
    "name": "Apple TV play",
    "command": "/home/pi/.local/bin/atvremote --id Cx:6x:Cx:2x:Dx:7x play",
    "delay": "500",
    "execAfterDelay": false
    }


    Als Resultat im Homebridge Debug-Monitor erhalte ich:

    Code
    Dez 29 09:56:43 raspberrypi homebridge[30886]: [2019-12-29 9:56:43] [Apple TV play] Setting 'Apple TV play' true
    Dez 29 09:56:43 raspberrypi homebridge[30886]: [2019-12-29 9:56:43] [Apple TV play] Command executed: '/home/pi/.local/bin/atvremote --id Cx:6x:Cx:2x:Dx:7x play'
    Dez 29 09:56:44 raspberrypi homebridge[30886]: [2019-12-29 9:56:44] [Apple TV play] Setting 'Apple TV play' false



    Mit der letzten Variante erhalte ich keine Rückmeldung, dass der Befehl nicht ausgeführt werden konnte, was aber vermutlich am Plugin liegt. Anhand vom "homebridge cmd" konnte ich aber sehen, dass mir offensichtlich Nutzerrechte fehlen (was für mich auch nachvollziehbar ist). Deshalb würde ich darauf schließen, dass gleiches Problem beim Zugriff auf die pyatv Bibliothek innerhalb Lukas seines Plugins besteht.


    Ich kann dem Befehl in "homebridge cmd" aber auch noch ein sudo davor setzen, dann erhalte ich folgende Meldung im Debug-Monitor:


    Code
    Dez 29 10:09:32 raspberrypi homebridge[31412]: [2019-12-29 10:09:32] [Apple TV test] power function failed: usage: atvremote [-h] [--name NAME] [--address ADDRESS] [-t TIMEOUT]
    Dez 29 10:09:32 raspberrypi homebridge[31412]:                  [--version] [--remote-name REMOTE_NAME] [-p PIN]
    Dez 29 10:09:32 raspberrypi homebridge[31412]:                  [--pairing-guid PAIRING_GUID] [-a | --login_id LOGIN_ID]
    Dez 29 10:09:32 raspberrypi homebridge[31412]:                  [--airplay_credentials AIRPLAY_CREDENTIALS] [-v] [--debug]
    Dez 29 10:09:32 raspberrypi homebridge[31412]:                  command [command ...]
    Dez 29 10:09:32 raspberrypi homebridge[31412]: atvremote: error: unrecognized arguments: --id


    Daran habe ich mich gestern auch schon aufgehangen. "atvremote" wird ausgeführt, aber irgendwie scheint es ein Problem mit den Übergabewerten zu geben. Das Argument "--id" existiert plötzlich nicht mehr. Es klingt vielleicht eigenartig aber irgendwie habe ich auch das Gefühl, als wenn an dieser Stelle eine ältere version von atvremote ausgeführt wird. Wäre soetwas möglich? Die Befehlssätze, welche mir mit dem User "homebridge" angezeigt werden, unterscheiden sich von denen mit User "pi" und ähneln nach meiner google Recherche eher einer älteren Version. Wie dem auch sei, das hat nix mit dem Plugin von Lukas zu tun..


    Und nun zurück. Da ich aber wie gesagt absolut kein Linux - Experte bin und eigentlich auch gar nicht weis, was ich hier genau tue, habe ich natürlich auch gar keine Ahnung, wie ich dem Benutzer "homebridge" entsprechende Rechte für den Zugriff auf pyatv einräumen kann.. Alternativ würde ich ich pyatv bzw. atvremote einfach in einen Ordner schieben, in dem homebridge auch agieren darf. Weis aber auch nicht, ob ich das so einfach machen kann, ohne irgendetwas zu zerstören.

    2 Mal editiert, zuletzt von hyxamp ()

  • Code
    "on_cmd": "/home/pi/.local/bin/atvremote --id Cx:6x:Cx:2x:Dx:7x play",
    "off_cmd": "/home/pi/.local/bin/atvremote --id Cx:6x:Cx:2x:Dx:7x pause"

    Ein merkwürdiger Pfad. Völlig unüblich. Das kannst du fehlerfrei auf der Shell aufrufen?

    Es klingt vielleicht eigenartig aber irgendwie habe ich auch das Gefühl, als wenn an dieser Stelle eine ältere version von atvremote ausgeführt wird. Wäre soetwas möglich?

    Das kann sein. Ich würde atvremote immer in /usr/local/bin erwarten. Such mal den Raspi ab mit

    sudo find / -name atvremote

    Damit findet man alle Versionen.

    Und nun zurück. Da ich aber wie gesagt absolut kein Linux - Experte bin und eigentlich auch gar nicht weis, was ich hier genau tue, habe ich natürlich auch gar keine Ahnung, wie ich dem Benutzer "homebridge" entsprechende Rechte für den Zugriff auf pyatv einräumen kann.. Alternativ würde ich ich pyatv bzw. atvremote einfach in einen Ordner schieben, in dem homebridge auch agieren darf. Weis aber auch nicht, ob ich das so einfach machen kann, ohne irgendetwas zu zerstören.

    Doch, das könntest du eigentlich machen, abhängig davon, wo die Lib liegt. Du sagst, sie liegt im Homeverzeichnis von pi. Du könntest sie verschieben (oder kopieren) in das Homeverzeichnis von homebridge mit


    sudo mv /home/pi/pyatv /home/homebridge(verschiebt das Verzeichnis, bite den Pfad genauer anpassen, /home/pi/pyatv ist von mir geraten oder

    sudo cp -av /home/pi/pyatv /home/homebridge (kopiert das Verzeichnis)

    Da ich aber wie gesagt absolut kein Linux - Experte bin

    Das liest sich aber anders :thumbup:

  • Da wir jetzt den Entwickler dabei haben kann lukas.roegner sicher helfen.


    Ich bin wahrscheinlich einfach zu blöd, aber mir erschliesst sich der Sinn des Plugins immer noch nicht. Ich kriege alles was ich so mit ATV brauche über Shortcuts hin.


    Ok, das up/down/left/right fehlt da, aber das ist für Automatisierungen ohnehin kaum zu gebrauchen weil die absolute Position nicht gespeichert wird. Wenn ich bspw. die Netflix App gestartet habe und ins Untermenü „Serien“ will, weiss die Automatisierung nicht welcher Menüpunkt aktiv ist und somit auch nicht ob sie nun up oder down gehen muss....:/

  • Ich habe jetzt die Bibliothek in das entsprechende Unterverzeichnis von Homebridge kopiert und den neuen Pfad in der config hinterlegt. Es passiert leider nix. Weder Fehler noch überhaupt irgendeine Ausgabe, genau wie vorher. Langsam weis ich ehrlich gesagt auch nicht mehr weiter.


    Auch wenn es nach wie vor nix mit dem Plugin zu tun hat:


    Mit: sudo find / -name atvremote


    wurden mir zwei Verzeichnisse angezeigt. Zum Einen der völlig unübliche, zum Anderen in dem von dir erwarteten /usr/local/bin.

    Wenn ich atvremote aus dem unüblichen Verzeichnis lösche, kann ich das Skript nicht mehr aus jedem beliebigen Ordner ohne Angabe des korrekten Pfades (in dem Fall bleibt ja dann blos /usr/local/bin/atvremote) starten.


    Bezüglich der unterschiedlichen Versionsnummern habe ich folgendes probiert:

    pi@raspberrypi:/ $ /home/pi/.local/bin/atvremote --version

    pi@raspberrypi:/ $ /usr/local/bin/atvremote --version


    und es wird bei beidem die gleiche Version (0.4.0a10) angezeigt. Aber nicht nur der Befehlssatz zwischen den Nutzern "pi" und "homebridge" beim Aufruf von atvremote ist unterschiedlich, sondern auch der pairing process. Ich verstehe es nicht.


    Rufe ich atvremote als user "pi" auf, kann ich diesem Ablauf folgen: https://postlund.github.io/pyatv/getting-started/

    Mit dem user "homebridge" sieht das ganze dann so aus: https://pyatv.readthedocs.io/en/master/atvremote.html


    Wie kann denn das sein? Mal abgesehen davon, dass wenn ich mit "homebridge": sudo /usr/local/bin/atvremote scan

    ausführe, mir mein Apple TV erst gar nicht angezeigt wird. Wird da vielleicht auf unterschiedliche Versionsstände innerhalb des Bibliothek zugegriffen? Ich weis ja nicht ob das geht.. Aber vielleicht wäre das dann auch bei Lukas seinem Plugin ähnlich? Also ist nur so ein Gedankengang, kann ja auch völliger Blödsinn sein.


    Ich habe bei mir auch unterschiedliche Python-Versionen gefunden.. 2.7.16 und 3.7.3. Könnte es damit zusammenhängen? Wobei der Verweis auf die Bibliothek innerhalb Lukas seinem Plugin bereits mit "python3" angegeben wird.



    bubffm Zum einen steht bei mir Alexa auf dem Küchentisch, welche mit den Shortcuts des Iphons nicht wirklich viel anfangen kann, zum anderen habe ich auch eine Szene: "Es klingelt an der Tür --> Apple TV pause". Ich wüsste nicht wie ich die Szene mit shortcuts umgesetzt bekomme.

    Einmal editiert, zuletzt von hyxamp ()