TheEC: SNMP for SFX4104 & Denkovi (wonkish)

Mar 20, 2018

This post is intended primarily as a reference for my fellow engineers.  It's heavy on the nitty-gritty and light on narrative.  But if that's okay for you, it'll give you a guide for how to do the following:

  • How to use a Burk ARC Plus Touch w/SNMP PLUS to poll a PRSS SFX4104's C/N reading.
  • How to use that data to trigger a Denkovi DAEnetIP2 relay via SNMP to control a dish heater.

UPDATE 4/4/18: I'm gradually understanding more about SNMP and Traps, and I think that while the procedure below will work it is technically not correct.   For example, I think it's possible to interface the SFX4104 directly to the Denkovi, bypassing the Burk ARC Plus Touch.  I haven't experimented enough to confirm this, though.  But I think it would involve the C/N THRESHOLD under SNMP TRAPS on the SFX4104's web GUI.

NOTE: one thing that was very helpful in puzzling out various aspects of SNMP was the iReasoning MIB Browser.  It's free for personal use and can be downloaded here.

STEP-BY-STEP INSTRUCTIONS

Acquire your Burk ARC PLUS TOUCH with SNMP PLUS.  Make sure you pay for SNMP PLUS, otherwise it'll let you set all this up in AutoLoad Plus, but none of it will actually work in the end.

