modul iTunes / Apple TV

Begonnen von justme1968, 21 März 2013, 16:16:14

Vorheriges Thema - Nächstes Thema

aski71

Ich habe mir mal die Stelle im Code angesehen und bin auf folgendes gestoßen:

  my $ret = iTunes_Send( $hash, "login?pairing-guid=".$attr{$name}{key} );
  if( !defined($ret) ) {
    RemoveInternalTimer($hash);
    iTunes_stopUpdater($hash,0);
    InternalTimer(gettimeofday()+10, "iTunes_OpenDev", $hash, 0);
    return undef;
  }

[b] if( $ret =~ m/^error:(\d+)/ )[/b] {
    iTunes_stopUpdater($hash,0);
[b]    if( $1 == 503 [/b]) {
      iTunes_Pair($hash);
    } else {
      RemoveInternalTimer($hash);
      InternalTimer(gettimeofday()+10, "iTunes_OpenDev", $hash, 0);
    }
    return undef;
  }


Hier wird auf "error:503" geprüft.
Das aktuelle AppleTV liefert aber keinen Error bei mir.
Es liefert scheinbar ein Token. Hab mir das mal per Log ausgeben lassen:

2016.05.23 18:22:55 3: returnvalue: HASH(0x7f96213f1b48)

Das heißt: Die Abfrage und das Pairing funktioniert nicht mehr so, wie es hier programmiert ist.
In Ermangelung von perl Kenntnissen und Kenntnissen über den Pairing-Vorgang weiß ich hier leider auch nicht weiter. :-(

Gibt es jemanden, der weiter weißt?

VG Alex

rompriest

Zitat von: Maui am 22 Mai 2016, 20:51:57
Hast recht. Zum pairen wird man wohl eine alte Version nehmen müssen leider. Könnte ich fixen,  aber dann ginge standby wieder nicht. Hab auch leider nicht die Zeit und Muße mich damit viel zu beschäftigen.
Ich nutze tablet ui zum steuern bzw. Meine pebble selbst.
Hab mir einfach buttons für play, pause, prev, next, shuffle gebaut. Und ein schönen slider für volume.
Dazu dann noch ein dropdown für playlists und für meine Räume (airplay quellen) und ein eingabe fenster zum suchen.
Kann ich nur im Moment nicht posten, bin die nächsten Tage unterwegs.

Alles klar, ich bastle weiter- wäre aber trotzdem an deinem code für ftui als Inspiration interessiert ;)

Maui

@aski: versuch doch mal dich mit itunes auf deinem mac zu verbinden.
Habe kein aTv mehr und meine perl kenntnisse habe ich mir nur für das modul hier angeeignet. Aber andere konnten sich ja mit dem atv hier im thread scheinbar verbinden.
Könnte meinen bruder mal nach seinem atv3 fragen leihweise.

aski71

Vielleicht haben die anderen ja ein ATV älterer Generation und das geänderte Handling ist nur bei der neuen so?!

Maui

Welchen aTV hast du denn?

hier mal ein auszug aus meiner ftui config.

<div class="col-1-3">
<div data-type="push"
     data-device="AVR"
data-set-on="Voldown"
data-icon="fa-volume-down"
></div>
</div>

<div class="col-1-3">
  <div data-type="select"
  data-device="itRemote"
  data-list="playlists"
  data-set="playlistSelect"
   ></div>
          <div data-type="label" class="inline">Playlists</div>
</div>

<div class="col-1-3">
<div data-type="volume"
     data-device='itRemote'
data-set='volume'
data-get='volume'
     data-min="0"
     data-max="100"
class='small'
></div>
</div>

<div class="col-1-3">
  <div data-type="select"
  data-device="itRemote"
  data-list="speakers"
  data-set="speaker"
  ></div>
  <div data-type="label" class="inline">Raum</div>
  </div>


<div class="col-1-4">
<div data-type="push"
     data-device="itRemote"
data-set-on="play"
data-icon="fa-play"
></div>
</div>

<div class="col-1-4">
<div data-type="push"
     data-device="itRemote"
