SNMP Alarm Support

OK - on a reread we're just caching the result. `return (result = _result) != 0` threw me off - I misread the `=` as `==` - which makes me think it's a bit unclear and ought to be:
```
result = _result;
return (result != 0)
```