ich muss via snmpd mit extend und BASH Script einen 4-stelligen Integer Wert ausgeben.
Leider hab ich das Problem das nur 0 bis 255 geht.
Und ich versteh nicht wie ich das ändern kann.
Wer kann mir sagen was man da machen kann ?
Danke
Nutze Debian 10.3 / buster + snmpd 5.7.3+dfsg-5
Ich lese von einem IoBroker via wget einen Temperaturwert aus.
Und hole mir dann die Temp. via cut aus dem file und schreibe es in eine Variable.
Und gebe diese aus.
Aber leider kommt das dann im SNMP als String raus und nicht als Integer
wenn ich mit exit 255 das script zu test beende, dann habe ich einen Integer wert von 255
aber mehr geht nicht sprich ab 256 wird der Interger Wert dann z.B: 0.
/etc/snmpd/snmpd.conf
Code: Alles auswählen
agentAddress udp:0.0.0.0:161
rocommunity testing
extend V_TempWarm /scripts/get_V_TempWarm.sh
Code: Alles auswählen
#!/bin/bash
cd /scripts
wget http://192.168.1.14:8087/get/hm-rega.0.3457 >/dev/null 2>&1
TempWarm=`cat hm-rega.0.3457 | cut -d ":" -f 2 | cut -d "," -f1 | sed -e 's/\.//g' | sed -e 's/\"//g'`
echo $TempWarm
rm hm-rega.0.3457*
Code: Alles auswählen
$ snmpwalk -v2c -c testing 192.168.1.14 .1.3.6.1.4.1.8072.1.3.2.3.1.1.10.86.95.84.101.109.112.87.97.114.109
NET-SNMP-EXTEND-MIB::nsExtendOutput1Line."V_TempWarm" = STRING: 2210
Code: Alles auswählen
$ snmpwalk -v2c -c testing 192.168.1.14 nsExtendOutput1 | grep V_TempWarm
NET-SNMP-EXTEND-MIB::nsExtendOutput1Line."V_TempWarm" = STRING: 2200
NET-SNMP-EXTEND-MIB::nsExtendOutputFull."V_TempWarm" = STRING: 2200
NET-SNMP-EXTEND-MIB::nsExtendOutNumLines."V_TempWarm" = INTEGER: 1
NET-SNMP-EXTEND-MIB::nsExtendResult."V_TempWarm" = INTEGER: 0
Die OID hab ich per snmptranslate rausgefunden
Code: Alles auswählen
$ snmptranslate -On NET-SNMP-EXTEND-MIB::nsExtendOutput1Line.\"V_TempWarm\"
.1.3.6.1.4.1.8072.1.3.2.3.1.1.10.86.95.84.101.109.112.87.97.114.109