ScriptPlayer send commands to an API server, which in turn sends commands to the Handy. When the API server doesn’t get a response from your Handy within a certain timespan, it assumes the device is disconnected and instead of the devices response, it sends a “Machine Timeout” back to ScriptPlayer.
Where is it happening
Since ScriptPlayer receives a response from the API server, we can assume that the connection between ScriptPlayer and the server is working. Somewhere between the Handy and the API server, commands are lost. That can be caused by a weak WiFi signal, an unstable internet connection (unlikely, since ScriptPlayer can still communicate with the server), a server problem (or maintenance), hardware problems, etc…
What can you do
Not a lot to actively solve this I’m afraid.
Take note of when this is happening, what color(s) the status LED is when it happens, how long it takes to reconnect the device and anything else of notice. Maybe the Handy support can help you if this persists.
Theres a good chance the power plug is simply getting loose due to its straight out design
You can likely replicate the error by unplugging/loosening the power connection, while a script is playing and if that seems to be the problem, then maybe apply a little duct tape to secure it may help for a quick solution
@rabid_fiend, i have a possible solution if you care to do some extra setup. I also found machine timeouts occuring with handy api and it was annoying at times, also some really long scripts wouldnt load at all. So installed handycontrol and started its own handy server, this means your PC can do whatever the handy servers are doing, so instead of sending it to them, you just send it over your local network, i find scripts load faster and never have timeouts this way. Scriptplayer can be pointed at a local IP address instead of using your handykey to go through handys servers.
Its some extra setup, and im a software engineer so these kinds of things are straightforward to me, and really i only did it because i couldnt get those really long scripts to load ever, but now that i have it setup its a nice quality of life improvement.
I’ll check into that, thanks. I’ve got a techy background and should be able to figure it out when I get time. I also can’t rule out the idea that I simply didn’t plug it in tightly enough and there may have been a loose connection.
Good to hear, and thanks for reporting back! - We’ve been trying to encourage them to use an L-shape plug at least to reduce tension in its current form - maybe they can improve that one day
Sorry for the stupid question but i got the same problem expecially with large funscript files like 600k or so. how can I set Handycontrol to play the scripts in local?
600k is not a problem for HandyFeeling or local script host. You can change this in the connection settings of HandyControl.
But it’s still using the API server for the commands. I would be surprised if ScriptPlayer or any other app can skip the API server without using bluetooth. The Handy team stated that the API will never be public so you have to use the server to send commands to Handy. Script hosting can be local which result in faster loading times and thats all whats different.
I’m reading it just now. still got the same problem PrincessAllie.funscript (694.1 KB) This the file and when i Try to upload it to handy i got this: Script Prepare - Error - Machine timeout .
UPDATE
It works!!! I did it trough Handyfeeling just increracing the Timeout time from 30 to 50.
I tried to set the local host too, it seems to work, but when i try to upload the script i get this message: “Script prepare - error - failed to download script”
The script has too much timestamps for Handy! This seems to be the raw data which will not work on Handy. It’s loading but handy is stuttering very very bad!
You can skip the API at handy entirely and replicate it with handycontrol, handycontrol will run its own api server locally on your PC, then you direct scriptplayer to that via the local settings, you have to make sure there is visibility across your network, but this will resolve any issue with large files, as I had the same (also scripts load faster).
Heres a post where i talk about it and have some settings
I have already told you that no app can run a local API since SweetTech is not sharing it. HandyControl just creates a script host. Thats something totaly different.
eh whatever, mistake in terminology, the point is, regardless of what is getting changed, going through handycontrol as a local host resolves the issue I and others have experienced with especially large funscripts, which is really what @Princeslave was trying to do.
True. i just rescript it with less Timestamp. and now it works proprely maybe i have to slow down a bit more cause the heatmap going almost Black. Anyway thanks so much for the support.
Apologies if I should ask this somewhere else or post as a new topic, but it seems like this is relavent to the discussion.
I can neither get Scriptplayer nor HandyControl to work as a local host. I’m running Windows 10. I have created a new incoming rule for opening port 80 in Windows Defender Firewall. My network settings are set to Private. My connection key is correct. I’m also running both apps as Administrator.
With Scriptplayer I set the port for 80, and it says that my Handy is connected. When I open a video it says that both video and it’s script with the same name are loaded. It plays the video, but no movement from the Handy. I also tried setting the host to handyfeeling but it still did the same thing of playing the video but apparently not the script. I have tried this with multiple videos and scripts.
With HandyControl, I’ve read the manual and set my settings as directed. When I set the host to “Handyfeeling” everything works, but of course the optimal way of using the program is with local host. When I set it to “local script host” and click the “register script host” button next to the drop down menu, there’s a quick flash of what may be a terminal window before it closes and I get this message “HandyControl Script Host: Registration aborted or not possible.” When I select a script, it says “script loaded” and lists the matching file. Then when I hit “upload script the the handy” it says “You must register the URL before you can use the script host.” I have also tried this with multiple scripts.
Any help on these issues is greatly appreciated.
UPDATE: I got Scriptplayer to work as a local host. I’m not sure what I was doing wrong. Maybe I was just loading my script wrong when I went from handyfeeling to local host.
I’m still having difficulty with HandyControl. I will post my problem over at HandyControl 1.2.3 (28.11.2021) - Added Support for Pyro (Remote Control).