data-set-on="pause"
data-icon="fa-pause"
></div>
</div>

<div class="col-1-4">
<div data-type="push"
     data-device="itRemote"
data-set-on="previous"
data-icon="fa-step-backward"
></div>
</div>

<div class="col-1-4">
<div data-type="push"
     data-device="itRemote"
data-set-on="next"
data-icon="fa-step-forward"
></div>
</div>

<div class="col-1-2">
<div data-type="push"
     data-device="itRemote"
data-set-on='["shuffleOn","shuffleOff"]'
data-icon="fa-random"
></div>
</div>

<div class="col-1-2">
<div data-type="input"
     data-device="itRemote"
data-set="searchAll"
data-get="searchAll"
></div>
</div>

aski71


Maui

Kann sein,  dass sich am aTv4 was geändert hat. Kann ich aber nicht testen. Vielleicht schaffst du es ja

aski71

Puh. Da muss ich mal viel Zeit haben.  :D

justme1968

ich meine atv3 und atv4 unterstützen das normale alte pairing nicht mehr sondern nur noch über home sharing.

wie das funktioniert ist nirgendwo dokumentiert und vermutlich ist das ganze verschlüsselt da es den remote zugriff auf gekaufte musik erlaubt.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

texel

#249
Hallo,

hab grad auch das pairing probiert und bin leider gescheitert.

Meine config:
1 x BananaPi Deb Jessie / avahi und DMAP von Seite 2
1 x mac mini mit iTunes Bibliothek
1 x MacBook mit iTunes Bibliothek

Pairingversuch BananaPi zu iTunes auf MacBook:

in FHEM itunes registriert und im Status pairing...

~ # avahi-publish -s fhem _touch-remote._tcp 33170 DvNm=fhem RemV=10000 DvTy=iPod RemN=Remote txtvers=1 Pair=0xaef616ac88416385
Established under name 'fhem


Auf Macbook erscheint unter iTunes (12.4.0.119) 'fhem'.. nach Codeeingabe 0000: The passcode you entered is incorrect
Pairingversuch mit iTunes (12.4.0.119) auf Mac mini - .. nach Codeeingabe 0000: The passcode you entered is incorrect

dann FHEM auf mac mini installiert. (33_itunes von 2. Seite)
auf mac mini:
$ dns-sd -R fhem _touch-remote._tcp local 49517 DvNm=fhem RemV=10000 DvTy=iPod RemN=Remote txtvers=1 Pair=0xe8a6814d68ef5b8b
Registering Service fhem._touch-remote._tcp.local port 49517 TXT DvNm=fhem RemV=10000 DvTy=iPod RemN=Remote txtvers=1 Pair=0xe8a6814d68ef5b8b
DATE: ---Sat 28 May 2016---
18:56:59.362  ...STARTING...
18:57:00.220  Got a reply for service fhem._touch-remote._tcp.local.: Name now registered and active
 

in iTunes erscheint fhem; nach Codeeingabe: wieder falscher passcode bei der ersten Eingabe. Wenn ich es nochmals versuche, bleibt iTunes bei "Verifying passcode" stehen ...

Hat jemand ein ähnliches Problem oder eine Lösung?

Viele Grüße,

Texel

texel

Hallo nochmal,

nach mehreren Versuchen hat es nun doch funktioniert:

33_itunes von Seite 1 (erster Post) installiert (unter FHEM auf Mac Mini wo auch die iTunes Bibliothek läuft).
DMAP auch von erster Seite.

Dann folgendes eingetippt:
dns-sd -R fhem _touch-remote._tcp local 49618 DvNm=fhem RemV=10000 DvTy=iPod RemN=Remote txtvers=1 Pair=0000000000000001
Registering Service fhem._touch-remote._tcp.local port 49618 TXT DvNm=fhem RemV=10000 DvTy=iPod RemN=Remote txtvers=1 Pair=0000000000000001
DATE: ---Sat 28 May 2016---
19:41:37.380  ...STARTING...
19:41:38.303  Got a reply for service fhem._touch-remote._tcp.local.: Name now registered and active


