Maassoft / ColorControl

Easily change NVIDIA display settings and/or control LG TV's
GNU General Public License v3.0
829 stars 39 forks source link

WOL packet question #210

Open Amoeba00 opened 1 year ago

Amoeba00 commented 1 year ago

Using the latest version (9.1.1.0) and when the computer and TV are on the same network - I have no issues with custom processes, TV on/off, or accessing the service menus.

However, I have the TV behind a separate firewall (IOT devices) and I am able to use port forwarding to do everything except wake the TV back up. I used a different app to send the WOL packet through the firewall to the TV and it worked, so trying to figure out what's different about how the WOL packet is being sent. Is there a setting I need to adjust or enable/disable to get this to work?

Note: The port forwards on the firewall are tcp 3000-3001 and tcp/udp 9.

Any thoughts or suggestions? Thanks!

Maassoft commented 1 year ago

I don't immediately have an idea what could be causing this. What app is working in your situation? Last year when the WOL issues arose, I've looked at the source code of LGTV Companion and implemented the same algorithms in ColorControl.

Amoeba00 commented 1 year ago

OK weird update. Tried again with v9.3 and got the same results as before. CC able to run all the commands and connect through the firewall, but not turn it back on. I then connected the computer to the same switch as the TV to confirm removing the firewall out of the equation resulted in everything (including WOL) working. And it did.

Then I moved my cable back to the network outside the firewall and CC was able to turn the TV off - but this time it also turned it back on. I'm guessing something got cached on the LAN side of the IOT network and it was enough to send it back out? Time will tell if this will still work tomorrow or in a few days. Either way wanted to report it in case other folk are running into this same issue.

Amoeba00 commented 1 year ago

Yup - rebooted last night and this morning - I had to externally turn TV back on. When I tested - again, I was able to change sound mode via custom preset and it turned off via the test - but it wasn't able to turn back on.

Here are the "redacted" log files ... (apparently the custom rules are not logged, but it does work)

