Module für XBMC

Begonnen von Dennis B., 06 Januar 2013, 22:32:24

Vorheriges Thema - Nächstes Thema

coyote8219

Also den Dummy habe ich angelegt....

Der Dummy ist auch an bei MaskDown, aber wie muss ich den Befehl schreiben, das er bei MaskDown an ein Reading des playstatus macht und bei stopped den dummy auf aus setzt?

Im nächsten schritt müsste ich ja dann nur noch einen dummy setzen der bei status off die Maskierung hochfährt...


Ist mein Denkansatz so richtig?

coyote8219

Mein Problem ist, ich bekomme die Abhängigkeit nicht programmiert...

Also playstatus nur bei dummy an abfragen und dann bei stopped hochfahren...

Ich tu mich schwer if status dummy an und readingsval auslösen, welches dann wiederrum die Maskierung hochfahren soll bei einem bestimmten Status...Kann mir da vielleicht nochmal jemand helfen?

Tommy82

Hi,
heute ist mal wieder so ein seltsamer Tag wo ich plötzlich wieder den Log voll hab mit:
2015.05.05 16:11:10.500 1: 192.168.188.50:9090 disconnected, waiting to reappear (FireTV_Kodi)
2015.05.05 16:11:10.530 1: 192.168.188.50:9090 reappeared (FireTV_Kodi)
2015.05.05 16:13:10.579 3: Last ping (1430835130.57246) is greather than last pong (1430835070.55858)
2015.05.05 16:13:10.580 1: 192.168.188.50:9090 disconnected, waiting to reappear (FireTV_Kodi)
2015.05.05 16:13:10.612 1: 192.168.188.50:9090 reappeared (FireTV_Kodi)
2015.05.05 16:15:10.661 3: Last ping (1430835250.65526) is greather than last pong (1430835190.64145)
2015.05.05 16:15:10.662 1: 192.168.188.50:9090 disconnected, waiting to reappear (FireTV_Kodi)
2015.05.05 16:15:10.693 1: 192.168.188.50:9090 reappeared (FireTV_Kodi)
2015.05.05 16:17:10.739 3: Last ping (1430835370.73152) is greather than last pong (1430835310.72006)
2015.05.05 16:17:10.740 1: 192.168.188.50:9090 disconnected, waiting to reappear (FireTV_Kodi)
2015.05.05 16:17:10.766 1: 192.168.188.50:9090 reappeared (FireTV_Kodi)
2015.05.05 16:19:10.810 3: Last ping (1430835490.80364) is greather than last pong (1430835430.78782)
2015.05.05 16:19:10.811 1: 192.168.188.50:9090 disconnected, waiting to reappear (FireTV_Kodi)
2015.05.05 16:19:10.840 1: 192.168.188.50:9090 reappeared (FireTV_Kodi)
2015.05.05 16:21:10.882 3: Last ping (1430835610.87581) is greather than last pong (1430835550.8615)
2015.05.05 16:21:10.883 1: 192.168.188.50:9090 disconnected, waiting to reappear (FireTV_Kodi)
2015.05.05 16:21:10.912 1: 192.168.188.50:9090 reappeared (FireTV_Kodi)
2015.05.05 16:23:10.957 3: Last ping (1430835730.95031) is greather than last pong (1430835670.93383)
2015.05.05 16:23:10.958 1: 192.168.188.50:9090 disconnected, waiting to reappear (FireTV_Kodi)
2015.05.05 16:23:10.992 1: 192.168.188.50:9090 reappeared (FireTV_Kodi)
2015.05.05 16:25:11.045 3: Last ping (1430835851.03828) is greather than last pong (1430835791.02412)
2015.05.05 16:25:11.046 1: 192.168.188.50:9090 disconnected, waiting to reappear (FireTV_Kodi)
2015.05.05 16:25:11.074 1: 192.168.188.50:9090 reappeared (FireTV_Kodi)


Hatte jetzt eine ganze weile keine eine Meldung, jetzt plötzlich wieder, einer eine idee woran das liegen kann?
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

nesges

Vorab: Das XBMC Modul ist in meiner Installation wahrscheinlich das meistgenutzte. Vielen Dank dafür!

