Bei der Umstellung von OH2 auf OH3 habe ich ein Problem mit den SNMP Werten meiner UPS. Die UPS liefert opaqueFloat Werte zurück. Folgende Werte werden zurückgeliefert.
Sending 47 bytes to UDP: [10.10.101.5]:161->[0.0.0.0]:0
0000: 30 2D 02 01 01 04 06 70 75 62 6C 69 63 A1 20 02 0-.....public? .
0016: 04 7C 0F 1E 7C 02 01 00 02 01 00 30 12 30 10 06 .|..|......0.0..
0032: 0C 2B 06 01 04 01 B3 2E 04 03 01 04 00 05 00 .+....?........
Received 54 byte packet from UDP: [10.10.101.5]:161->[0.0.0.0]:0
0000: 30 34 02 01 01 04 06 70 75 62 6C 69 63 A2 27 02 04.....public?'.
0016: 04 7C 0F 1E 7C 02 01 00 02 01 00 30 19 30 17 06 .|..|......0.0..
0032: 0C 2B 06 01 04 01 B3 2E 04 03 02 01 00 44 07 9F .+....?......D..
0048: 78 04 41 5B 33 33 x.A[33
SNMPv2-SMI::enterprises.6574.4.3.2.1.0 = Opaque: Float: 13.700000
im log bekomme ich aber folgende Fehlermeldung:
2021-02-08 09:17:02.083 [WARN ] [ding.snmp.internal.SnmpTargetHandler] - could not convert 9f:78:04:41:5b:33:33 to number for channel snmp:target:my-diskpool-1:nUPS_Batterie_Voltage
so sieht meine Things-Datei aus:
Thing snmp:target:my-diskpool-1 [ hostname="10.10.101.5", protocol="v2c", refresh=3600 ] {
Channels:
Type number : nUPS_Runtime_Value [ oid=".1.3.6.1.4.1.6574.4.3.6.1.0", mode="READ" ]
Type number : nUPS_Batterie_Voltage [ oid=".1.3.6.1.4.1.6574.4.3.2.1.0", mode="READ", datatype="HEXSTRING"]
}
Ich habe es auch schon mit datatype FLOAT probiert, gleiche Ergebnis. Offensichtlich werden die Werte vom SNMP Addon nicht korrekt weitergeleitet. Kann hier jemand helfen?
OH3 SNMP opaqueFloat Werte
- udo1toni
- Beiträge: 15269
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: OH3 SNMP opaqueFloat Werte
Für den Hintergrund: https://stackoverflow.com/questions/352 ... aque-float
opaqueFloat bedeutet, dass nicht nur der reine Datenwert encodiert wurde, sondern auch der genaue Typ (das ist in ASN1 in SNMP definiert) Das Datumbedeutet also im Einzelnen:
opaqueFloat bedeutet, dass nicht nur der reine Datenwert encodiert wurde, sondern auch der genaue Typ (das ist in ASN1 in SNMP definiert) Das Datum
Code: Alles auswählen
9f:78:04:41:5b:33:33
- 9f:78 -> es handelt sich um einen Float Wert
- 04 -> Der Wert ist vier Byte lang (also ein Float mit 32 Bit)
- 41:5b:33:33 -> der eigentliche Wert
openHAB4.3.6 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet