modul iTunes / Apple TV

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

Vorheriges Thema - Nächstes Thema

jneroes

#180
Hi,

ich hab die auskommentierten LOGs aktiviert und weitere in iTunes_Read eingebaut, aber da kommen keine Daten:

iTunes_Read($)
{
  my ($hash) = @_;
  my $name = $hash->{NAME};
  Log3 $name, 4, "iTunes_Read";
  Log3 $name, 4,$hash->{STATE} ;
  if( $hash->{STATE} ne 'Pairing' )
    {
      my $buf;
      my $ret = sysread($hash->{CD}, $buf, 1024*1024);
      if(!defined($ret) || $ret <= 0) {
      iTunes_startUpdater($hash);
        return;
      }
      $buf=~ s/(.*?)\r\n\r\n//s;
      my $status = dmap_unpack2($buf);
      Log3 $name,4,"START HIER";
      Log3 $name, 4, Dumper $status;
      Log3 $name, 4,Dumper dmap_seek2($status,"cmst/caps");
      Log3 $name,4,"ENDE HIER";
      if( dmap_seek2($status,"cmst/mstt") == 200 ) {
        readingsBeginUpdate($hash);

        if( dmap_seek2($status,"cmst/caps") == 4 ) {
          readingsBulkUpdate($hash,"transportState","PLAYING");
        } else {
          readingsBulkUpdate($hash,"transportState","PAUSED_PLAYBACK");
        }
        iTunes_readingsBulkUpdate($hash,"shuffle",dmap_seek2($status,"cmst/cash") );
        iTunes_readingsBulkUpdate($hash,"repeat",dmap_seek2($status,"cmst/carp") );
        iTunes_readingsBulkUpdate($hash,"currentTitle",dmap_seek2($status,"cmst/cann") );
        iTunes_readingsBulkUpdate($hash,"currentArtist",dmap_seek2($status,"cmst/cana") );
        iTunes_readingsBulkUpdate($hash,"currentAlbum",dmap_seek2($status,"cmst/canl") );
        iTunes_readingsBulkUpdate($hash,"currentTrackDuration",h2hms_fmt(dmap_seek2($status,"cmst/cast",0) / 1000.0 / 3600 ) );
        iTunes_readingsBulkUpdate($hash,"currentTimeRemaining",h2hms_fmt(dmap_seek2($status,"cmst/cant",0) / 1000.0 / 3600 ) );

und hier das Log


2014.12.31 10:10:46 4: iTunes_Read
2014.12.31 10:10:46 4: Connected
2014.12.31 10:10:46 4: appletv: updater Disconnected
2014.12.31 10:10:46 3: appletv: updater connected to 192.168.5.234:3689
2014.12.31 10:10:46 5: 1
2014.12.31 10:10:46 4: iTunes_Read
2014.12.31 10:10:46 4: Connected
2014.12.31 10:10:46 4: START HIER
2014.12.31 10:10:46 4: $VAR1 = {};

2014.12.31 10:10:46 4: $VAR1 = undef;

2014.12.31 10:10:46 4: ENDE HIER


Kann man sich die komplette Struktur anzeigen lassen die man laden kann?

Grüße

EDIT: Hab jetzt was rausbekommen


2014.12.31 10:24:29 3: $VAR1 = '��K�-.a``�R ��O$�A٬�! � ';

2014.12.31 10:24:29 3: $VAR1 = {};

2014.12.31 10:24:29 3: $VAR1 = '��K�M/a``��-.�,@|"9�,�ff �� ';

2014.12.31 10:24:29 3: $VAR1 = {};

2014.12.31 10:25:28 3: $VAR1 = '��K�-.a``�R@���O$�A�ɉ�@6#Krbq����XTe����"epF2T*$2�)91f[rbZ*TA���aLN
,�H��B~ ��y K@ldt^��cD���y���ԟ䋸���U�+���d��+D����Nʱ{g楤1$����I9��%��2S"� �-,M�-
9�� &3�lc����Drnn6�r�0��a˜��
%` �A�Z��+�,���Ȇ�&��';

2014.12.31 10:25:28 3: $VAR1 = {};

2014.12.31 10:25:28 3: $VAR1 = '��K�M/a``��-.�,@|"9�,�N\'�\\� ';

2014.12.31 10:25:28 3: $VAR1 = {};



Das sind die Logs in iTunes_Send

Log 3 Dumper $ret;
Log 3 Dumper dmap_unpack2($ret) if( $ret ne "" );


Ich vermute, dass das Problem in der dmap_unpack2 liegt hier muss anders entpackt werden.

Gruß

justme1968

das problem liegt in dmap_unpack2. ich vermute es sind neue kommandos/meldungen hinzugekommen die bis jetzt nicht berücksichtigt werden. das das format ist leider nur eingeschränkt selbstbeschreibend und nicht bekannte/erwartete werte gehen einfach unter.

es gibt in der dmap lib eine routine die den inhalt einer nachricht in lesbarer form ausspuckt. ich habe gerade kein zugriff auf ein rechner. aber etwas in der art wie dmap_to_xml(). kannst du mal versuchen das statt dmap_unpack2 in die Dumper zeilen einzubauen?

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

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

jneroes

Hab ich gemacht, aber sieht nicht viel besser aus.


2014.12.31 12:58:31 1: $VAR1 = '��K�M/a``��-.�,@|"9�,�N\'�\\� ';

2014.12.31 12:58:31 1: $VAR1 = '<�>
 
</�>
<�K�>
 
</�K�>
';



Allerdings hab ich festgestellt, dass beim abspielen von Musik über das iphone (Airplay) das Cover in FHEM angezeigt wird. Somit sollte das lesen der Daten gleich sein. Ich denke das sich einfach nur die Stellen geändert haben.

holzwurm83

Hallo zusammen,

hat jemand von euch das Paring mit iTunes auf OSX 10.10 hin bekommen. Bei mir steht in iTunes immer nur "Remote-Code überprüfen" und dann tut sich nichts mehr.
- Fhem auf einem MacMini Server
- CUL; HMLAN; CUNO2 für FS20; HM-Wired RS485 LAN Gateway
- HMW_Sen_SC_12_FM; HMW_LC_Sw2_DR; HMW_LC_Bl1_DR; HMW_IO_12_Sw7; HMW_IO_12_Sw14_DR; HMW_IO_12_FM; HBW_1W_T10
- HM-TC-IT-WM-W-EU; HM-CC-RT-DN

holzwurm83

Hallo Andre,

ich habe heute mein fhem seit langem auf den neuesten Stand gebracht. Jetzt startet es nicht mehr mit der folgenden Meldung in der Konsole.

Not an ARRAY reference at ./FHEM/33_iTunes.pm line 412.

Ist das bereits bekannt, oder weißt du was das ist?
- Fhem auf einem MacMini Server
- CUL; HMLAN; CUNO2 für FS20; HM-Wired RS485 LAN Gateway
- HMW_Sen_SC_12_FM; HMW_LC_Sw2_DR; HMW_LC_Bl1_DR; HMW_IO_12_Sw7; HMW_IO_12_Sw14_DR; HMW_IO_12_FM; HBW_1W_T10
- HM-TC-IT-WM-W-EU; HM-CC-RT-DN

holzwurm83

Habs noch mal gepairt und jetzt geht es wieder.
- Fhem auf einem MacMini Server
- CUL; HMLAN; CUNO2 für FS20; HM-Wired RS485 LAN Gateway
- HMW_Sen_SC_12_FM; HMW_LC_Sw2_DR; HMW_LC_Bl1_DR; HMW_IO_12_Sw7; HMW_IO_12_Sw14_DR; HMW_IO_12_FM; HBW_1W_T10
- HM-TC-IT-WM-W-EU; HM-CC-RT-DN

justme1968

gut das es wieder geht.

ich kann gerade nicht nach dem modul schauen. die platte in meinem apple tv hat den geist aufgegeben. ich muss mal schauen ob ich die original platte noch finde. ansonsten kann ich das betriebsystem nicht mehr wieder herstellen wenn ich die disk images nicht mehr finde.

inzwischen habe ich auch ein paar sonos player die gegenüber meinen alten verstärken den vorteil haben das ich sie auch von fhem aus ein schalten kann. ich weiss also nicht wann ich mich wieder um das itunes modul kümmern kann.

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

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

aplatac

Hi,

das sieht nach einem sehr nützlichen Modul aus, dass sicher viel Leute gebrauchen können :) es wäre
schade, wenn es einschlafen würde. Ich probiere gerade damit etwas rum und möchte noch eine Idee
in die Runde werfen: man braucht überhaupt kein Apple-Zeugs (nicht mal Software) dafür!
Versuchsweise habe ich eben einen RasPi mit einem Forked-Daap Server versehen, per HDMI an den
Verstärker und ins Netz gehängt. Außerdem läuft auf dem Pi noch Sharepoint, das wäre für das iTunes
Modul nicht nötig, aber ist cool um mal eben vom Handy auf die Anlage zu streamen.
Der Forked-Daap gibt sich als iTunes-Server aus und greift per Netzwerk auf die Musiksammlung auf
einem anderen Server zu. Bedienen kann man das ganze wie gewohnt mit der Remote-App oder eben
FHEM oder einem iTunes auf Mac oder PC. Mir gefällt diese Lösung schon ganz gut, das einzige was
Ärger macht ist der "nicht gefrickelte Teil": HDMI. Wie es scheint, muß beim Booten des RasPi die ganze
HDMI-Kette aktiv sein, sonst gibts keine Verbindung. Vermutlich wegen dem Kopierschutzscheiß der bei
HDMI inkl. ist :-(

Vom Forked-Daap gibt es sogar ein fertiges RasPi-package:
http://elinux.org/RPiForked-Daapd  bzw. von dort:
http://www.raspberrypi.org/forums/viewtopic.php?p=387756#p387756

Pairing war bei mir nicht mehr notwendig. Das lag evtl. daran, dass ich vor dem iTunes-Modul
schon mal die Remote-App verbunden hatte. Wobei ich das nicht recht verstehe, geht die neue Verbindung
doch von einem anderen Gerät aus.

aplatac

Hi,

leider wurden meine iTunes-Experimente rüde beendet.
Heute morgen ist FHEM abgestürzt und ließ sich auch nicht neustarten.
Als Ursache habe ich das iTunes-Modul ausgemacht und den define Eintrag
Entfernt -> FHEM läuft. define in der WebGUI wieder eingefügt -> FHEM
stürtzt ab...
Und angefangen hat das im warsten Sinne "über Nacht", die Lampe um 06:00
hat er noch angeschaltet aber schon nicht mehr aus um 06:30!
Als Veränderung kann ich anführen, dass ich den DAAP-Server gestern neu
aufgesetzt habe, aber dann muss er stundenlang gelaufen sein ohne eine
Auswirkung.


Tommy82

Gibts im Log keinen Fehler?
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

aplatac

ich denke, es war an dieser Stelle:

2015.02.18 16:16:57 1: PERL WARNING: Use of uninitialized value in division (/) at ./FHEM/33_iTunes.pm line 631.
2015.02.18 16:16:57 1: PERL WARNING: Use of uninitialized value in division (/) at ./FHEM/33_iTunes.pm line 632.
2015.02.18 16:16:57 3: $VAR1 = 'error:404';

Tommy82

Also klappt es jetzt wieder?

Hoffentlich hat Andre bald nochmal Zeit das Modul etwas weiter zu bringen, wäre zu schade um das Modul
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

holzwurm83

Ja, da hoffe ich auch drauf!
- Fhem auf einem MacMini Server
- CUL; HMLAN; CUNO2 für FS20; HM-Wired RS485 LAN Gateway
- HMW_Sen_SC_12_FM; HMW_LC_Sw2_DR; HMW_LC_Bl1_DR; HMW_IO_12_Sw7; HMW_IO_12_Sw14_DR; HMW_IO_12_FM; HBW_1W_T10
- HM-TC-IT-WM-W-EU; HM-CC-RT-DN

aplatac

>Also klappt es jetzt wieder?
ich habe das nicht weiter verfolgt, aber es gab kürzlich eine neue Version vom Daap-Server,
werde es die Tage noch mal testen. Aber bei den Experimenten habe ich germerkt dass es
wohl ein paar Problemen zw. dem Server und dem Modul gibt. Wenn man erst das Modul
laufen läßt und dann den Server, dann läuft dieser sehr unrund und steigt irgendwann beim
einlesen der mp3s aus. Ohne Modul läuft er sauber. Ist er alleine gestartet und dann kommt
das Modul dazu, so steigt halt FHEM aus. Komische Wechselwirkung, wenn an zwei Seiten
"verappled" wird, scheint mir ;-)

jsloot

Guten Morgen,

da ich es geschafft habe, meine forked-daapd Installation (läuft auf einem RPi) per itunes-Modul ins FHEM zu integrieren, bleibt mir nur noch die Frage, wie ich denn aus FHEM heraus einen bestimmten Song streamen kann. Geht das im Moment überhaupt?

Gruß, der Sloot
Ein FHEM-Raspi mit HM-CFG-USB-2. 9 HM Heizthermostate, 9 HM Temperatursensoren, 22 HM Fensterkontakte, 7 Rolloaktoren, 17 HM Unterputz-Aktoren