APL Tablo Client

Off topic, your “cat” post is here…

Your tablo naming poll here…

Interactive new user tutorial - Posts about nothing slight_smile now with polls may fade but will never be forgotten!!

Now let LJ_LongWing feed his cats and get back to work :cat:

1 Like

Ok…I got that…and it’s fixed in .03 and available on the site…finally someone gave me something I can fix :)…can you confirm that you don’t have your Tablo configured for Remote Access?

No…my wife is a Moose aficionado and those are two of her favorites…obviously Morris (everyone knows who he is, right?) and Tomah is the name of the moose at our zoo here locally :slight_smile:

1 Like
 java --module-path /usr/share/openjfx/lib --add-modules javafx.controls,javafx.fxml -jar APLTablo.jar
2019-08-16 18:24:24,223 [INFO ] APL Tablo .02
2019-08-16 18:24:24,224 [INFO ] Starting Processing
javafx.fxml.LoadException: 
com/apl/view/MainOverview.fxml:7

	at javafx.fxml/javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2625)
	at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2603)
	at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2466)
	at javafx.fxml/javafx.fxml.FXMLLoader.load(FXMLLoader.java:2435)
	at com.apl.MainApp.showMainOverview(MainApp.java:56)
	at com.apl.MainApp.start(MainApp.java:33)
	at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:846)
	at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:455)
	at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427)
	at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
	at javafx.graphics/com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
	at javafx.graphics/com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$11(GtkApplication.java:277)
	at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: org.json.JSONException: JSONObject["commercial_skip"] not found.
	at org.json.JSONObject.get(JSONObject.java:520)
	at com.apl.Functions.getBool(Functions.java:209)
	at com.apl.model.TabloServer.setIpAddress(TabloServer.java:51)
	at com.apl.Tablo.lambda$0(Tablo.java:129)
	at java.base/java.lang.Iterable.forEach(Iterable.java:75)
	at com.apl.Tablo.discover(Tablo.java:111)
	at com.apl.Tablo.<init>(Tablo.java:93)
	at com.apl.view.MainOverviewController.<init>(MainOverviewController.java:19)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
	at java.base/java.lang.Class.newInstance(Class.java:584)
	at javafx.fxml/javafx.fxml.FXMLLoader$ValueElement.processAttribute(FXMLLoader.java:936)
	at javafx.fxml/javafx.fxml.FXMLLoader$InstanceDeclarationElement.processAttribute(FXMLLoader.java:980)
	at javafx.fxml/javafx.fxml.FXMLLoader$Element.processStartElement(FXMLLoader.java:227)
	at javafx.fxml/javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.java:752)
	at javafx.fxml/javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2722)
	at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2552)
	... 13 more

As for Commerical Skip ? image
Does this require 2.2.26 !?:exclamation:

APLTablo-.03 works Under Ubunto 18 and Win 10 Sees all three Tablo’s

1 Like

Yes, correct…26 is the one that introduces commskip, as you are on 24 you don’t have it, I’ve updated the code to account for that and not throw an error, .04 should eliminate that error for you.

So, may have been looking in the wrong direction… not everyone has their tablo’s configured the same - who’d figure.

See what happens, since it may work with …24

[edit]
I’ll have to wait to provide full feedback
silly

VICTORY! Success, to some degree. I do get a nice long list of an actual schedule!! That more than Nuvvyo provides! Not sure about the other buttons, you admitted you haven’t checked all the features. I clicked on the buttons a couple of times, so the screen is extra full. But, yes, finally have something working on a system that’s not yours :boom::full_moon_with_face::tada::fireworks:

image

1 Like

Shows Button These my be the highlights, followed by full output

2019-08-16 20:37:09,921 [INFO ] APL Tablo .04
2019-08-16 20:37:09,922 [INFO ] Starting Processing
2019-08-16 20:37:10,834 [INFO ] Adding Tablo 'tablo' (192.168.1.11)
2019-08-16 20:37:10,834 [INFO ] Loaded 1 Tablos with 2 tuners
2019-08-16 20:37:16,252 [INFO ] Starting: tablo shows list
Exception in thread "JavaFX Application Thread" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException

Caused by: java.lang.reflect.InvocationTargetException

Caused by: org.json.JSONException: JSONObject["genres"] not found.


