NEWS
Adapter SNMP Drucker, Synology, QNAP etc auslesen
-
Hier die Werte für einen HP Color LaserJet CP1514n
Toner gelb : snmp.0 2017-10-23 18:26:45.666 debug [192.168.1.26] OID 1.3.6.1.2.1.43.11.1.1.9.1.4: 1134093 Toner Magenta : snmp.0 2017-10-23 18:26:45.666 debug [192.168.1.26] OID 1.3.6.1.2.1.43.11.1.1.9.1.3: 1113664 Toner cyan : snmp.0 2017-10-23 18:26:45.666 debug [192.168.1.26] OID 1.3.6.1.2.1.43.11.1.1.9.1.2: 1320246 Toner schwarz : snmp.0 2017-10-23 18:26:45.666 debug [192.168.1.26] OID 1.3.6.1.2.1.43.11.1.1.9.1.1: 699681 Anzahl Seiten : snmp.0 2017-10-23 18:26:45.666 debug [192.168.1.26] OID 1.3.6.1.2.1.43.10.2.1.4.1.1: 1682
Und hier der Screenshot der Drucker-Webseite:
HP.png
Wie die ermittelten Werte mit denen im Screenshot in Verbindung zu bringen sind (Umrechnung, usw.), hat sich mir noch nicht so ganz erschlossen…
Gruß,
Eric `
Man nehme einmal die …..9.1.4 geteilt durch ..... 8.1.4 multipliziert mit 100.
Restkapazität / Kapazität * 100
-
Hey,
hab mal nen Blick reingeworfen. Super! Dennoch ein paar Kommentare:
-
info.connection wird sehr oft auf true gesetzt. besser nur dann setzen wenn es sich ändert? (ggf ne Funktion machen wie im influxdb Adapter)
-
Objekte werden mit "setForeignObject" erzeugt, states aber mit "setState" gesetzt… am besten entweder oder Ich würde dafür plädieren ohne Foreign zu arbeiten da alle Objekte/States eh im Adapter-Namespace sind
-
Es hat bei Statenamen durchaus Vorteile punkte zu erlauben und hier hätte es echt vorteile weil man so eine State-Baum-Struktur schaffen kann. Wäre super den "punkt" im Namen zu erlauben
-
kann man SNMP Devices discovern/finden per Scan?
Ingo
-
-
Da ich vom Fach bin kann ich behaupten, das es schwierig ist, die MIBs aller Druckerhersteller und -modell zu implementieren, da hier jeder Hersteller quasi sein eigenes Süppchen kocht.
Viele Hersteller haben ja quasi eine Public- und eine Private-MIB.
In der Public-MIB stehen "Standard-Daten" wie Hersteller, Modell und Gesamtzählerstand.
Die wirklich interessanten und detaillierten Infos stehen hauptsächlich in der Private MIB.
HP und andere Hersteller im Übringen auch haben zum Beispiel die Prozentanzeige der Toner in den Private MIBs.
Dort stehen auch Namen, Bestellnummern etc. der Verbrauchsmaterialien.
Leider dürfen die Private-MIBs nicht ohne weiteres veröffentlicht werden.
Für Ricoh habe ich sie mal beigefügt.
294_mibspecification.pdf
294_privatemibspecificationv1.8b.pdf
294_standard_mib_v1_8b.pdf
294_privatemibspecificationv4_050-1.pdf
294_privatemibspecificationv4_050-2.pdf
294_privatemibspecificationv4_050-3.pdf
294_privatemibspecificationv4_050-4.pdf -
Sind die Objekte so richtig? Was sagen eure Synologys wenn ihr diese OIDS ausprobiert? (ich habe es auch ohne den Punkt am Anfang ausprobiert, ohne Unterschied)
a.JPG
b.JPG `
-
<instance name="hrStorageSize.1" oid=".1.3.6.1.2.1.25.2.3.1.5.1" valuetype="Integer"><value></value></instance>
im ioBroker-Log erscheint dabei jedoch diese Meldung
snmp.0 2017-10-23 15:02:06.847 error [192.168.30.200] Error session.get: RequestFailedError: NoSuchName: 1.3.6.1.2.1.25.2.3.1.5
Beim Samsung SCX-5x30 gibt es wie auch beim AL-CX11NF einen Wert für SysUpTime.
Beim AL-CX11NF erhalte ich den Wert in den Objekten. Beim Samsung kommt da ein Log-Eintrag.
<instance name="sysUpTime.0" oid=".1.3.6.1.2.1.1.3.0" valuetype="TimeTicks"><value></value></instance>
iobroker-Log:
snmp.0 2017-10-23 15:02:06.843 error [192.168.30.201] Error session.get: RequestFailedError: NoSuchName: 1.3.6.1.2.1.1.3 ```` `
Im MIB-Browser: 1.3.6.1.2.1.25.2.3.1.5.1
In ioBroker 1.3.6.1.2.1.25.2.3.1.5 <– ????
Prüf das nochmal bitte. Da fehlt was.
-
Hey,
- kann man SNMP Devices discovern/finden per Scan?
Ingo `
Um richtig zu discovern brauch ich erstmal ein paar Daten, da kannst du auch gern mitwirken
Am allerwichtigsten wären die ersten 3 Zeilen:
Produktinformation - 1.3.6.1.2.1.1.1.0 Seriennummer - 1.3.6.1.2.1.43.5.1.1.17.1 Hersteller - 1.3.6.1.2.1.43.8.2.1.14.1.1 Anzahl gedruckter Seiten - 1.3.6.1.2.1.43.10.2.1.4.1.1 Tinte - Toner_schwarz - 1.3.6.1.2.1.43.11.1.1.9.1.1 Tinte - Toner_cyan - 1.3.6.1.2.1.43.11.1.1.9.1.2 Tinte - Toner_magenta - 1.3.6.1.2.1.43.11.1.1.9.1.3 Tinte - Toner_yellow - 1.3.6.1.2.1.43.11.1.1.9.1.4 Lebensdauer Trommeleinheit -1.3.6.1.2.1.43.11.1.1.9.1.7 Lebensdauer Bandeinheit - 1.3.6.1.2.1.43.11.1.1.9.1.6
-
<instance name="sysUpTime.0" oid=".1.3.6.1.2.1.1.3.0" valuetype="TimeTicks"><value></value></instance>
iobroker-Log:
snmp.0 2017-10-23 15:02:06.843 error [192.168.30.201] Error session.get: RequestFailedError: NoSuchName: 1.3.6.1.2.1.1.3 ```` `
Im MIB-Browser: 1.3.6.1.2.1.25.2.3.1.5.1
In ioBroker 1.3.6.1.2.1.25.2.3.1.5 <– ????
Prüf das nochmal bitte. Da fehlt was. `
Hab es gerade noch einmal neu versucht zu konfigurieren.
Dabei file mir auf, dass im Log immer während folgender Eintrag kommt..
host.mh-iobroker-00 2017-10-24 08:39:03.436 info Restart adapter system.adapter.snmp.0 because enabled host.mh-iobroker-00 2017-10-24 08:39:03.435 error instance system.adapter.snmp.0 terminated with code 7 (Adapter already running) host.mh-iobroker-00 2017-10-24 08:39:02.514 info instance system.adapter.snmp.0 started with pid 7315 snmp.0 2017-10-24 08:39:00.974 error [192.168.30.200] Error session.get: RequestFailedError: NoSuchName: 1.3.6.1.2.1.25.2.3.1.5 snmp.0 2017-10-24 08:39:00.970 error [192.168.30.201] Error session.get: RequestFailedError: NoSuchName: 1.3.6.1.2.1.1.3
Die beiden Einträge sind aber längst in der Adapterkonfiguration gelöscht.
Ich habe dann die Instanz und auch den Adapter komplett gelöscht und noch einmal von vorn begonnen.
Was jedoch nichts an den Logeinträgen ändert.
Gibt es eine Stelle, an der ich diese "Leichen" löschen kann ?
Gruss
Silvio
-
So, nach ca. 24h hat der Adapter auch bei mir den Datenpunkt "gedruckte Seiten" befüllt. Im Log war der Wert ja schon von Anfang an vorhanden.
Leider sehe ich die Datenpunkte nach wie vor nicht im vis Editor. Auch in Blockly sehe ich nur Info und keine OIDs.
-
Ein bisschen Feedback:
-
Super-Adapter!
-
Auch ich hätte gerne Punkte im Namen, sodass man eine Baumstruktur aufbauen kann. Schon mit meinem einen Drucker wird es leicht unübersichtlich.
-
Die Datenpunkt werden mit "role": "state" angelegt, ich musste sie händisch auf "value" ändern um sie im vis-Editor auswählen zu können.
-
In der raw-Beschreibung (Bleistift am Datenpunkt) ist nur die OID angegeben. Müssten hier nicht auch die IP und "public" stehen?
-
Instanzen-Konfiguration: die Pfeile hoch/runter funktionieren nicht richtig, sind aber vielleicht auch gar nicht nötig?
-
Instanzen-Konfiguration: import/export wäre eine tolle Idee
-
Instanzen-Konfiguration: Vorbelegen des public Feldes mit "public" fände ich gut, oder noch besser auch gleich die ip vom letzten Eintrag mit übernehmen.
Gruß,
Ralf
-
-
Leider sehe ich die Datenpunkte nach wie vor nicht im vis Editor. Auch in Blockly sehe ich nur Info und keine OIDs. `
Ändere sie mal händisch von "state" auf "value".
Gruß,
Ralf
-
Leider sehe ich die Datenpunkte nach wie vor nicht im vis Editor. Auch in Blockly sehe ich nur Info und keine OIDs.
Ändere sie mal händisch von "state" auf "value".
hat leider nix gebracht.
-
Hallo,
Habe jetzt die Baumstruktur mit IP-Adressen gemacht. Bitte mal von Github updaten: https://github.com/CTJaeger/ioBroker.snmp
Die Werte die <u>neu</u> angelegt werden, werden jetzt auch bei VIS angezeigt. Alternativ, die Werte (Namen oder so ändern)
Oder eben:
Instanz stoppen
Dem Namen (Werte) eine 1 voranstellen
Instanz starten und warten bis die Objekte alle erzeugt wurden sind
Instanz stoppen
Unter Objekte alle Werte wieder löschen (Verzeichnis unterhalb von snmp.0)
Die vorangestellte 1 wieder entfernen
Instanz starten
Gruß Marco
-
Die Idee mit der Baumstruktur finde ich gut.
Aber vielleicht würde sich ein Gerätename dafür besser eignen.
Ich weiss bei mir nicht aus dem Hut, welches Gerät, welche IP-Adresse hat. Dafür sind es glaube ich zuviele Adressen
Ich müsste jetzt immer brav die komplette Baumstrucktur aufklicken um das gesuchte Gerät zu finden.
-
Dafür kannst du doch das Feld "Name" verwenden!
Enrico
-
Dafür kannst du doch das Feld "Name" verwenden!
Enrico `
Ja, das nutze ich ja, aber wenn die Baumstucktur in den Objekten jetzt nach der IP-Adresse gruppiert wird, wirds für mich halt unübersichtlicher.
-
dann in dem Filterfeld (Im Header der Tabelle) den gesuchten Namen eingeben und du siehst nur noch diese Datenpunkte
Gruß
Rainer
-
Das Problem ist, das Feld Name dient ja für z.B. Toner_schwarz. Das nächste Problem ist, dass viele SNMP Geräte ihr eigenes Süppchen kochen.
Dazu brauche ich all eure Informationen um einen gemeinsamen "Nenner" zu finden, der als Name fungieren kann. Mit "HP ETHERNET MULTI-ENVIRONMENT" kann keiner was anfangen. Viele andere Hersteller senden brav ihren Namen
- LANCOM 1781VA (over ISDN) 10.00.0170 / 10.05.2017 4003964632100806
HP ETHERNET MULTI-ENVIRONMENT HP ETHERNET MULTI-ENVIRONMENT HP ETHERNET MULTI-ENVIRONMENT Linux RackStation 2.6.32.12 #15152 Fri Oct 6 18:13:27 CST 2017 armv5tel Linux RackStation 2.6.32.12 #15152 Fri Oct 6 18:13:27 CST 2017 armv5tel ProCurve J9021A Switch 2810-24G, revision N.11.76, ROM N.10.01 (/sw/code/build/bass) HP ETHERNET MULTI-ENVIRONMENT HP ETHERNET MULTI-ENVIRONMENT Linux Synology2 3.2.40 #15152 SMP Fri Oct 6 18:13:29 CST 2017 armv7l
-
Super Adapter!
Was mir noch auffällt ist, dass man History nicht anklicken kann, siehe:
-
Wlan Passwort aus Bintec AP (W1001N getestet) auslesen :
.1.3.6.1.4.1.272.4.61.1.20.1.7.2.1
Das Wlan Passwort setzen geht übrigens auch mit der ID
-
Klingt ja sehr cool, aber wie setze ich das genau ein?
Als Beispiel die Synology. Hier hab ich mir das MIB runter geladen.
!
SYNOLOGY-DISK-MIB DEFINITIONS ::= BEGIN ! IMPORTS OBJECT-GROUP, MODULE-COMPLIANCE FROM SNMPv2-CONF enterprises, MODULE-IDENTITY, OBJECT-TYPE, Integer32 FROM SNMPv2-SMI; ! synoDisk MODULE-IDENTITY LAST-UPDATED "201309110000Z" ORGANIZATION "www.synology.com" CONTACT-INFO "postal: Jay Pan email: jaypan@synology.com" DESCRIPTION "Characteristics of the disk information" REVISION "201309110000Z" DESCRIPTION "Second draft." ::= { synology 2 } ! synology OBJECT IDENTIFIER ::= { enterprises 6574 } ! diskTable OBJECT-TYPE SYNTAX SEQUENCE OF DiskEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Synology disk table" ::= { synoDisk 1 } ! diskEntry OBJECT-TYPE SYNTAX DiskEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "For all disk entry" INDEX { diskIndex } ::= { diskTable 1 } ! DiskEntry ::= SEQUENCE { diskIndex Integer32, diskID OCTET STRING, diskModel OCTET STRING, diskType OCTET STRING, diskStatus Integer32, diskTemperature Integer32 } ! diskIndex OBJECT-TYPE SYNTAX Integer32(0..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The index of disk table" ::= { diskEntry 1 } ! diskID OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS read-only STATUS current DESCRIPTION "Synology disk ID The ID of disk is assigned by disk Station. " ::= { diskEntry 2 } ! diskModel OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS read-only STATUS current DESCRIPTION "Synology disk model name The disk model name will be showed here. " ::= { diskEntry 3 } ! diskType OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS read-only STATUS current DESCRIPTION "Synology disk type The type of disk will be showed here, including SATA, SSD and so on. " ::= { diskEntry 4 } ! diskStatus OBJECT-TYPE SYNTAX Integer32(1..5) MAX-ACCESS read-only STATUS current DESCRIPTION "Synology disk status Each meanings of status represented describe below. ! Normal(1): The hard disk functions normally. Initialized(2): The hard disk has system partition but no data. NotInitialized(3): The hard disk does not have system in system partition. SystemPartitionFailed(4): The system partitions on the hard disks are damaged. Crashed(5): The hard disk has damaged. " ::= { diskEntry 5 } ! diskTemperature OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION "Synology disk temperature The temperature of each disk uses Celsius degree. " ::= { diskEntry 6 } ! diskConformance OBJECT IDENTIFIER ::= { synoDisk 2 } diskCompliances OBJECT IDENTIFIER ::= { diskConformance 1 } diskGroups OBJECT IDENTIFIER ::= { diskConformance 2 } ! diskCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for synoDisk entities which implement the SYNOLOGY DISK MIB." MODULE -- this module MANDATORY-GROUPS { diskGroup } ! ::= { diskCompliances 1 } ! diskGroup OBJECT-GROUP OBJECTS { diskID, diskModel, diskType, diskStatus, diskTemperature} STATUS current DESCRIPTION "A collection of objects providing basic information of an synology disk entity." ::= { diskGroups 1 } ! END !
Was fange ich mit dem MIB-File denn nun an? Muss das irgend wohin kopiert werden?
Wie kommt man an diese
1 .3.6.1.4.1.2021.10.1.5 .1 ````Nummern?