bitfocus / companion-module-requests

Repository for tracking module requests
97 stars 10 forks source link

Z Camera #195

Open GarthDB opened 4 years ago

GarthDB commented 4 years ago

Specifically, I'm interested in the e2c, but the HTTP API seems almost identical to the e2.

The docs can be found here.

It's pretty straight forward so I'll try building the module myself.

josephdadams commented 4 years ago

How is your module coming along, @GarthDB ?

GarthDB commented 4 years ago

After we worked through the issues with the local build of Companion, I’ve started playing with the new module locally. I’ll push my changes to my fork soon. I need to make sure I get at least the basic functionality and figure out the presets.

validlogin commented 4 years ago

How’s the progress on this? We just purchased a few Z Cam E2-M4’s and would love to try configuring this with our setup, and possibly even have tally control from our blackmagic switcher:)

GarthDB commented 4 years ago

Last I checked in the api there isn't full tally control. You can turn on and off the led indicator

cycomachead commented 4 years ago

This would be great! I just added a few buttons for my Z-Cam.

I have 3 actions:

These were all pretty easy with the HTTP button, but something that can also poll for status would be really fun. I am throwing these out there just to give others ideas, and follow along in this discussion. :)

validlogin commented 3 years ago

Using HTTP button seems like a pretty awesome idea!

Zooming in and out is also possible, as long as you make sure to have the button also send a STOP zoom command when you release the button - otherwise it'll never stop zooming!

Have you run into any issues with sessions? I know only one client is allowed to run a session at a time, which seems like a pretty big limitation.

cycomachead commented 3 years ago

Zooming in and out is also possible, as long as you make sure to have the button also send a STOP zoom command when you release the button - otherwise it'll never stop zooming!

You can set buttons in companion to have an up and down action. You can also set it to latch/toggle mode: a first press sets the bottom to on, and the second press sets it back to off. I use the latch mode to start/stop recording on a Hyperdeck, and more recently to toggle the 2x zoom option for focus checks on the Z Cam.

Have you run into any issues with sessions? I know only one client is allowed to run a session at a time, which seems like a pretty big limitation.

None at all! To be honest, I'd forgotten this was a serious issue with clients. My streamdeck never tries to "acquire" a session to begin with -- but the individual commands all seem to make it through, even when I have the web UI open.

My use now includes regularly setting the white balance to a known manual value, and that doesn't seem to fail. 🤞

paulmunday87 commented 3 years ago

I have just used the HTTP generic request, it can be customised beautifully. Theres also lots more requests than on the GitHub that you really need to make it broadcast. Also some functions can only be done over 232 or TTL so, unless people buy hardware its not possible to do 100% over HTTP.

shalver-tp commented 3 years ago

@cycomachead I'm trying to setup the CAF on and CAF off commands in Companion. Beyond the IP address setup in the instance, I think I'm missing a bit of information on getting this setup (GET, PULL, POST, URI, Headers, etc.). I appreciate any help!

paulmunday87 commented 3 years ago

Hi man, it’s pretty basic, create general HTTP Get instance (in companion). Type in the ZCAM IP (should be static 10.98.32.1) then just copy paste the code from ZCAM github into a button. Obviously put the button to be HTTP. Should start with /ctrl/xxxxxxxxxxx.

Trial and error and you’ll learn more. Why not try get it to start recording first, even though it’s not what you want, it’s more obvious it worked! Then you can adapt it to do XYZ. I was fresh about a year ago and now have really complex scripts with Z Cam. Fantastic support them! Google there GitHub, it’s all there x

shalver-tp commented 3 years ago

Thanks. I’ll dive in again when I get some time in the next day or so.

On Wed, Jul 14, 2021 at 12:27 AM paulmunday87 @.***> wrote:

Hi man, it’s pretty basic, create general HTTP Get instance (in companion). Type in the ZCAM IP (should be static 10.98.32.1) then just copy paste the code from ZCAM github into a button. Obviously put the button to be HTTP. Should start with /ctrl/xxxxxxxxxxx.

Trial and error and you’ll learn more. Why not try get it to start recording first, even though it’s not what you want, it’s more obvious it worked! Then you can adapt it to do XYZ. I was fresh about a year ago and now have really complex scripts with Z Cam. Fantastic support them! Google there GitHub, it’s all there x

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/bitfocus/companion-module-requests/issues/195#issuecomment-879447424, or unsubscribe https://github.com/notifications/unsubscribe-auth/ASI6CETJPR5I6TNBSCK3NQ3TXS4WXANCNFSM4MEJEMUQ .

shalver-tp commented 3 years ago

Just to follow-up on this for others.

Setup a Generic HTTP Instance in Companion with the Camera IP address as the Base URL

Create a button and use the "GET" HTTP action that shows up in your action list.

Then just follow the Z-Camera Documentation to program your action.

No authentication is needed, and you CAN have the web-based controller open to see the feedback from the camera.

Thanks!

DrNI commented 1 year ago

Well, I'm also trying to control my E2C cameras with Companion. Thing is, while the HTTP protocol is pretty easy, it needs some more logic on the client side. E.g. you can set EV values between -3 and +3 in steps of .3, but there is no protocol command for "more EV" or "less EV", so you need to obtain the value, compute a new value, and send this. This looks rather difficult to me with the HTTP module, but it might be pretty easy to do in a special module.

Things are different for zoom and focus in the E2* series, there you can just do stepwise movements via HTTP. I focus working (and one-shot AF), zoom isn't worth it since there are only two motor zoom lenses for the E2C's MFT mount out on the market and both of these aren't that good.

Still I'd love to control ISO manually, auto ISO (this one is easy) and EV via Companion, this would make my life so much easier since.

Any ideas on this?

sandysoundy commented 1 year ago

Would still be great to have a module for the E2. Did it get merged?

I don't think I follow correctly how to turn the Record Indicator on/off.

I have an HTTP Generic connection setup with the IP Address set to the camera. I can control the camera from the browser so network communication is established.

I have made a button with latch action: http: GET In the URL box I have /ctrl/set?led=LED on And an unlatch of /ctrl/set?led=LED off

No Bueno.

I have also tried: /ctrl/set?sys_led=On /ctrl/set?sys_led=Off

/ctrl/set?led=on /ctrl/set?led=off

/ctrl/set?led=1 /ctrl/set?led=0

Do I need to fill in the header input (JSON) field?

luthere commented 1 month ago

Just checking the status of this module. I am happy to help in anyway. Don't have much experience with java script but happy to learn and expand on a base module. I have a zcam E2m4 and would be willing to do testing.

luthere commented 1 month ago

I have started building this on my own with the module template. I have a simple config of an IP address, module variables and a few GET requests built so far.

How often should I poll system variables from the camera(White Balance, ISO, IsRecording, etc)? Should I being polling every second or just actions. I am not super fimilar with Javascript and modules with Companion, some tips would be fanatastic.

@josephdadams If you could help me or guide me to an example module, that would be awesome.