Ist es evtl. möglich beim Abspielen von MP3-Streams die currentArtist und currentTitle Readings mit den Infos aus dem Stream zu füllen? Aktuell ist sind alle current*-Readings leer, wenn ein Stream (zB http://www.rockantenne.de/webradio/channels/heavy-metal.m3u, aber jeder andere getestete ebenfalls) gespielt wird:

Readings:
     2015-05-07 14:43:15   3dfile
     2015-05-07 14:43:15   currentAlbum
     2015-05-07 14:43:15   currentArtist
     2015-05-07 14:43:15   currentMedia
     2015-05-07 14:43:15   currentOriginaltitle
     2015-05-07 14:43:15   currentShowtitle
     2015-05-07 14:43:15   currentTitle
     2015-05-07 14:43:15   currentTrack
     2015-05-07 14:43:15   episode
     2015-05-07 14:43:15   episodeid
     2015-05-07 14:40:04   fullscreen      off
     2015-05-06 16:54:53   gui             screensaverdeactivated
     2015-05-07 14:43:15   label
     2015-05-07 14:43:15   movieid
     2015-05-07 14:43:05   mute            off
     2015-05-07 14:40:04   name            Kodi
     2015-05-07 14:51:11   partymode       off
     2015-05-07 14:51:11   playStatus      playing
     2015-05-07 14:43:15   playlist
     2015-05-07 14:51:11   repeat          all
     2015-05-07 14:43:15   season
     2015-05-07 14:51:11   shuffle         off
     2015-05-07 14:40:04   skin            Confluence(skin.confluence)
     2015-05-07 14:43:15   songid
     2015-05-07 14:51:11   speed           1
     2015-05-07 14:40:03   state           opened
     2015-05-07 14:40:04   system          wake
     2015-05-07 14:51:11   time            00:07:55.132
     2015-05-07 14:51:11   totaltime       00:00:00.000
     2015-05-07 14:43:15   type            unknown
     2015-05-07 14:40:04   version         14.2-7cc53a9 stable
     2015-05-07 14:43:05   volume          70.00
     2015-05-07 14:43:15   year


Im KODI-UI und in der Weboberfläche (Chorus) werden die Daten richtig angezeigt. Falls sie in einem Stream nicht "sauber getrennt" angeboten werden, wäre es vielleicht eine Option nur currentTitle und type zu befüllen. Ein zusätzliches Reading mit dem Stream-URL wäre natürlich reiner Luxus :)

Mephiston2K

Hallo nesges,

ein ähnliches anliegen hatte ich auch schon mal. Mir ging es eigentlich um die Lichtsteuerung wenn Musik per Stream abgespielt wird.
Bei mir kommt die leider per Airplay und somit ist der type auch unknown(wie bei deinem Stream).
Ich nehme an Kodi(bei mir Gotham) schreibt die Daten wie Interpret/Titel intern irgendwo anders weg und ich hab noch keine Lösung gefunden :(

btw: meiner Meinung nach guter Musik Geschmack, dein unten erwähnter Stream ist auch mein zweit liebster Stream ;)

vbs

@Tommy82:
Mach doch mal dort weiter, wo du letztes Mal aufgehört hast. Sprich: Gucken, ob das FireTV in dem Moment noch auf händische Anfragen reagiert, um zu gucken ob es an FireTV oder FHEM liegt.

@nesges:
Ich kann nicht genau sagen, ob das geht. Ich vermute aber ja.

Mephiston2K

#441
Moin moin,

habe gerade mal ein wenig gestöbert und für XBMC folgende Seite gefunden:
http://kodi.wiki/view/InfoLabels

Da Kodi/XMBC ja bei einem (Audio)Stream Titel und Artist korrekt erkennt, könnte man evtl. mit diesen InfoLabels arbeiten um daraus die Informationen zu ziehen?

EDIT:

Habe mir das Modul gerade mal angeschaut und finde da das Attribut simpleEvents off in unserem Zusammenhang ganz interessant.

Auszug aus Dennis Modul:

# By default only simple events are created. You can activate complex events by adding the line "attr <XBMC_device> simpleEvents off" to your fhem.cfg. If
# complex events are activated, additional information are passed in the events. Currently this only concern the "<XBMC_device>:Player:.OnPlay" and
# "<XBMC_device>:Application:.OnVolumeChanged" events. In case of the "<XBMC_device>:Application:.OnVolumeChanged" event the information about the current
# volume is added. The complex event will look like "<XBMC_device>:Application:.OnVolumeChanged;volume:X" (X being the current volume).
# If XBMC plays a song the complex "<XBMC_device>:Player:.OnPlay" will look like "<XBMC_device>:Player:.OnPlay;artist:X;title:Y;album;Z" (X being the artist
# name, Y being the song title, Z being the album title).


Werde ich am Wochenende mal reinschauen was dann dort bei einem Audiostream zu finden ist.



nesges

Zitat von: Mephiston2K am 08 Mai 2015, 08:48:55
Habe mir das Modul gerade mal angeschaut und finde da das Attribut simpleEvents off in unserem Zusammenhang ganz interessant.

Wo hast du das gefunden? "simpleEvents" gibt's in meinem XBMC-Modul nicht - bzw. in meiner gesamten Fhem-Installation nicht ;)

vbs

Wer mag, kann das hier mal ausprobiert... ist ein Versuch...

nesges

Zitat von: vbs am 09 Mai 2015, 01:36:20
Wer mag, kann das hier mal ausprobiert... ist ein Versuch...

Was ist denn geändert? (bez. Streams stelle ich keine Änderung fest)

vbs

Wenns gut läuft sollten minutlich die Stream-Readings aktualisiert werden... Mag da aber noch Probleme geben.

nesges

Zitat von: vbs am 09 Mai 2015, 02:14:37
Wenns gut läuft sollten minutlich die Stream-Readings aktualisiert werden... Mag da aber noch Probleme geben.