In Burk AutoLoadPlus load your site (ARC Plus Touch) in question.  Click the name of the site on the left-side column to highlight it.  Then click EDIT > SNMP DEVICES.  Click ADD and then fill out the following:

  • Name = a name that makes sense to you.  Keep it short & sweet, but not too cryptic.
  • IP address = the IP of the SFX4104.
  • Port = 161, I assume.  You can change this in the SFX4104.
  • Read string = public
  • Write string = private (again you can change these but there's no real reason to)
  • MIB file = click browse to select the SFX.mib (I'm not sure if you need the IDC one or not, but you can add devices for both MIB's).  Download the MIB from here.  Make sure to save the MIB into a file folder where it is by itself.  Don't put any other files in that folder; AutoLoadPlus will scan them all, and if there's too many it'll hang and crash.

Log into the web GUI of your SFX4104. Click CONFIGURATION > SNMP.

  • Under SNMP Settings make your trapsink server be the IP address of the Burk ARC Plus.
  • Under SNMP TRAPS, enable the OUT OF LOCK trap and C/N THRESHOLD TRAP.  Timeout for each is 10 seconds.  C/N Threshold = 19.

Back in AutoLoadPlus, under Meter Channels in the right-side (main) window,  click the icon at the far right edge of an empty meter row.   A SOURCE WINDOW will appear.

  • DEVICE = the device name is from whatever you called your SFX4104 in the SNMP Device setup earlier in the process.  
  • OID = You can browse to the OID here: iso / org / dod / internet / private / enterprises / idc / products / receivers / sfx / sfxProcessor / sfxDemod / sfxMetrics > sfxCarrierToNoise (or just manually type in: 1.3.6.1.4.1.3602.1.1.13.2.1.3.4.0).  Click that and click the GET button and the value should appear after a moment, and it ought to be close to matching whatever the web GUI on the SFX4104 says the C/N reading is.  It won't match perfectly because the SNMP sample updates every second and the web GUI updates every 10 or 15 seconds.
  • NAME = will populate automatically to "sfxCarrierToNoise"
  • DESCRIPTION = will populate automatically.  Starts with "This value represents the estimated carrier to noise radio..."
  • DATA TYPE = check "INTEGER: Multiply by 1."
  • Click CALCULATE VALUE to confirm your work.  Then OK.

That SHOULD get you the data into the Burk.  From there you can set alarm thresholds, etc.  IIRC the SFX4104 will lose lock when C/N gets to about 3.5dB, but YMMV.   BTW, the OID for the SFX4104's Signal Level (in percent) is 1.3.6.1.4.1.3602.1.1.13.2.1.3.2.0   Otherwise the settings are the same as above.  Signal Level isn't as important as C/N, especially if you're using this to trigger a dish heater to remove snow.  But it doesn't hurt to have it handy and alarm if desired.  IIRC it will still function down to about 5 or 6%.
 

Denkovi DAEnetIP2. At left, the interface/control board w/Ethernet connection & power. At right, the relay board. Note that the relay board has a red power indicator LED and green indicator LED's for when each relay is closed/on.
Credit Aaron Read RIPR
The Denkovi DAEnetIP2 is a cheap ($60, but pay the $40 for DHL shipping - trust me!) SNMP-controlled 2 relay board.  It's perfect for triggering a dish heater under control of your Burk. If you buy one, it's very bare-bones so remember to order the following to go with it:

  • 12VDC / 1A power supply - available thru Denkovi as well, or supply your own.
  • Nylon/plastic printed circuit board (PCB) standoffs.  Available from Amazon.com.
  • A jumper wire to run 12VDC power from pins on the main board to the relay board.
  • A project box or 1RU blank rack panel to mount this stuff too.  It will fit on a 1RU panel but just barely, and not on a 1RU panel with the folded top/bottom edges.  Plan to leave a blank space above/below it in the rack or just use a 2RU panel.
  • The Denkovi can be ordered with two options for the SPDT relays: TONGLING - JQC-3FF-S-Z (10A / 250VAC, 15A / 120VAC, 10A / 28VDC) or SUNHOLD - RAS xx15 (10A / 250VAC, 15A / 120VAC, 15A / 24VDC) so you may need some kind of interface relay between it and your dish heater.

Most of the setup in AutoLoadPlus is the same as for the SFX4104.  The MIB file is here. The difference is the OID's.  These are NOT easy to find as the documentation is seriously lacking, and the way the MIB is structured, you can't find them in the Burk's MIB browser.  So, here you go:

  • STATUS Relay 1 = 1.3.6.1.4.1.19865.1.2.2.7.0  (1 = closed, 0 = open)
  • STATUS Relay 2 = 1.3.6.1.4.1.19865.1.2.2.8.0 (1 = closed, 0 = open)
  • COMMAND Relay 1 close/on = 1.3.6.1.4.1.19865.1.2.2.7.0 (Data Type = Integer = 1)
  • COMMAND Relay 2 close/on = 1.3.6.1.4.1.19865.1.2.2.8.0 (Data Type = Integer = 1)
  • COMMAND Relay 1 open/off = 1.3.6.1.4.1.19865.1.2.2.7.0 (Data Type = Integer = 0)
  • COMMAND Relay 2 open/off = 1.3.6.1.4.1.19865.1.2.2.8.0 (Data Type = Integer = 0)

Note that in the Command Source window in AutoLoadPlus, you're adding entries for RAISE ON and LOWER ON.  Leave the RAISE OFF and LOWER OFF fields blank. Also note that Denkovi's website says the manual will be provided after purchase.  But where?  Took me a minute to find it: it's in the web GUI for the DAEnetIP2 itself.  Or you can just click here.  One thing that took me forever to realize, and was the key to unlocking the OID's, is that in the manual the actual relay controls are Port J4 (P5), pins 7 and 8. Once you know that, a lot of the manual starts making more sense.

 

The DAEnetIP2 controller board.
Credit Denkovi

A few days later I realized I also had a need to monitor a particular contact closure on an Inovonics 525 AM modulation monitor at the same location where the Denkovi DAEnetIP2 is located.  The DAEnetIP2 can do a lot more than just control the 2 relay board; it has 8 digital and 8 analog inputs.  In this case, for "digital" think "binary state", as in "it's on or it's off".  "Analog" here means it senses a voltage input between 0 and 3.3VDC to interpret that as a meter reading.   While cool, the analog side isn't much use here, but the digital is.  

Unfortunately, the documentation is also badly lacking here.  It gives a lot of warnings about how you have to be careful applying voltage to this board as there's no overload protection.  But that's mostly about the analog inputs; they don't say much about the digital.  Took me a lot of experimentation to figure out you don't need to involve any external voltage to drive the digital inputs.  HOWEVER, you do need to configure the digital inputs correctly and that requires a specific bit of software.

 I'm referring to the DAEnetIP2 Manager, which is a bare-bones way to access the DAEnetIP2.  Once you install it (Java is required) I found it created the shortcut to the Start Menu wrong, and I had to manually create the shortcut to C:\Denkovi A. E. LTD\DAEnetIP2 Manager\Ver 2.0\DAEnetIP2Manager.jar   Once you enter the IP Address, Port, and password (which is the read/write string, probably "private" but you may have...probably SHOULD have...changed that when you set up the DAEnetIP2 originally) on the SETTINGS page click CONNECT and you should get a "controller 1 connected" green bar at the lower left of the window.  Click DIGITAL I/O on the upper left and we can get down to business.
 

DAEnetIP2 pinout/PCB layout
Port P5 (JP4) is already in use with the relay board.  So we need to use Port P3 (JP3).  (note: this assumes you aren't already using Port P3 to control a larger relay board) These pins are immediately adjacent to P5 where your ribbon connector is.  But the pins are mirrored.  Since we need to connect a + pin for status to the GND (ground) pin on 10, we might as well use pin 8 for convenience's sake since I only need one.  If you want multiple status inputs, you might want to plan this out better since they'll all have tie to pin 10 for ground.
 Back to the software Manager, under Port P3 (I/O) use the pull-down menu to change it from output to ​input with pull-up.   Click Set All I/O Types and wait a minute or two for it to set everything and reboot.  The little icon to the left of P8 will change from an orange OFF to a green ON.
 Now for what I thought was the tricky part but was actually easy: simply connect Pin 8 and Pin 10 to your contact closure.  On my Inovonics 525, I just used the AUDIO LOSS alarm connections on the back.  When the 525 alarms, it closes the relay, closes the circuit to the DAEnetIP2, and the status on Pin 8 will change from 1 (on) to 0 (off).
 You shouldn't need any pull-up or pull-down resistors to make this work.  Depending on whether or not you want to do something different, you may well need them.  Supposedly the pin 1-8 output volage is 3.3VDC so we're not talking a huge amount of power here and thus extraordinarily-rated resistors are not necessary.
 Back on the SNMP side of things, the OID you'll need to poll the status of pin 8 is 1.3.6.1.4.1.19865.1.2.1.8.0 (change the 8 in the next-to-last digit to 1 - 7 for pins 1 - 7).  In the Burk SNMP Source window under STATUS COMMANDS, it'll be:

  • Name = pctrlP3pin8
  • Description = Port 3 pin8 data.
  • Match to a Value should be "0" and therefore will be "on" only when the 525 is in alarm.

Good luck and have fun experimenting!