This is the forum archive of Homey. For more information about Homey, visit the Official Homey website.
The Homey Community has been moved to https://community.athom.com.
This forum is now read-only for archive purposes.
The Homey Community has been moved to https://community.athom.com.
This forum is now read-only for archive purposes.
Official CommunityApp
Comments
this seems to work though: https://www.samygo.tv/
Not enough to create a Homey app though..
Which basically involves the following (with 'technical' details):
* Create a new UPNP based pairing procedure so the paths to the resources for switching channels/sources, getting channels and getting details about the tv can be determined dynamically. This will probably add support for more models (no guarantees of course ) and removes the need to enter an IP address. At least for the F and D series this will work. So far I'm not satisfied with the UPNP device discovery (it sometimes doesn't find my tv), help is welcome here .
* Fixing a bug that causes the app to crash, which should simply be fixed with adding a try catch block in `samsung-tv-sources.js`. (TypeError: Cannot read property '0' of undefined at /samsung-tv-sources.js:74:108)
In case anyone would like to contribute to these two steps, PRs are welcome of course (and I'm also available for discussing potential solutions first, if you want to). Regardless, I hope to get to work on this myself asap as well, but haven't had many 'quiet moments' the past few months .
Why can you only execute volume up/down and channel up/down for example? I would expect in this day and age I should be able to send requests with a repeatable and reliable outcome, like "volume 17" and "channel 33". An API client is not going to know the current positions of any of these values, is it? So how would you make sure that this is the volume and channel after an API call? Do a volume down 200x and then 17x up, just to make sure it hits 0 first?
Or am I just interpreting the readme wrong on andrei10k's github? Am I being unreasonable of what an API should support?
There might be possibilities to do this with UPnP 'commands' (see page 65 of https://www.informatik.tu-darmstadt.de/fileadmin/user_upload/Group_SIT/Publications/Thesis/jmuller_msc_final.pdf for instance). But they are all poorly (or not at all) documented, so there's a lot of trial and error needed to get that to work (if it works at all). For instance switching sources works like that at the moment.
(TypeError: Cannot read property '0' of undefined at /samsung-tv-sources.js:74:108)
Try this patched version:
https://github.com/jtebbens/homey-samsung-smart-tv
Normally it would crash within a few hours but its stable for 24 hours now. So yeah try it in the mean time.
Also in the newest version
- Fix for failing retrieval of sources (usually when tv is off)
- Improved stability in initialisation of devices (in case you're tv crashed (i.e. rebooted) when pairing or when restarting the app, that should be fixed now)
- Conversion to ES6 / some refactoring in the code base
D series not compatible