Jetzt hab ich was gesehen :) Wenn man explizit Events erzeugt (zB Pause + Play) werden die Streaminfos jetzt in die Readings übernommen. Soweit funktioniert's also schonmal. Nur das automatische Update scheint noch nicht zu funktionieren (updateInterval 60 habe ich gesetzt).

Hans Franz

Hallo,

Scheint bei meinem Gotham und Radio-Addon zu funktionieren. Auch ohne explizites Setzen des Intervalls.
Internals:
   CHILDPID
   DEF        192.168.178.20 tcp
   DeviceName 192.168.178.20:9090
   FD         57
   Host       192.168.178.20
   LAST_PING  1431135986
   LAST_PONG  1431135986
   NAME       htpc
   NR         51
   PARTIAL
   Port       9090
   Protocol   tcp
   STATE      opened
   TYPE       XBMC
   Pendingevents:
     154719
     315968
     388771
     463078
     631912
     665054
     799304
     90583
     945170
   Pendingplayercmds:
     128785
     134293
     139278
     179329
     234558
     284575
     351172
     405750
     493566
     545772
     699162
     706789
     796188
     81633
     880498
     950180
   Readings:
     2015-05-09 03:46:26   3dfile          off
     2015-05-08 11:49:50   audiolibrary    scanfinished
     2015-05-09 03:46:26   currentAlbum
     2015-05-09 03:46:26   currentArtist
     2015-05-09 03:46:26   currentMedia    http://pub10am.rockradio.com:80/rr_heavymetal
     2015-05-09 02:02:19   currentOriginaltitle
     2015-05-09 02:02:19   currentShowtitle
     2015-05-09 03:46:26   currentTitle    Mercyful Fate - Nightmare
     2015-05-09 03:46:26   currentTrack    0
     2015-05-09 02:02:19   episode
     2015-05-09 02:02:19   episodeid
     2015-05-09 03:40:27   fullscreen      off
     2015-01-20 19:30:59   gui             screensaverdeactivated
     2015-05-09 03:37:55   input           inputfinished
     2015-05-09 03:46:26   label           Mercyful Fate - Nightmare
     2015-05-09 02:02:19   movieid
     2015-05-09 03:40:27   mute            off
     2015-05-09 03:40:27   name            XBMC
     2015-05-09 03:40:27   partymode       off
     2015-05-09 03:40:27   playStatus      playing
     2015-05-09 03:38:10   playlist        add
     2015-05-09 03:40:27   repeat          off
     2015-05-09 02:02:19   season
     2015-05-09 03:40:27   shuffle         off
     2015-05-09 03:40:27   skin            Confluence(skin.confluence)
     2015-05-09 02:02:19   songid
     2015-05-09 03:40:27   speed           1
     2015-05-09 03:40:27   state           opened
     2015-05-09 03:40:27   system          wake
     2015-05-09 03:46:26   thumbnail
     2015-05-09 03:40:27   time            00:00:00.293
     2015-05-09 03:40:27   totaltime       00:00:00.000
     2015-05-09 03:46:26   type            song
     2015-05-09 03:40:27   version         13.2-0f3db05 stable
     2015-03-03 11:58:58   videolibrary    scanfinished
     2015-05-09 03:40:27   volume          39
     2015-05-09 03:46:26   year            0
Attributes:
   fork       enable
   pingInterval 60
   room       test,xbmc


Danke
Hans
Raspi
CUL, Nano-CUL
FHT8V, FHT80B, S300TH
WM1000WZ, ELRO
LW12, LD382,DS18B20

vbs

Zitat von: nesges am 09 Mai 2015, 02:43:43
Jetzt hab ich was gesehen :) Wenn man explizit Events erzeugt (zB Pause + Play) werden die Streaminfos jetzt in die Readings übernommen. Soweit funktioniert's also schonmal. Nur das automatische Update scheint noch nicht zu funktionieren (updateInterval 60 habe ich gesetzt).
Hm, Readings erscheinen erst mit dem nächsten Play/Pause? Meinst du im Browser? Automatisch werden die ja nur geupdatet, wenn du für die Readings ein Event erzeugt wird. Ist das bei dir evtl. nicht der Fall (event-on-change/event-on-update)? Schonmal versucht, im Browser F5 zu drücken?

Könntest du mal bitte ein verbose5-Log posten, wenn das minütliche Updaten nicht klappt? Das Attribut updateInterval ersetzt übrigens das vorherige pingInterval und muss nicht explizit gesetzt werden. 60 Sekunden ist dann default.

vbs

Hier nochmal eine Variante mit ein paar neuen Features:

  • OnSeek/OnSpeedChange/onPropertyChange werden ausgewertet und als Reading/Event bereit gestellt
  • es wird im updateInterval der Player gefragt (zb für aktuelle Abspielposition). Man könnte jetzt also bspw. 5 Minute vor Filmende anfangen, das Licht hochzudimmen

Ist aber sicherlich weiterhin als experimentell einzustufen... :P