Log Files: ### Main Application Log: 2023-05-10 09:37:32.4929|DEBUG|ColorControl.Program|Using data path: C:\Users\\AppData\Roaming\Maassoft\ColorControl 2023-05-10 09:37:33.7899|DEBUG|ColorControl.MainForm|Initializing NVIDIA... 2023-05-10 09:37:34.7699|DEBUG|ColorControl.MainForm|Initializing NVIDIA...Done. 2023-05-10 09:37:38.0757|DEBUG|ColorControl.MainForm|PBT_POWERSETTINGCHANGE: On 2023-05-10 09:37:38.0872|DEBUG|ColorControl.Services.LG.LgService|PowerModeChanged: MonitorOn 2023-05-10 09:37:38.0872|DEBUG|ColorControl.Services.LG.LgDevice|WakeAndConnectWithRetries: attempt 1 of 10... 2023-05-10 09:37:38.0872|DEBUG|ColorControl.Services.LG.LgDevice|WakeAndConnectWithRetries: attempt 1 of 10... 2023-05-10 09:37:38.1345|DEBUG|ColorControl.Services.LG.LgDevice|WOL succeeded 2023-05-10 09:37:38.1345|DEBUG|ColorControl.Services.LG.LgDevice|WOL succeeded 2023-05-10 09:37:38.6403|DEBUG|LgTv.LgTvApi|Trying to connect with websocket uri: wss://:3001 2023-05-10 09:37:39.0926|DEBUG|ColorControl.Forms.FormUtils|Detected NotificationState change from 0 to QUNS_APP 2023-05-10 09:37:39.1133|DEBUG|ColorControl.Services.LG.LgService|Process monitor: test connection with LGTV (Firewall)... 2023-05-10 09:37:40.1613|DEBUG|ColorControl.Services.LG.LgDevice|[LGTV (Firewall)] Power state change: {"subscribed":true,"returnValue":true,"state":"Active"} 2023-05-10 09:37:40.1613|DEBUG|ColorControl.Services.LG.LgDevice|PoweredOffBy: Unknown, PoweredOffViaApp: False 2023-05-10 09:37:40.1923|DEBUG|ColorControl.Services.LG.LgDevice|[LGTV (Firewall)] PictureSettingsChanged: {"contrast":90,"backlight":100,"brightness":"50","color":"55"} 2023-05-10 09:37:40.2488|DEBUG|ColorControl.Services.LG.LgDevice|Connect succeeded: True 2023-05-10 09:37:40.2488|DEBUG|LgTv.LgTvApi|Trying to connect with websocket uri: wss://:3001 2023-05-10 09:37:40.2488|DEBUG|ColorControl.Services.LG.LgDevice|[LGTV (Firewall)] ForegroundAppChanged: {"appId":"com.webos.app.hdmi1","subscribed":true,"returnValue":true,"windowId":"","processId":""} 2023-05-10 09:37:40.3865|DEBUG|ColorControl.Services.LG.LgDevice|[LGTV (Firewall)] Power state change: {"subscribed":true,"returnValue":true,"state":"Active"} 2023-05-10 09:37:40.3865|DEBUG|ColorControl.Services.LG.LgDevice|PoweredOffBy: Unknown, PoweredOffViaApp: False 2023-05-10 09:37:40.4030|DEBUG|ColorControl.Services.LG.LgDevice|[LGTV (Firewall)] PictureSettingsChanged: {"contrast":90,"backlight":100,"brightness":"50","color":"55"} 2023-05-10 09:37:40.4030|DEBUG|ColorControl.Services.LG.LgDevice|Connect succeeded: True 2023-05-10 09:37:40.4030|DEBUG|ColorControl.Services.LG.LgDevice|[LGTV (Firewall)] ForegroundAppChanged: {"appId":"com.webos.app.hdmi1","subscribed":true,"returnValue":true,"windowId":"","processId":""} 2023-05-10 09:37:40.4331|DEBUG|ColorControl.Services.LG.LgService|Process monitor: test connection result: True 2023-05-10 09:37:40.4331|DEBUG|ColorControl.Services.LG.LgService|Process monitor: TV(s) where not connected, but connection has now been established 2023-05-10 09:37:42.4571|DEBUG|ColorControl.Forms.FormUtils|Detected NotificationState change from QUNS_APP to QUNS_ACCEPTS_NOTIFICATIONS 2023-05-10 09:38:41.7311|DEBUG|ColorControl.Services.LG.LgDevice|[LGTV (Firewall)] Power state change: {"returnValue":true,"state":"Active","processing":"Request Screen Saver"} 2023-05-10 09:38:41.7311|DEBUG|ColorControl.Services.LG.LgDevice|PoweredOffBy: Unknown, PoweredOffViaApp: False 2023-05-10 09:38:41.7732|DEBUG|ColorControl.Services.LG.LgDevice|[LGTV (Firewall)] Power state change: {"returnValue":true,"state":"Active","processing":"Screen On"} 2023-05-10 09:38:41.7732|DEBUG|ColorControl.Services.LG.LgDevice|PoweredOffBy: Unknown, PoweredOffViaApp: False 2023-05-10 09:38:41.7777|DEBUG|ColorControl.Services.LG.LgDevice|[LGTV (Firewall)] Power state change: {"returnValue":true,"state":"Active"} 2023-05-10 09:38:41.7777|DEBUG|ColorControl.Services.LG.LgDevice|PoweredOffBy: Unknown, PoweredOffViaApp: False 2023-05-10 09:39:18.7395|DEBUG|LgTv.LgTvApi|Trying to connect with websocket uri: wss://:3001 2023-05-10 09:39:18.8978|DEBUG|ColorControl.Services.LG.LgDevice|[LGTV (Firewall)] Power state change: {"subscribed":true,"returnValue":true,"state":"Active"} 2023-05-10 09:39:18.8978|DEBUG|ColorControl.Services.LG.LgDevice|PoweredOffBy: Unknown, PoweredOffViaApp: False 2023-05-10 09:39:18.9133|DEBUG|ColorControl.Services.LG.LgDevice|[LGTV (Firewall)] PictureSettingsChanged: {"contrast":90,"backlight":100,"brightness":"50","color":"55"} 2023-05-10 09:39:18.9184|DEBUG|ColorControl.Services.LG.LgDevice|[LGTV (Firewall)] ForegroundAppChanged: {"appId":"com.webos.app.hdmi1","subscribed":true,"returnValue":true,"windowId":"","processId":""} 2023-05-10 09:39:18.9501|DEBUG|ColorControl.Services.LG.LgDevice|[LGTV (Firewall)] Power state change: {"returnValue":true,"state":"Active","processing":"Request Power Off","onOff":"off","reason":"remoteKey"} 2023-05-10 09:39:18.9501|DEBUG|ColorControl.Services.LG.LgDevice|PoweredOffBy: App, PoweredOffViaApp: True 2023-05-10 09:39:18.9501|DEBUG|ColorControl.Services.LG.LgDevice|[LGTV (Firewall)] Power state change: {"returnValue":true,"state":"Active","processing":"Request Active Standby","onOff":"off","reason":"remoteKey"} 2023-05-10 09:39:18.9501|DEBUG|ColorControl.Services.LG.LgDevice|PoweredOffBy: App, PoweredOffViaApp: True 2023-05-10 09:39:19.0256|DEBUG|ColorControl.Services.LG.LgDevice|[LGTV (Firewall)] Power state change: {"returnValue":true,"state":"Active","processing":"Request Suspend","onOff":"off","reason":"remoteKey"} 2023-05-10 09:39:19.0256|DEBUG|ColorControl.Services.LG.LgDevice|PoweredOffBy: App, PoweredOffViaApp: True 2023-05-10 09:39:51.4538|ERROR|LgTv.LgTvApiCore|Connection_MessageReceived: status: ConnectionAborted, exception: One or more errors occurred. (0x80072EFE) Inner exception: 0x80072EFE at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions) at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken) at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout) at LgTv.LgTvApiCore.Connection_MessageReceived(MessageWebSocket sender, MessageWebSocketMessageReceivedEventArgs args) in C:\Users\vinni\source\repos\ColorControl\ColorControl\LgTv\LgTvConnection.cs:line 196 2023-05-10 09:39:51.5278|ERROR|LgTv.LgTvApiCore|Connection_MessageReceived: status: ConnectionAborted, exception: One or more errors occurred. (0x80072EFE) Inner exception: 0x80072EFE at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions) at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken) at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout) at LgTv.LgTvApiCore.Connection_MessageReceived(MessageWebSocket sender, MessageWebSocketMessageReceivedEventArgs args) in C:\Users\vinni\source\repos\ColorControl\ColorControl\LgTv\LgTvConnection.cs:line 196 2023-05-10 09:41:00.7041|DEBUG|ColorControl.Services.LG.LgService|Process monitor: test connection with LGTV (Firewall)... 2023-05-10 09:41:00.7041|DEBUG|LgTv.LgTvApi|Trying to connect with websocket uri: wss://:3001 2023-05-10 09:41:01.5603|DEBUG|ColorControl.Services.LG.LgDevice|[LGTV (Firewall)] Power state change: {"subscribed":true,"returnValue":true,"state":"Active"} 2023-05-10 09:41:01.5603|DEBUG|ColorControl.Services.LG.LgDevice|PoweredOffBy: Unknown, PoweredOffViaApp: False 2023-05-10 09:41:01.5936|DEBUG|ColorControl.Services.LG.LgDevice|[LGTV (Firewall)] PictureSettingsChanged: {"contrast":90,"backlight":100,"brightness":"50","color":"55"} 2023-05-10 09:41:01.5936|DEBUG|ColorControl.Services.LG.LgDevice|[LGTV (Firewall)] ForegroundAppChanged: {"appId":"com.webos.app.hdmi1","subscribed":true,"returnValue":true,"windowId":"","processId":""} 2023-05-10 09:41:01.6172|DEBUG|ColorControl.Services.LG.LgService|Process monitor: test connection result: True 2023-05-10 09:41:01.6172|DEBUG|ColorControl.Services.LG.LgService|Process monitor: TV(s) where not connected, but connection has now been established 2023-05-10 09:42:04.0938|DEBUG|ColorControl.Services.LG.LgDevice|[LGTV (Firewall)] Power state change: {"returnValue":true,"state":"Active","processing":"Request Screen Saver"} 2023-05-10 09:42:04.0938|DEBUG|ColorControl.Services.LG.LgDevice|PoweredOffBy: Unknown, PoweredOffViaApp: False 2023-05-10 09:42:04.1342|DEBUG|ColorControl.Services.LG.LgDevice|[LGTV (Firewall)] Power state change: {"returnValue":true,"state":"Active","processing":"Screen On"} 2023-05-10 09:42:04.1342|DEBUG|ColorControl.Services.LG.LgDevice|PoweredOffBy: Unknown, PoweredOffViaApp: False 2023-05-10 09:42:04.1388|DEBUG|ColorControl.Services.LG.LgDevice|[LGTV (Firewall)] Power state change: {"returnValue":true,"state":"Active"} 2023-05-10 09:42:04.1388|DEBUG|ColorControl.Services.LG.LgDevice|PoweredOffBy: Unknown, PoweredOffViaApp: False ### Service Log: 2023-05-10 09:37:38.1074|DEBUG|ColorControl.Common.WOL|Sending WOL packet to MAC-address 2023-05-10 09:37:38.1074|DEBUG|ColorControl.Common.WOL|Found network: Ethernet (Realtek PCIe GbE Family Controller), type: Ethernet 2023-05-10 09:37:38.1074|DEBUG|ColorControl.Common.WOL|Broadcast WOL in network: Ethernet (Realtek PCIe GbE Family Controller), local address: , destination IP-address: 2023-05-10 09:37:38.1224|DEBUG|ColorControl.Svc.ColorControlBackgroundService|WAITING FOR MESSAGE... 2023-05-10 09:37:38.1224|DEBUG|ColorControl.Common.WOL|Sending WOL packet to MAC-address 2023-05-10 09:37:38.1224|DEBUG|ColorControl.Common.WOL|Found network: Ethernet (Realtek PCIe GbE Family Controller), type: Ethernet 2023-05-10 09:37:38.1224|DEBUG|ColorControl.Common.WOL|Broadcast WOL in network: Ethernet (Realtek PCIe GbE Family Controller), local address: , destination IP-address: 2023-05-10 09:37:38.1224|DEBUG|ColorControl.Svc.ColorControlBackgroundService|WAITING FOR MESSAGE... 2023-05-10 09:37:47.5816|DEBUG|ColorControl.Svc.ColorControlBackgroundService|WAITING FOR MESSAGE... 2023-05-10 09:39:08.2046|DEBUG|ColorControl.Svc.ColorControlBackgroundService|WAITING FOR MESSAGE... 2023-05-10 09:39:17.5252|DEBUG|ColorControl.Svc.ColorControlBackgroundService|WAITING FOR MESSAGE... 2023-05-10 09:39:18.9863|DEBUG|ColorControl.Svc.ColorControlBackgroundService|WAITING FOR MESSAGE... 2023-05-10 09:39:27.1926|DEBUG|ColorControl.Common.WOL|Sending WOL packet to MAC-address 2023-05-10 09:39:27.1926|DEBUG|ColorControl.Common.WOL|Found network: Ethernet (Realtek PCIe GbE Family Controller), type: Ethernet 2023-05-10 09:39:27.1926|DEBUG|ColorControl.Common.WOL|Broadcast WOL in network: Ethernet (Realtek PCIe GbE Family Controller), local address: , destination IP-address: 2023-05-10 09:39:27.1987|DEBUG|ColorControl.Svc.ColorControlBackgroundService|WAITING FOR MESSAGE... 2023-05-10 09:40:59.9704|DEBUG|ColorControl.Svc.ColorControlBackgroundService|WAITING FOR MESSAGE...