Fortrezz MIMO2+ Voltage Readings

Thank you so much for all your help. Through the smartthings groovy walkthrough I've been understanding how to make a device handler and will come back here if I have any specific questions for my code (I would be shocked if I didn't).

I got curious and started putting together a communication framework for the MIMO2+. You're welcome to use it if you like. You can find it on GitHub here.

1 Like

This is awesome, I was actually able to get the relays working too just now but your code is more efficient (I didn't have a method to shorten the endpoint commands). I am about to use the same structure to get voltage data and then am going to try to create a preference that allows you to turn on a poll of the voltage.

I don't think you need to poll. See parameter 3 and 9. Bit 6 enables periodic sends, and bits 0-5 control the period.

Interesting, so I could just create a command that configures it to send data periodically and I can receive that data as events. I could set a preference that can allow me to change the time period too. Do you think that would be a good way to do it?

Yep. A configuration value to enable/disable the periodic sends and control the interval.

1 Like

I pushed a small update that retrieves the current configuration.

1 Like

Thanks for your help. Here is what I have been able to come up with (lots of learning and a bit of inspiration from you!).

Here is an issue I'm facing right now that maybe you could help with: To test my ADC output I added a 1V signal to both sig1 and sig2. However, as soon as I am connecting my 1V signal to the ADC contacts, something is driving it to 1.7V . I checked with a multimeter directly and confirmed this so it doesn't seem to be inaccurate drivers. I'm very confused with this behavior. I thought it could be an offset but that doesn't seem to be the case either. The voltage reading I get with no signal is 2.5V and when I connect it to ground I get 0V. I have also tested it with two MIMO's so it isn't just a fault device. I'm stumped. Maybe you have any ideas? Thanks.

Hmm... what kind of source are you using as the input voltage?

I checked my MIMO2+. Unloaded, I'm seeing a bias voltage of 2.782v. When measured with a meter, I would expect to see some pull from the bias voltage. But the important part is what does it report?

Unloaded mine reports an output of ~3070, which seems about right. I don't have a voltage standard, but did check with a battery (1.611v), and am seeing an output of ~1988, which also seems relatively close. When measured with a meter, I do see a bit pull up at 1.624v while connected.

[Edit: Also, with the terminals shorted, I see a reported value of 1 which is as you would expect.]

What do you see as reported output with a 1v input? I would expect somewhere around ~1100.

The curve looks pretty linear up to the bias voltage level, but then starts to fall off. I'm not sure how much accuracy over what range you need for what you're doing, but it seems like you are going to have to do some amount of calibrating disconnected voltages to outputs when connected.

I went back and looked at the magic calculation they use in the SmartThings device handler. If I use that calculation, I get 1.563v for my battery.

I hate magic calculations like that.

1 Like

I made a simple voltage divider with a 3.3V source to test out the values the MIMO2+ reads. My unloaded reads around 2.468V through the hubitat and also with a multimeter so i'm not sure if there is any bias pull for me. With the terminals shorted I am reading a decimal value of 0, and this was what made me believe there isn't really a fixed offset.

When I put the 1V signal, the hubitat read 1.7V, and so did the multimeter, with the conversion being through the magic equation they provided. These results were identical for all my MIMOs. Judging by the fact that you got a linear result and a close to accurate one for your battery reads, I am probably doing something wrong....just not sure what that may be.....

My question would be, how does 3070 mean 2.782V but ~1988 seem like 1.611V? I don't really get how their equation works and the raw values also don't really make sense to me. Any guidance regarding those would be much appreciated.

Furthermore, even if we understand the equation, is there any way I could make this thing take proper sensor measurements, given that right now, it drives up a voltage so severely (converting a 1V signal to 1.7V)?

That was based upon an assumed linear response between 0 and the bias voltage. That’s what the voltage chart in the appendix looked like to me. That of course is before I looked at the magic algorithm.

That’s the reason I asked what your voltage source was. You want to ensure the voltage source has sufficient emf to overcome the bias voltage. A potato won’t cut it. :slight_smile:

May I suggest a quick test with a AA battery to confirm that you see a reasonable value?

1 Like

What do you know, I put a battery showing 1.4V on the multimeter and it popped up as 1.4V on the hubitat. I guess these MIMOs are built for quite strong signals and don't actually behave like regular ADCs.

Now to move onto how I can get my sensors to show the right value....I have an RTD sensor and have built a 1 mA current source to run through it so that I can induce a voltage proportional to the temperature. The value for that is not near what (1.7V on multimeter disconnected, but turns into 2V when connected to MIMO) should be showing up. This is now completely MIMO related but, would you have any ideas on how to get something like this running?

Another update, just connected the mimo to a 3.3V source directly to see if it could measure that. the sig1 contacts show 3.3V on a multimeter but the hubitat is showing 2.86V so seems like even their magic equation isn't perfect....

Just for grins, I graphed the algorithm.

Given the graph in the Technical Appendix, the function looks reasonable. And pretty linear up to the bias voltage.

1 Like

How did you measure these values? I'm still struggling to get deterministic voltage readings on my MIMO's. The numbers just aren't making sense

Not measurements, just a function graph. The X axis is the 0-4095 input value to CalculateVoltage(), and the Y axis is the return value from the function. I wanted to see how the output of the magic function looked compared with the sensor value graph in the doc.

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.