./apltablo
2019-08-16 20:37:09,921 [INFO ] APL Tablo .04
2019-08-16 20:37:09,922 [INFO ] Starting Processing
2019-08-16 20:37:10,834 [INFO ] Adding Tablo 'tablo' (192.168.1.11)
2019-08-16 20:37:10,834 [INFO ] Loaded 1 Tablos with 2 tuners
2019-08-16 20:37:16,252 [INFO ] Starting: tablo shows list
Exception in thread "JavaFX Application Thread" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
	at javafx.fxml/javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1787)
	at javafx.fxml/javafx.fxml.FXMLLoader$ControllerMethodEventHandler.handle(FXMLLoader.java:1670)
	at javafx.base/com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
	at javafx.base/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
	at javafx.base/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
	at javafx.base/com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
	at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
	at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
	at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
	at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
	at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
	at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
	at javafx.base/com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
	at javafx.base/com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49)
	at javafx.base/javafx.event.Event.fireEvent(Event.java:198)
	at javafx.graphics/javafx.scene.Node.fireEvent(Node.java:8879)
	at javafx.controls/javafx.scene.control.Button.fire(Button.java:200)
	at javafx.controls/com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(ButtonBehavior.java:206)
	at javafx.controls/com.sun.javafx.scene.control.inputmap.InputMap.handle(InputMap.java:274)
	at javafx.base/com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:218)
	at javafx.base/com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80)
	at javafx.base/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
	at javafx.base/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
	at javafx.base/com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
	at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
	at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
	at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
	at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
	at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
	at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
	at javafx.base/com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
	at javafx.base/com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
	at javafx.base/javafx.event.Event.fireEvent(Event.java:198)
	at javafx.graphics/javafx.scene.Scene$MouseHandler.process(Scene.java:3851)
	at javafx.graphics/javafx.scene.Scene$MouseHandler.access$1200(Scene.java:3579)
	at javafx.graphics/javafx.scene.Scene.processMouseEvent(Scene.java:1849)
	at javafx.graphics/javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2588)
	at javafx.graphics/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:397)
	at javafx.graphics/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:295)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at javafx.graphics/com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$2(GlassViewEventHandler.java:434)
	at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:390)
	at javafx.graphics/com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:433)
	at javafx.graphics/com.sun.glass.ui.View.handleMouseEvent(View.java:556)
	at javafx.graphics/com.sun.glass.ui.View.notifyMouse(View.java:942)
	at javafx.graphics/com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
	at javafx.graphics/com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$11(GtkApplication.java:277)
	at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.reflect.InvocationTargetException
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at com.sun.javafx.reflect.Trampoline.invoke(MethodUtil.java:76)
	at jdk.internal.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at javafx.base/com.sun.javafx.reflect.MethodUtil.invoke(MethodUtil.java:273)
	at javafx.fxml/com.sun.javafx.fxml.MethodHelper.invoke(MethodHelper.java:83)
	at javafx.fxml/javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1784)
	... 47 more
Caused by: org.json.JSONException: JSONObject["genres"] not found.
	at org.json.JSONObject.get(JSONObject.java:520)
	at org.json.JSONObject.getJSONArray(JSONObject.java:714)
	at com.apl.model.Show.<init>(Show.java:73)
	at com.apl.Tablo.showShows(Tablo.java:240)
	at com.apl.view.ShowsController.getShows(ShowsController.java:72)
	at com.apl.view.ShowsController.getShows(ShowsController.java:68)
	at com.apl.view.MainOverviewController.handleShows(MainOverviewController.java:39)
	... 58 more

#~–~#~–~#~–~#~–~#

Recorded button…

+ java --module-path /usr/share/openjfx/lib --add-modules javafx.controls,javafx.fxml -jar APLTablo.jar
2019-08-16 20:45:39,812 [INFO ] APL Tablo .04
2019-08-16 20:45:39,813 [INFO ] Starting Processing
2019-08-16 20:45:40,801 [INFO ] Adding Tablo 'tablo' (192.168.1.11)
2019-08-16 20:45:40,802 [INFO ] Loaded 1 Tablos with 2 tuners
2019-08-16 20:45:46,915 [INFO ] Starting: tablo recording list
Exception in thread "JavaFX Application Thread" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException

Caused by: java.lang.reflect.InvocationTargetException

Caused by: org.json.JSONException: JSONObject["comskip"] not found.


