I just found openHAB and I would like to integrate a modded Wii U with it as part of my “make Wii U work with (home hub/automation tool)” project I started around September 2024. I won’t go into the specific details of how it works, but basically it is a local HTTP server that runs on the console.
Reading the documentation, it lists all the concepts and it says to first think about what to achieve and to discuss it here. So, here I am. While I imagine this is a doable with a lot of manual HTTP requests setup, I think it would be a lot, so I feel that it would be best (and more fun) to make a binding.
Information/things you can do include:
Get system information (device id, serial information, no shocker here).
Get current running application/game
Switch current running application/game (Wii U/Cafe OS titles only at the moment)
Request to power off, restart the console, open a game’s electronic manual (if there is one)
Send a remote input (simulate an “A” button pressed on the GamePad)
Launch vWii Menu and vWii Data Management
Now, because this requires the console to be modded, and there are some technical limitations, I’m not expecting this to be an official openHAB add-on. But before I even make something, I just want to make sure my idea of a Binding is appropriate.
Depending on the API being called, it might be less than you think with the HTTP binding.
That’s not to say a separate binding isn’t worth doing, but using the HTTP binding could be a quick way to prototype and prove it out.
The advantage to a separate binding is your Wii U could probably be auto discovered and even if it isn’t, creating the Thing would be dead simple. You’d also learn how to write an OH add-on which may encourage you to write some more which improves the community overall.
On-the-other-hand, if you are just making this for yourself and don’t plan on posting it, the HTTP binding, perhaps with some simple rules and the sendHttpXRequest Actions, would probably be the fastest way to get to something that works. Sharing the solution with the community will not be as good though, but it won’t be awful. From what you describe the HTTP binding should work.
The hard work is figuring out the HTTP calls to make and how to parse out the data from the results. You have to do that anyway and even if someone were to just copy the HTTP Thing configuration they’d really only need to change the main URL of the Thing to work for them so it’s not a huge copy/paste/edit exercise.
Yet a third option would be to use jRuby or HABApp, both of which have good support for HTTP calls. But at that point you might just write up a separate server and post everything using MQTT. Then it’ll work with OH, Node Red, HomeAssistant, etc. There’s a plethora of X2mqtt services out there.
Currently it would be detecting by MAC address and checking port 8572, but I actually am considering making a SSDP or MQTT module for auto discovery and general other communication purposes. As you mentioned, it would make it work for lots of other things.
Although it is quite a niche thing, I do plan to make this so others can use it if they wish for their setup.
I know what they are, because I made them (but yes, parsing the results into openHAB is important, and while currently the method on the console is HTTP I am certainly interested in other protocols too)
Awesome.
I know that as you said, MQTT would work with everything. But for me, IoT is a relatively new area of interest I’ve found, so I want to explore everything - even if it’s a bit silly. Homebridge and HA already have working or WIP integrations, openHAB would probably be the last thing there is that is free for me to look at and play with.