Sofabaton X1S

So after many months (well, years really) following along on the death of Harmony and as I’m watching my remote slowly disintegrate, and expecting that someday announcement that the servers are finally going to go dark… I picked up a Sofabaton X1s with a stacked discount prime day plus. I had also been following Sofabaton over this time, and the many reviews, post etc.
Full disclosure that I don’t have a harmony hub, just the remote, so I don’t have the integrations that some of you have in place… and I cut the cord a long time ago, so I really don’t need a full numeric keyboard on my remote to enter 3-4 digit channel numbers anymore.
..and we were living with two remotes for a while anyway (the harmony… plus a roku (as noted no hub and rokus are no-ir).
And so I took a nice slow and long time in getting it all setup… and I can see many of the original major s/w issues have been addressed. Yes, there were some quirks and special cases and behaviors to get right… but aside from all the lore and gnashing of days gone by and Harmony Salad Days, the Harmony had its share of those too. Once you get past that state, with your workarounds/procedures or whatever, its set and forget. I’m finding the remote pretty reliable and working nicely.

The build quality seems very good, and after lots of testing and tweaks, its surviving the family member testing very well. After about 6 weeks of use (post all my setup and tweaks) , I can’t really fault anything major.
Still missing for many of you (and me) would be the local API. They have a web API that is unsecured and plus, it’s a web api ,so that’s a no go for me… so I know that breaks a lot of integration possibilities for you this community.
I see on the home assistant side of things they have managed a integration of Sofabaton with an ‘emulated Roku’, which basically emulates the Roku side of the control interface, so they can hook integrations in that way. I suppose something similar would be possible here too.

But I’d say overall its worth a look again, IMHO.

1 Like

I looked at a SofaBaton pretty recently and as far as I could tell, it was a universal remote but it did not seem to do the "activities" like Harmony can. Like, when you want to watch TV, the Harmony turns on the TV, sets it to the right input, turns on the stereo, sets it to the right input, etc etc.

With the SofaBaton, you're doing all the button presses yourself, right? It has no state tracking? Or do I misunderstand the product? (Which would be great news.)

The X1S supports all activities... and it also supports 'device' mode for sending manual commands here and there (just like Harmony).

One item that is notably missing that people complain about is the 'help' button (no help function on X1S)... however, 90% of the time the help button just re-sent the activities startup sequence.

And X1S supports the notion of 'short press' and 'long press' key actions... So for every activity, I programmed the activities startup sequence to the long press of the home button. But I've needed the help function far less since line of sight is no longer an issue (holding the remote towards the devices) since its all bluetooth to the hub. (also true for harmony hub users, I know. but just restating since I didnt have a harmony hub).

Fascinating, thank you.

Unless and until they offer a completely local option, this seems like trading the known leaky/slowly sinking Harmony boat for a likely leaky/doomed Sofabaton boat. :wink:

I just don't have a ton of optimism that Sofabaton will be around for the long-term. Just a very hard space to make money in, and we've all been hurt before, many times, as cloud systems have been retired and users abandoned. We know Harmony will disappear at some point, but I don't find a compelling reason to leave it (especially not for another cloud service) until I get a "Bye-bye" from Harmony. Just my opinion... :slight_smile: (I'm a Harmony Hub user FWIW.)

5 Likes

Yeah, I totally get your point of view as well. Actually, I came from a very long run of local only...semi homegrown solution (Applied Digital) with local recording storing/saving of IR libraries..and automation based on Ladder Logic and X1. But then even they gave up the ghost, so you're left with a local library thats hard to maintain with antique tools, some of which I wrote myself...

For me, I wasn't into buying some leftover Harmony hardware to stay in the same sinking ship.

This could be a fickle sinking boat as well... but its a refresh on hardware, and it wasn't that huge of an investment. If it does sink, should at least be able to bail water on it for longer.

1 Like

Thanks for posting. I'm with @danabw - not going to invest in anything that is not local if I can figure out any other way to accomplish what I need.