+ java --module-path /usr/share/openjfx/lib --add-modules javafx.controls,javafx.fxml -jar APLTablo.jar
2019-08-16 20:45:39,812 [INFO ] APL Tablo .04
2019-08-16 20:45:39,813 [INFO ] Starting Processing
2019-08-16 20:45:40,801 [INFO ] Adding Tablo 'tablo' (192.168.1.11)
2019-08-16 20:45:40,802 [INFO ] Loaded 1 Tablos with 2 tuners
2019-08-16 20:45:46,915 [INFO ] Starting: tablo recording list
Exception in thread "JavaFX Application Thread" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
	at javafx.fxml/javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1787)
	at javafx.fxml/javafx.fxml.FXMLLoader$ControllerMethodEventHandler.handle(FXMLLoader.java:1670)
	at javafx.base/com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
	at javafx.base/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
	at javafx.base/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
	at javafx.base/com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
	at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
	at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
	at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
	at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
	at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
	at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
	at javafx.base/com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
	at javafx.base/com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49)
	at javafx.base/javafx.event.Event.fireEvent(Event.java:198)
	at javafx.graphics/javafx.scene.Node.fireEvent(Node.java:8879)
	at javafx.controls/javafx.scene.control.Button.fire(Button.java:200)
	at javafx.controls/com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(ButtonBehavior.java:206)
	at javafx.controls/com.sun.javafx.scene.control.inputmap.InputMap.handle(InputMap.java:274)
	at javafx.base/com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:218)
	at javafx.base/com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80)
	at javafx.base/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
	at javafx.base/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
	at javafx.base/com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
	at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
	at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
	at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
	at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
	at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
	at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
	at javafx.base/com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
	at javafx.base/com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
	at javafx.base/javafx.event.Event.fireEvent(Event.java:198)
	at javafx.graphics/javafx.scene.Scene$MouseHandler.process(Scene.java:3851)
	at javafx.graphics/javafx.scene.Scene$MouseHandler.access$1200(Scene.java:3579)
	at javafx.graphics/javafx.scene.Scene.processMouseEvent(Scene.java:1849)
	at javafx.graphics/javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2588)
	at javafx.graphics/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:397)
	at javafx.graphics/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:295)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at javafx.graphics/com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$2(GlassViewEventHandler.java:434)
	at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:390)
	at javafx.graphics/com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:433)
	at javafx.graphics/com.sun.glass.ui.View.handleMouseEvent(View.java:556)
	at javafx.graphics/com.sun.glass.ui.View.notifyMouse(View.java:942)
	at javafx.graphics/com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
	at javafx.graphics/com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$11(GtkApplication.java:277)
	at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.reflect.InvocationTargetException
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at com.sun.javafx.reflect.Trampoline.invoke(MethodUtil.java:76)
	at jdk.internal.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at javafx.base/com.sun.javafx.reflect.MethodUtil.invoke(MethodUtil.java:273)
	at javafx.fxml/com.sun.javafx.fxml.MethodHelper.invoke(MethodHelper.java:83)
	at javafx.fxml/javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1784)
	... 47 more
Caused by: org.json.JSONException: JSONObject["comskip"] not found.
	at org.json.JSONObject.get(JSONObject.java:520)
	at org.json.JSONObject.getJSONObject(JSONObject.java:732)
	at com.apl.model.Recording.<init>(Recording.java:116)
	at com.apl.Tablo.showRecorded(Tablo.java:420)
	at com.apl.view.RecordingsController.getRecordings(RecordingsController.java:101)
	at com.apl.view.MainOverviewController.handleRecorded(MainOverviewController.java:59)
	... 58 more

Ok…I’ve fixed those errors as well. The biggest problem I had was that I only had my Tablos to work with, and I fixed all of the issues with JSON regularity in that and mine functions perfectly…as soon as I let it out in the wild I’ve been dealing with different configurations (remote access not defined), which is expected…but the one that’s throwing me most is the JSON differences…I understand comskip…that was a 26 thing…but genres? Why would your JSON not include that?..either way, it’s likely something to do with not running 26…no biggie.

I have put .05 out there this morning, hopefully it allows all 3 of the buttons to function :slight_smile:

:fireworks::tada::boom:
I’ve made myself take care of my household business (like it’s really a day off). Since I’m easily distracted, I’m going to have to leave that system along until later… see I can’t even not see if there’s an update.

