nicoduj / homebridge-harmony

Harmony websocket plugin for homebridge
The Unlicense
211 stars 22 forks source link

"Error - No function list found for <device>" for several devices #435

Open CappyD opened 6 months ago

CappyD commented 6 months ago

After being out of town for about 3 weeks, I found that many messages as above in the Homebridge log for my devices (Arris DVR, Sony AV receiver, Vizio TV, and TCL TV). So, no changes were made. After seeing these messages, I updated the Harmony plugin (from 1.6.2 to 1.6.3) and restarted Homebridge with no change. Other messages from the plugin look fine (Creating Input Service, Discovered Activity), so some of the desired Home buttons/Homebridge accessories are created and work, but not any of the commands I entered in the Config in "devicesToPublishAsAccessoriesSwitch". In the log, immediately after "Loading devices..." I get the problem messages. For example:

... INFO - Discovered Device : Arris DVR ... Error - No function list found for Arris DVR

Is there possibly a problem with the plugin reading the Harmony database of device commands?

I'm running iOS 17.2.1 on iPhone 12 Mini (probably irrelevant). Homebridge is and has been running on a Late 2012 Mac mini under macOS Catalina.

My Config for the plugin (name and IP changed with "x"): "name": "xxxhub", "hubIP": "x.x.x.x", "hubName": "xxxhub", "DELAY_BEFORE_RETRY_AFTER_NETWORK_LOSS": 60000, "HUB_CONNECT_TIMEOUT": 10000, "HUB_SEND_TIMEOUT": 30000, "cleanCache": false, "TVAccessory": true, "sortInput": 0, "numberOfCommandsSentForVolumeControl": 10, "switchAccessories": true, "showTurnOffActivity": "stateless", "publishGeneralMuteSwitch": true, "publishGeneralVolumeSwitches": true, "publishSwitchActivitiesAsIndividualAccessories": true, "devicesToPublishAsAccessoriesSwitch": [ "Arris DVR|Program Guide;Guide", "Arris DVR|DVR List;List", "Arris DVR|Swap Channel;PrevChannel", "Arris DVR|Close Caption;Yellow;Number1", "Arris DVR|TV Pause;Pause/Play", "Arris DVR|CNN;Number2;Number0;Number1", "Arris DVR|BBC;Number2;Number0;Number9", "Arris DVR|Tennis;Number4;Number0;Number6", "Arris DVR|Day Up;DayUp", "Arris DVR|Day Down;DayDown", "Sony AV Receiver|Tuner;InputFm/InputDVD", "Sony AV Receiver|IRadio;InputDVD", "Sony AV Receiver|Cable;InputSat/InputDVD", "Vizio TV|TV 2;/", "TCL TV|Mute 1;Mute", "Vizio TV|Mute 2;Mute" ], "showCommandsAtStartup": false, "otherPlatforms": [ { "TVAccessory": false, "sortInput": 0 } ], "platform": "HarmonyHubWebSocket" },

nicoduj commented 6 months ago

Hi, th e plugin does not read the harmony database, but the conf stored in your hub. Can you check that the conf is still ok on harmony app, or print in debug the list of commands in the plugin ?

CappyD commented 6 months ago

Thanks Nicolas. Interesting. Well, when I set showCommandsAtStartup to true and restart, I don't see a list of commands in the log as I've been able to see before. But if I look in the Harmony app on my phone, all looks correct - all of the devices are there and the usual commands it provides are there too - I'm assuming that is what you mean by the "conf stored in your hub". I will note that I have not updated Homebridge and node themselves for some time (and certainly not between when this all worked recently and now). I am running 1.4.0 of Homebridge and 16.14.2 of node.js. But since all worked with those releases 3 weeks ago, it seems like that would not be the cause.

nicoduj commented 6 months ago

Ok, could you provide a full log ? (in debug mode if possible) ?

CappyD commented 6 months ago

Ok.. haven't done debug before - is that the switch in Homebridge Settings that says it sets -d ? I assume that the "full log" you need is everything shown in the Homebridge log from the time of restart, yes?

CappyD commented 6 months ago

I assumed my thoughts above are correct and saved a log with debug on (showCommandsAtStartup still set to true) and attached it. Thanks for your help. HomebridgeDebugLog.txt

CappyD commented 6 months ago

Do you have what you need? Any ideas yet on the problem?

nicoduj commented 5 months ago

Hi, you hub config does not return any commands, "controlGroup": [] is empty for all your devices. Did you try to sync your hub once again through Harmony app ? Have no clue of why, but the conf is empty ...

CappyD commented 5 months ago

It looks like my hub was developing some sort of problem when I opened this issue. Because in the last couple of days the light on the hub changed to solid red indicating it is offline even though my router says it is connected and the Harmony app still says it is connected to the hub and shows all of the Activities and Devices as usual but don't work. Very confusing. If you have any ideas I'd be happy to hear.

I have since tried updating node and homebridge to latest releases but your plugin resulted in homebridge going into a start/shutdown loop. I've downgraded to node 18.18.0 and disabled your plugin so that my other plugins can still operate. If possible, it would be good if you could update the plugin so that it can gracefully fail and not cause that loop.

Bgoshua commented 5 months ago

Found this thread while troubleshooting this exact issue today and figured I'd share what fixed it for me. FWIW even tho I had my ip set, it had changed somehow and changing it to the correct ip still resulted in the situation listed by op. I rebooted my harmony hub, removed the device from HomeKit then deleted the plug in entirely. Downloaded it again and when I readded the device into the home app all of the scenes showed back up and is working flawlessly.