bitfocus/companion-module-bmd-atem

4ME Constellation 4K not connecting

davidjoshuaford opened this issue · 5 comments

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

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

I will run these tests tomorrow, thanks Julian

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

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:

  • Module is initialised. During this it starts a scan for atems, which gets left running in the background.
  • UI is informed of the module having started, calls getConfigFields() for the connection
    • Inside of this, the connection uses a copy of the currently discovered atems.
  • UI shows the list of discovered atems. This list is only updated when reopening the config panel for the connection

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

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