I’ve refrained from the upgrade, I have no use for commercial skip*. I wasn’t sure how 2.2.26 would interact with the 3rd party tools I had been using (no updates, so probably no issues). Everything is working great. In a post, it had been suggested:

In the case of this release, those ‘improvements’ include tweaks required to add Tablo QUAD into the lineup, code to support manual recordings on Roku (which is in the Roku notes) and many, many other things.

So I left well enough alone. There may be no real reason not to upgrade.

*

I watch shows via a media PC, using smplayer. It has configurable keys for jump, not FF, for 1min, 30sec, 15sec. For me, a few 1minute taps to jump through commercial. As lazy as I am, it’s not exhaustive… like clicking on another show to play.

1 Like

hey…I’m not here to tell you how to run your system by any means :D…I just assumed everyone WOULD upgrade, so what was on my 26 should work on a majority of other Tablos…and honestly, based on what I read from Tablo themselves…90+% of users are upgraded, so that’s certainly a majority…but whatever your reasons are, they are legitimate to you :D. It’ll be good for my app to be able to work on older firmwares anyway, gives it more flexibility.

Break-time, ok let’s see what we’ve got now… hey that’s exactly the same - :poop: du-du head didn’t download the updated version.

Changelog tells me about v0.5 click the button and ask what I want to do with APLTablo-.04.zip …now you :poop: oversight :exploding_head: .

I just used the Scheduled button - it works! To sort through show I have scheduled to record… wow it sure is great how you order things in “calendar” order instead of episode order! Oh, you have a Scheduled Button, Tablo has a Scheduled Tab. I accept typical consumers don’t always follow logical progression, so I’ll tone done my sarcasm.

It’s a great tool for sorting what’s already come back around, or has fallen off the ‘don’t record duplicates’ list.

My bad, did everything except hit the update button, updated

1 Like

to be clear… I was running it before evening trying to download the update that wasn’t there :neutral_face:
[edit]
VICTORY! SUCCESS!

+ java --module-path /usr/share/openjfx/lib --add-modules javafx.controls,javafx.fxml -jar APLTablo.jar
2019-08-17 14:18:06,364 [INFO ] APL Tablo .05
2019-08-17 14:18:06,365 [INFO ] Starting Processing
2019-08-17 14:18:06,461 [INFO ] Retrieving list of Tablos from https://api.tablotv.com/assocserver/getipinfo/
2019-08-17 14:18:07,375 [INFO ] Adding Tablo 'tablo' (192.168.1.11)
2019-08-17 14:18:07,375 [INFO ] Loaded 1 Tablos with 2 tuners
2019-08-17 14:18:11,684 [INFO ] Starting: tablo shows list
2019-08-17 14:18:18,231 [INFO ] Starting Show DB Updates
2019-08-17 14:18:18,278 [INFO ] Finished shows list (661)
2019-08-17 14:18:44,662 [INFO ] Starting: tablo recording list
2019-08-17 14:18:45,552 [INFO ] Starting Recording DB Updates
2019-08-17 14:18:45,597 [INFO ] Finished recording list
2019-08-17 14:18:45,617 [INFO ] Starting HD data collection

I didn’t test beyond basic buttons on the initial window!! Absolutely NO error not even a warning message!

1 Like

wow cool. 149.9% used disk space :slight_smile: Is that what tablo is reporting? I tried debug mode but it didn’t provide any more info on disk capacity. Running .05.

2019-08-17 12:27:47,673 [INFO ] Starting HD data collection
2019-08-17 12:27:47,739 [INFO ] TabloTV2 80.95% of 1922GB
2019-08-17 12:27:47,795 [INFO ] TabloTV1 149.90% of 2884GB
2019-08-17 12:27:47,852 [INFO ] TabloTV0 40.76% of 1922GB

That’s being reported by the Tablo, I can certainly add more detail, but it’s pretty simple math, it’s used/total, but I can put all of the info the tablo provides in the debug in a future version

Oh, mine stops with

2019-08-17 16:40:14,659 [INFO ] Starting HD data collection

@andersonas25 you can retrieve HD info from your tablo in JSON format at (of course using your own tablo or IP) and see what it’s sending.

http://tablo.lan:8885/server/harddrives

What does the lif show the error is?