-
-
Save cmer/bd40d9da0055d257c5aab2e0143ee17b to your computer and use it in GitHub Desktop.
-- ------------------------------------------------------------------- | |
-- THIS SCRIPT IS NOW DEPRECATED IN FAVOR OF A MORE ROBUST SOLUTION -- | |
-- Please refer to https://github.com/cmer/lg-tv-control-macos/ | |
-- ------------------------------------------------------------------- | |
local tv_identifier = "LG TV" | |
local mac_address = "aa:bb:cc:dd:ee:ff" | |
local tv_found = (hs.screen.find(tv_identifier) ~= nil) | |
local debug = false -- Set to true to enable debug messages | |
if debug then | |
print("List of all screens: " .. hs.inspect(hs.screen.allScreens())) | |
if tv_found then print("TV with identifier '"..tv_identifier.."' was detected.") end | |
end | |
watcher = hs.caffeinate.watcher.new(function(eventType) | |
if (eventType == hs.caffeinate.watcher.screensDidWake or | |
eventType == hs.caffeinate.watcher.systemDidWake or | |
eventType == hs.caffeinate.watcher.screensDidUnlock) and tv_found then | |
if debug then print("TV was turned on.") end | |
hs.execute("/opt/homebrew/bin/wakeonlan "..mac_address) | |
end | |
end) | |
watcher:start() |
@jmart987 have you seen the latest repo here? https://github.com/cmer/lg-tv-control-macos
hope that helps!
Appreciate that, I'm not sure if I had the latest repo. But how do I install lgtvcontrol from this?
Do I just put this in terminal after installing hammer spoon and brew?
mkdir -p ~/opt
python -m venv ~/opt/lgtv
cd ~/opt/lgtv
source bin/activate
pip install git+https://github.com/klattimer/LGWebOSRemote
When I do that nothing really happens. I get a zsh: command not found
@jmart987 try it one line at a time instead of copying and pasting the whole thing.
@jmart987 have you seen the latest repo here? https://github.com/cmer/lg-tv-control-macos
hope that helps!
Works great! If you want to change inputs by using keyboard events/taps you could also add this in the .lua
file ( I have this line at the top ) :
local control_inputs = true -- Switch inputs by events from keyboard
And then add this :
event = hs.eventtap.new({hs.eventtap.event.types.keyDown, hs.eventtap.event.types.systemDefined}, function(event)
local type = event:getType()
if type == hs.eventtap.event.types.keyDown then
local keyCode = hs.keycodes.map[event:getKeyCode()]
if keyCode == "f1" then
exec_command("setInput HDMI_1")
elseif keyCode == "f2" then
exec_command("setInput HDMI_2")
elseif keyCode == "f3" then
exec_command("setInput HDMI_3")
elseif keyCode == "f4" then
exec_command("setInput HDMI_4")
end
end
end)
if control_inputs then
event:start()
end
If you want other keys and not f1,2,3,4, just replace the strings with desired keys.
@jmart987 have you seen the latest repo here? https://github.com/cmer/lg-tv-control-macos
hope that helps!