Wichtig: Nicht den Pair-Key aus den readings nehmen sondern 0000000000000001

in iTunes mit 0000 bestaetigt. Funktionierte auf Anhieb. Dann den BananaPi auf aktuelle 33_itunes updaten. Key eintragen und funktioniert ...

LG Texel

rompriest

Zitat von: Maui am 23 Mai 2016, 20:58:41

hier mal ein auszug aus meiner ftui config.

<div class="col-1-3">
<div data-type="push"
     data-device="AVR"
data-set-on="Voldown"
data-icon="fa-volume-down"
></div>
</div>

<div class="col-1-3">
  <div data-type="select"
  data-device="itRemote"
  data-list="playlists"
  data-set="playlistSelect"
   ></div>
          <div data-type="label" class="inline">Playlists</div>
</div>

<div class="col-1-3">
<div data-type="volume"
     data-device='itRemote'
data-set='volume'
data-get='volume'
     data-min="0"
     data-max="100"
class='small'
></div>
</div>

<div class="col-1-3">
  <div data-type="select"
  data-device="itRemote"
  data-list="speakers"
  data-set="speaker"
  ></div>
  <div data-type="label" class="inline">Raum</div>
  </div>


<div class="col-1-4">
<div data-type="push"
     data-device="itRemote"
data-set-on="play"
data-icon="fa-play"
></div>
</div>

<div class="col-1-4">
<div data-type="push"
     data-device="itRemote"
data-set-on="pause"
data-icon="fa-pause"
></div>
</div>

<div class="col-1-4">
<div data-type="push"
     data-device="itRemote"
data-set-on="previous"
data-icon="fa-step-backward"
></div>
</div>

<div class="col-1-4">
<div data-type="push"
     data-device="itRemote"
data-set-on="next"
data-icon="fa-step-forward"
></div>
</div>

<div class="col-1-2">
<div data-type="push"
     data-device="itRemote"
data-set-on='["shuffleOn","shuffleOff"]'
data-icon="fa-random"
></div>
</div>

<div class="col-1-2">
<div data-type="input"
     data-device="itRemote"
data-set="searchAll"
data-get="searchAll"
></div>
</div>


danke, ich lasse mich inspirieren :)

Maui

Wenn du noch selbst Verbesserungen hast, immer her damjt

tkaiser

Hallo,
Ich bräuchte nochmal eure Hilfe.
Ich habe mein iTunes gepairt nach der Anleitung von Texel (letzter Post). Es funktioniert auch, bis ich eine neue iTunes.pm benutzen will. Dann stürzt Fhem ab.
Was meint Texel mit Key eintragen?
Im Log steht :2016.06.16 22:28:13 1: iT_HTTP_reqHead: Anfang
2016.06.16 22:28:13 1: PERL WARNING: Use of uninitialized value in division (/) at ./FHEM/33_iTunes.pm line 864.
2016.06.16 22:28:13 1: PERL WARNING: Use of uninitialized value in division (/) at ./FHEM/33_iTunes.pm line 865.
2016.06.16 22:28:13 1: iT_HTTP_reqHead: Anfang
2016.06.16 22:28:13 2: it_send: $VAR1 = 'error:404';

2016.06.16 22:28:13 1: iT_HTTP_reqHead: Anfang
Not an ARRAY reference at ./FHEM/33_iTunes.pm line 560.
Ich hoffe ihr könnt mir Helfen
Gruß tkaiser
HM-ES-PMSw1-Pl, HM-TC-IT-WM-W-EU, HM-CC-RT-DN,
HM-LC-DIM1T-FM, HM-SEC-SCo, Harmony-Hub,Raspi3.
CUL 868, nanoCUL 433

Maui

Na nachdem du das pairing am mac gemacht hasr,  hast du in fhem auf dem mac ein reading mit dem key.
Dieses musst du dann auf dein echtes fhem übertragen. Dann das fhem am mac killen,  das richtige neustarten.
Kannst mal verbose auf 5 setzen und ein Absturz provozieren?