Jump to content

LibreELEC - EmbyCon Startup Page Issue


Dave3000

Recommended Posts

Dave3000

I was using the EmbyCon addon for LibreELEC and one issue I'm having with it is that once LibreELEC is done loading up, the startup page is not showing the Next Up and Continue Watching widgets under the My media categories section.  It's just the Now playing in theaters, and New movies coming soon, under the My media categories section.  However, after doing a skin refresh or going into one of the My media categories and out again, those widgets finally show up.  I did not experience this issue with Kodi with Embycon in Windows 10.  Is there a way to get the Next Up and Continue Watching widgets to show up automatically after LibreELEC has done loading?  I'm using the embuary skin. 

Link to comment
Share on other sites

TeamB

I think this sounds like a skin issue.

You could try opening the EmbyCon addon main menu and navigating to the content you want that way, at least this would indicate if the addon was having issues getting the content or not.

 

This could also be network related in that the network connection is not ready when the skin loads so the initial load fails and the skin reload then allows the correct loading of the data. There is an option in Libreelec to wait for the network

 

https://wiki.libreelec.tv/libreelec_settings#tab__network

 

Try that

Link to comment
Share on other sites

Dave3000

I set it to wait for the network connection for 10 seconds but still those two widgets don't load up on startup of LibreELEC from a cold boot.

Link to comment
Share on other sites

sualfred

Race condition I guess. I assume the Emby connection does not get established fast enough and thats why the widgets are empty and hidden. I have to think about a solution.

 

Can you post a debug log please?

Link to comment
Share on other sites

Dave3000

I don't think it's a skin issue because the issue did not show up after I uninstalled Docker and the EmbyCon addons in LibreELEC and just set LibreELEC to use the local database.  Right now I'm testing Emby Server installed on my main computer and leaving LibreELEC with EmbyCon installed on my secondary computer.  

Edited by Dave3000
Link to comment
Share on other sites

sualfred

It is a "skin issue".

Each window tries to get content for all widgets. If empty -> hide it. The widget containers don't return Container.Updating fast enough so the skin doesn't wait.

 

After a skin reload the connection and startup process of EmbyCon is done/established and that's why it solves it. As I said. Race condition.

Edited by sualfred
Link to comment
Share on other sites

Dave3000

I just tested with Emby Server installed on my main computer and LibreELEC installed on my secondary computer.  Both those widgets show up now upon loading LibreELEC.  I did have to set the wait time for the network to 10 seconds in the LibreELEC network settings so that the message saying "could not establish connection with the Emby Server" goes away and the Continue Watching widget can load up upon loading LibreELEC.  However these network wait settings had no effect on the issue when LibreELEC and Emby Server were installed on the same computer.

Edited by Dave3000
Link to comment
Share on other sites

sualfred

because it's on the same device. the server takes longer to start. I'll add a skin load delay setting to solve it.

Link to comment
Share on other sites

sualfred

another option would be to auto reload skin once embycon established a connection. @@TeamB what do you think? Optional of course

Edited by sualfred
Link to comment
Share on other sites

TeamB

Can the skin monitor a window prop and reload the lists if it changes?

I use something like this in the dynamic content plugin paths I use in skin widest.

Link to comment
Share on other sites

sualfred

I already have added those but some skins are wrapping widgets in parent control groups like i do. they have a own visibility condition.

Link to comment
Share on other sites

TeamB

I could do a skin reload on first successful connection but that feels like cracking an egg with a sledge hammer.

 

Also on first boot all the automated connections will fail, at that point EmbyCon will be waiting for a new connection and this will probably be a user initiated one which will then cause the skin to reload, not sure how this will work in real world scenarios or how it will look/feel t the user.

Edited by TeamB
Link to comment
Share on other sites

sualfred

Make it optional as experimental/advanced setting. This issue can happen on a lot of skins. If the parent control is hidden and the child parent container of the container was empty it's get not updated again. Only after skin reload or window change. It's stupid that hidden empty containers don't get reloaded. As soon as one item is populated your reload hack property works as it should. Blame Kodi ;)

Edited by sualfred
Link to comment
Share on other sites

TeamB

I had this problem with the Skin I cloned form the default one, I had to add allowhiddenfocus="true" to allow loading data into dynamic lists when the parent was hidden and add .IsUpdating so it was not hidden until the update happened.

<visible allowhiddenfocus="true">$PARAM[visible]</visible>
<visible allowhiddenfocus="true">Integer.IsGreater(Container($PARAM[list_id]).NumItems,0) | Container($PARAM[list_id]).IsUpdating</visible>

Not sure that will work for you or if it is even the correct way of doing it but it worked for the widgets I was working on, i.e. they hide themselves when they are empty and show when you have data available.
 


 

Link to comment
Share on other sites

sualfred

I already do use the IsUpdating bool. That works but is also the issue. Container.IsUpdating is returning false because Kodi is up and running before the server on the same device is up and EmbyCon is getting a connection. As I said above it's a race condition in a corner case. That's also the reason why "wait for network blablabll" doesn't solve anything because server + kodi is running on the same device. Waiting for network will also cause a waiting to start his Emby server docker.

 

Edit:

I'm not sure if you already have added something like this, but the issue could also be bypassed if you add a loop in your plugin listings -> "not connected? try to connect before callling xbmcplugin.endOfDirectory"  (1, wait 2s, 2, wait another 2s, etc, etc.... after 30 seconds no reply? break). That will make Container.IsUpdating to return True.

Edited by sualfred
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...