bitfocus / companion-module-bmd-atem

MIT License
54 stars 32 forks source link

4ME Constellation 4K not connecting #261

Closed davidjoshuaford closed 11 months ago

davidjoshuaford commented 12 months ago

4ME Constellation 4K is not connecting to either the stable 3.0.1, nor 3.1.0 beta 6206.

I have three ATEMs that work to varying degrees with Companion:

Companion 3.0.1 • ATEM SDI Extreme ISO, firmware 8.8 – connects, shows up in IP dropdown menu • ATEM 2ME Constellation HD, firmware 9.2.1 – connects, does not show in IP dropdown menu • ATEM 4ME Constellation 4K, firmware 9.1 – does not connect, does not show up in IP dropdown menu

Companion 3.1.0 beta 6206 • ATEM SDI Extreme ISO, firmware 8.8 – connects, does not show up in IP dropdown menu • ATEM 2ME Constellation HD, firmware 9.2.1 – connects, does not show in IP dropdown menu • ATEM 4ME Constellation 4K, firmware 9.1 – does not connect, does not show up in IP dropdown menu

All these switchers show up and be controlled through the ATEM Software Control, and the ATEM Setup.

Screenshot 2023-09-21 at 11 51 42 PM Screenshot 2023-09-22 at 12 14 52 AM
Julusian commented 12 months ago

could you run the tool at https://builds.julusian.dev/atem/ for each of the atems which is failing, making sure to remove any stream key from your atem first. either attach the results here or email them to me git@julusian.co.uk. I would like to make them public in another git repository for unit tests, please say if you would prefer I didnt

I don't think I have test cases for either of those, so they are probably doing something that the library is not expecting. That tool should give me the data I need to figure it out without direct access to the device. (It captures all the traffic the atem sends upon connecting, so that I can replay it with a mock atem later)

The discovery is a little quirky due to how it is done, does closing and reopening the config help? Maybe try that a couple of times? If not, I shall need to figure out how to debug this I havent had to remotely diagnose mdns issues before

davidjoshuaford commented 12 months ago

I will run these tests tomorrow, thanks Julian

davidjoshuaford commented 11 months ago

Emailed you,

Plus, 4ME 4K and SDI Extreme ISO connect and show up automatically in the IP field in beta 6209.

2ME Constellation HD is not showing up in the IP field but does connect manually

Julusian commented 11 months ago

Thanks, Ill have play with those snapshots this evening.

Yeah, that ip field issues sounds 'expected'. Unfortunately its a bit of a race condition currently, what is happening is:

Depending on network latency, timing, random luck etc whether atems are able to respond to the search before the call to getConfigFields() is a bit random.

I suppose I could add a 1s sleep to the end of init(), to force companion to give the module a bit more time to perform discovery? That shouldnt cause any timeouts or make anything noticeably slower to load.

The good news is that in the experimental builds, there is a new system in place to support this discovery which moves the discovery from the module to companion and allows for the dropdown to update while the panel is open. This also makes it much easier to implement for modules, so bringing the same discovery to other modules should be very quick and easy to do (I am specifically thinking about bmd-videohub and bmd-hyperdeck, but others too). Ill try and get that into beta(3.2) once 3.1 is released

Julusian commented 11 months ago

OK, Ive added the sleep so hopefully discovery will be a bit more reliable.

And Companion is now aware of the Constellation 4K 4ME model.

It sounds like everything is connecting, so I don't think there is anything else left to do here