I'm in a similar, but worse boat, as the people who have a Harmony with a hub. I have the Monster AVL300, which is a rebranded Harmony 895; that is the version without an internet hub, but with zwave capability. Although Harmony still has the servers open for the Harmony branded equipment, they shut them down for the Monster equipment, so I am left with an expensive useless brick. It has soured me on Logitec because this just seems vindictive. I can use my Monster logon to log onto the Harmony website to see all my existing settings and to update them, but the Harmony software won't connect to my Monster remote and the Monster software won't connect to the Harmony website so I can't actually update the settings on my remote...Quite disappointing.

1 Like

Yup, I have feelings about this. They worked okay and showed a lot of promise, but the Echo voice integration never worked quite right. I used maybe one button on the 950 for the living room. I did all sorts of magic with SharpTools and the API by Maddox with fancy dashboards (and spent endless hours coming up with better ideas). But in the end, much like with SmartThings, the juice just wasn't worth the squeeze.

I did purchase a Sofabaton X1S and have been experimenting with Home Assistant to see what's possible. However, I ultimately simplified my home entertainment setup by using HDMI-ARC, moving away from the dreaded cable boxes to YouTube TV, and learning to like the Apple TV remote. The good news is the WAF has gone up with fewer things that can break, thanks to keeping it simple.

1 Like

Whereas the day they announced the end of the Harmony line I bought two low end models and stashed them. Both have since been put into service and I'll ride 'em all the way to the bitter end.

Hopefully the Harmony database will eventually be sold and a similar product will arise again... with local programming. :crossed_fingers:

2 Likes

Yeah, the world can hope, but I personally think the odds of this happening are slim to none. Companies rarely do that in these circumstances.. and their legal departments typically frown upon it for a variety of reasons.

But we shall see.

I loved and used my Harmony remotes until they no longer functioned. Had to drag out five (5) device remotes and start using them. Couldn't stand it so I purchased and just received the Sofabaton X1S this morning. Took me a few hours to get it programmed pretty much like my Harmony was. I do not have and do not want any integration with my HE.

To be honest, I wasn't expecting much. But I have to say I'm pretty impressed. Here are some thoughts so far:

  • Hardware. The hardware quality seems pretty good. Time will tell.
  • Phone App. The phone app (using iPhone) does not have a particularly pretty UI, but it does seem to work OK. After you set up the "Hub", you start adding Devices and then Activities. You can use the app on your phone as a remote to control everything if you desire. After you have things the way you want them, you "sync" your phone to the Remote.
  • Devices. The list of (Sofabaton) supported "Devices" was shorter than I expected. But, after you can't find your particular device on the drop-down List, you can do a search on your particular device Model Number, and you may find User Developed devices. Only 2 of my 5 devices were directly supported by Sofabaton. 2 more devices had User Developed devices, and for 1 really obscure Toslink splitter and controller, I just used the existing device remote to learn the commands and create an entirely new device in the software. I actually spent more time trying to find the model number of my TV than I did adding the 5 devices.
  • Activities. Adding "Activities" was simple, and it took only a few minutes to create 3 of them. Similar process to Harmony where you select from your Devices. Created Activities for Watch TV (antenna), Watch Streaming (Roku), and Watch DVD.
  • Programming. As I was programming the new remote, I kept thinking this thing isn't gonna be able to handle some of the complexities of my needs. And at first it didn't. But as I kept learning more and more about what it can do, and building and rebuilding the Devices and Activies, in the end I was able to do pretty much anything my Harmony could do.
  • Bugs. I came across only one bug/problem in the whole process. When creating Activities you can have additional Commands for that Activity displayed on the screen. I had a small problem and could not get it to properly display the commands I wanted. I ended up deleting the Activity and re-creating it, and that solved the problem.
  • Wish List. So far the only thing I am really missing/wanting is a charging cradle for the remote. They made one for the previous model, but don't make one for the X1S.
1 Like

Dean,

Thanks for taking the time to comment. I'm pretty much in agreement with your assessment.

As for the "this thing isnt gonna be able to handle..", I think thats a direct corollary to the Harmony. We figured all those things out on that platform... and for here, too.

Im not discounting any of the hesitant comments, prior burns etc. from the esteemed posters here. But still, the remote is working well in the family group; that includes people with less broader technical skills who used the harmony. No complaints from them to date; no "I want the old reote back.. no I can't figure this out". Mostly just "works the same way."

Any good way to use the Apple TV remote to turn on/off some lights? That’s really the only reason I need my Harmony remotes anymore.

This will take this topic completely off track, but I have two solutions in the works. Both are very bespoke to the equipment I use. Both use the Apple TV remote volume buttons to actuate and are flawless in operation.

I have a Bose SoundTouch 600 that has a very fast WebSocket connection for volume changes directly into Hubitat. It is connected to my primary system with an AppleTV 4K and a Samsung QN65S95C via HDMI-ARC.

The other solution is a Samsung QN43QN90 with an AppleTV 4K that uses IR from the Apple remote. In this case, the TV is on Home Assistant, which again has a very fast WebSocket connection. I marshal the volume changes back to Hubitat.

In Hubitat, I then pattern match "+-+-", "-+-+", "++--", "--++" within a 1-second duration and issue button push commands (then use webCoRE to watch and operate switches).

Here is the code from the SoundTouch 600:

def push(buttonNumber=null, String descriptionText=null) {
    if(buttonNumber==null) {
        // these are rapid volume control keys that can be used for automation
        if(state?.pattern == "++--") push(1, "${device.displayName} volume matched '${state.pattern}' and pushed button 1")
        if(state?.pattern == "--++") push(2, "${device.displayName} volume matched '${state.pattern}' and pushed button 2")
        if(state?.pattern == "+-+-") push(3, "${device.displayName} volume matched '${state.pattern}' and pushed button 3")
        if(state?.pattern == "-+-+") push(4, "${device.displayName} volume matched '${state.pattern}' and pushed button 4")
        state.remove('pattern')
    } else {
        sendEvent(name: "pushed", value: buttonNumber, isStateChange: true, descriptionText: (descriptionText ?: "${device.displayName} pushed button $buttonNumber"))
        if(descriptionText) logInfo descriptionText
    }
}
5 Likes

Took the plunge on the X1S. After years of having my old Logitech harmony in a box I dug it out recently (knowing it is on borrowed time) as I just setup a home theater room and the Apple TV isn’t cutting it quite for all my devices hooked up.

Well the harmony failed after a bit and required a factory reset. Did that once, eventually got into the same weird error state so I threw in the towel on it.

Agree with a post above about SofaBaton may well be another sinking ship but I was done with trying to make the sinking ship already in progress work for me and try this.

One thing I’d like to setup is the ability to control devices on my Hubitat from a remote activity. Doesn’t seem to be much of a built in way, but I noticed home assistant folks are using an emulated Roku endpoint to map commands from SofaBaton to home assistant actions. It would be nice to do the same here. Does anything like this exist elsewhere for Hubitat that could be a starting point? I’m short on experience with groovy and my inclination is to write something in c# and throw it in docker in my NAS to bridge an emulated Roku endpoint with invoking things in the Hubitat maker api. That’s a bit of a hack though and it would be much nicer to have something directly in Hubitat.

Thoughts?

redth,

Yes, that's basically what I mentioned in the thread start.

An emulated roku device would do the job; requires someone to implement a device driver here for it. I haven't had a look at the roku interface (roku developer site has the details ) to see how much lifting is involved. And I haven't (yet) taken on a driver here.

I do have various processes using the maker api to update hubitat, that part is pretty straightforward.

Yeah, here's the python that home assistant plugin is using: emulated_roku/emulated_roku/init.py at master · martonperei/emulated_roku (github.com)

It looks like they use SSDP for discovery and then it's just a simple http based protocol for receiving commands.
https://sdkdocs-archive.roku.com/External-Control-API_1611563.html

I'm not very clear on apps/drivers for hubitat, but can we even write something that listens to UDP multicast messages? This might be a hurdle for properly implementing this. Not sure if SSDP is exactly required, it probably depends on the integration and if the integration allows you to bypass the discovery protocol usage and explicitly specify the endpoint instead. I'm not seeing in the SofaBaton app, a way to manually specify an address though.

In the meantime I may play around with my docker idea and just create a simple service that handles the Roku emulation and can act as a proxy to the maker API, or perhaps even try and create a simple app (or maybe driver is better suited here?) to receive commands from that.

Well, their driver is python based; from quick glance it looks like all available pip modules.
If you sanitize out the home assistant hooks (if there are any), for their app /interface whatever, the python script can be setup as a service on NAS or any linux pc or raspi.