NEWS
USV per SNMP auslesen
-
@mcm57
Ich habe genau 20 OID`s. Mit 20 geht es gerade NICHT mehr - mit 19 geht es (Seriennummer deaktiviert)
Wie gesagt, ich könnte damit leben wenn man z.B. Daten die man in der Regel nur 1x ausliest (wie die Seriennummer) im Datenpunkt erhalten bliebe wenn man den OID im Nachgang abwählt.
Wie du aber bei mir an der Seriennummer sehen kannst wir der DP Wert nach der Abwahl des OID auch gelöscht, bzw. auf null gesetzt.
Hier am Beispiel der Seriennummer
-
@jb_sullivan
Wenn es mit 20 nicht geht, dann ist es klar (und erwartet) dass du nen Fehler bekommt.Bitte stell den Parameter Paketgröße auf 19 (oder kleiner).
Dann solltest du durchaus alle 20 OIDs enabled haben können und alle OIDs die enabled sind sollten auch ausgelesen werden - nur eben mit 2 getrennten Requests.Kannst du das bitte mal testen?
DankeNachtrag: Der Parameter stellt keine Paketgröße ein (das kann er nicht, da es um die Größe des Buffers am Gerät geht) sondenr defniiert nur, nach wievielen OIDs ein weiterer extra Reqeust geschickt wird.
-
@mcm57
OK, dann habe ich das offensichtlich missverstanden. Ich dachte wenn ich 20 OID`s abholen will, muss in der Instanz Einstellung auch mindestens 20 eingetragen sein.
So weit so gut. nun habe ich 19 eingetragen und alle 20 OID`s angeharkt. Der Adapter wird nun nach einem Neustart wieder grün ................... aber, die Datenpunkte füllen sich nicht mehr mit Werten und das Log wirft auch einen Fehler - alles bei grüner Instanz
BtW: Der einzige Datenpunkt der einen Wert hat, hat von ioB ein Ordner Symbol verpasst bekommen welches leer ist. Alle anderen DP`s haben Ordnersymbole mit kleinen Schlössern darin.
snmp.0 10264 2022-08-08 16:52:58.652 debug handleConnectionInfo snmp.0 10264 2022-08-08 16:52:58.636 debug info.connection set to true snmp.0 10264 2022-08-08 16:52:58.636 info instance connected to at least one device snmp.0 10264 2022-08-08 16:52:58.633 debug handleConnectionInfo snmp.0 10264 2022-08-08 16:52:58.632 debug [10_122_60_87] processing oid chunk index 1 completed snmp.0 10264 2022-08-08 16:52:58.632 debug [10_122_60_87] update 10_122_60_87.Datum_Kalibrierung: 7/23/22 snmp.0 10264 2022-08-08 16:52:58.632 debug [10_122_60_87] 10_122_60_87.Datum_Kalibrierung(OctetString){"oid":"1.3.6.1.4.1.318.1.1.1.7.2.7.0","type":4,"value":{"type":"Buffer","data":[55,47,50,51,47,50,50]}} snmp.0 10264 2022-08-08 16:52:58.631 debug processVarbind - [10_122_60_87] 10_122_60_87.Datum_Kalibrierung snmp.0 10264 2022-08-08 16:52:58.631 info [10_122_60_87] device (re)connected snmp.0 10264 2022-08-08 16:52:58.631 debug [10_122_60_87] session.get completed for chunk index 1 snmp.0 10264 2022-08-08 16:52:58.629 debug info.connection set to false snmp.0 10264 2022-08-08 16:52:58.629 info instance disconnected from all devices snmp.0 10264 2022-08-08 16:52:58.629 debug handleConnectionInfo snmp.0 10264 2022-08-08 16:52:58.627 debug readChunkOIDs - device "10_122_60_87" (10.122.60.87), chunk idx 1 snmp.0 10264 2022-08-08 16:52:58.626 debug [10_122_60_87] processing oid chunk index 1 snmp.0 10264 2022-08-08 16:52:58.626 debug [10_122_60_87] processing oid chunk index 0 completed snmp.0 10264 2022-08-08 16:52:58.626 info [10_122_60_87] device disconnected snmp.0 10264 2022-08-08 16:52:58.625 error [10_122_60_87] session.get: RequestFailedError: TooBig snmp.0 10264 2022-08-08 16:52:58.624 debug [10_122_60_87] session.get: RequestFailedError: TooBig snmp.0 10264 2022-08-08 16:52:58.624 debug [10_122_60_87] session.get completed for chunk index 0 snmp.0 10264 2022-08-08 16:52:58.621 debug readChunkOIDs - device "10_122_60_87" (10.122.60.87), chunk idx 0 snmp.0 10264 2022-08-08 16:52:58.621 debug [10_122_60_87] processing oid chunk index 0 snmp.0 10264 2022-08-08 16:52:58.620 debug readOIDs - device "10_122_60_87" (10.122.60.87) snmp.0 10264 2022-08-08 16:52:48.636 debug info.connection set to true snmp.0 10264 2022-08-08 16:52:48.635 info instance connected to at least one device snmp.0 10264 2022-08-08 16:52:48.635 debug handleConnectionInfo snmp.0 10264 2022-08-08 16:52:48.633 debug [10_122_60_87] processing oid chunk index 1 completed snmp.0 10264 2022-08-08 16:52:48.633 debug [10_122_60_87] update 10_122_60_87.Datum_Kalibrierung: 7/23/22 snmp.0 10264 2022-08-08 16:52:48.633 debug [10_122_60_87] 10_122_60_87.Datum_Kalibrierung(OctetString){"oid":"1.3.6.1.4.1.318.1.1.1.7.2.7.0","type":4,"value":{"type":"Buffer","data":[55,47,50,51,47,50,50]}} snmp.0 10264 2022-08-08 16:52:48.632 debug processVarbind - [10_122_60_87] 10_122_60_87.Datum_Kalibrierung snmp.0 10264 2022-08-08 16:52:48.632 info [10_122_60_87] device (re)connected snmp.0 10264 2022-08-08 16:52:48.632 debug [10_122_60_87] session.get completed for chunk index 1 snmp.0 10264 2022-08-08 16:52:48.630 debug info.connection set to false snmp.0 10264 2022-08-08 16:52:48.630 info instance disconnected from all devices snmp.0 10264 2022-08-08 16:52:48.630 debug handleConnectionInfo snmp.0 10264 2022-08-08 16:52:48.627 debug readChunkOIDs - device "10_122_60_87" (10.122.60.87), chunk idx 1 snmp.0 10264 2022-08-08 16:52:48.627 debug [10_122_60_87] processing oid chunk index 1 snmp.0 10264 2022-08-08 16:52:48.627 debug [10_122_60_87] processing oid chunk index 0 completed snmp.0 10264 2022-08-08 16:52:48.626 info [10_122_60_87] device disconnected snmp.0 10264 2022-08-08 16:52:48.626 error [10_122_60_87] session.get: RequestFailedError: TooBig snmp.0 10264 2022-08-08 16:52:48.625 debug [10_122_60_87] session.get: RequestFailedError: TooBig snmp.0 10264 2022-08-08 16:52:48.624 debug [10_122_60_87] session.get completed for chunk index 0 snmp.0 10264 2022-08-08 16:52:48.620 debug readChunkOIDs - device "10_122_60_87" (10.122.60.87), chunk idx 0 snmp.0 10264 2022-08-08 16:52:48.620 debug [10_122_60_87] processing oid chunk index 0 snmp.0 10264 2022-08-08 16:52:48.620 debug readOIDs - device "10_122_60_87" (10.122.60.87) mqtt.0 3624 2022-08-08 16:52:46.118 info Client [Poolsteuerung] connected with secret 1659970366118_6179 snmp.0 10264 2022-08-08 16:52:43.653 debug handleConnectionInfo snmp.0 10264 2022-08-08 16:52:38.644 debug info.connection set to true snmp.0 10264 2022-08-08 16:52:38.643 info instance connected to at least one device snmp.0 10264 2022-08-08 16:52:38.643 debug handleConnectionInfo snmp.0 10264 2022-08-08 16:52:38.641 debug [10_122_60_87] processing oid chunk index 1 completed snmp.0 10264 2022-08-08 16:52:38.641 debug [10_122_60_87] update 10_122_60_87.Datum_Kalibrierung: 7/23/22 snmp.0 10264 2022-08-08 16:52:38.641 debug [10_122_60_87] 10_122_60_87.Datum_Kalibrierung(OctetString){"oid":"1.3.6.1.4.1.318.1.1.1.7.2.7.0","type":4,"value":{"type":"Buffer","data":[55,47,50,51,47,50,50]}} snmp.0 10264 2022-08-08 16:52:38.640 debug processVarbind - [10_122_60_87] 10_122_60_87.Datum_Kalibrierung snmp.0 10264 2022-08-08 16:52:38.640 info [10_122_60_87] device (re)connected snmp.0 10264 2022-08-08 16:52:38.639 debug [10_122_60_87] session.get completed for chunk index 1 snmp.0 10264 2022-08-08 16:52:38.632 debug info.connection set to false snmp.0 10264 2022-08-08 16:52:38.631 info instance disconnected from all devices snmp.0 10264 2022-08-08 16:52:38.631 debug handleConnectionInfo snmp.0 10264 2022-08-08 16:52:38.627 debug readChunkOIDs - device "10_122_60_87" (10.122.60.87), chunk idx 1 snmp.0 10264 2022-08-08 16:52:38.627 debug [10_122_60_87] processing oid chunk index 1 snmp.0 10264 2022-08-08 16:52:38.627 debug [10_122_60_87] processing oid chunk index 0 completed snmp.0 10264 2022-08-08 16:52:38.626 info [10_122_60_87] device disconnected snmp.0 10264 2022-08-08 16:52:38.626 error [10_122_60_87] session.get: RequestFailedError: TooBig snmp.0 10264 2022-08-08 16:52:38.625 debug [10_122_60_87] session.get: RequestFailedError: TooBig snmp.0 10264 2022-08-08 16:52:38.625 debug [10_122_60_87] session.get completed for chunk index 0 snmp.0 10264 2022-08-08 16:52:38.619 debug readChunkOIDs - device "10_122_60_87" (10.122.60.87), chunk idx 0 snmp.0 10264 2022-08-08 16:52:38.619 debug [10_122_60_87] processing oid chunk index 0 snmp.0 10264 2022-08-08 16:52:38.618 debug readOIDs - device "10_122_60_87" (10.122.60.87)
-
@jb_sullivan
Danke für deine Geduld udn die toll vollständigen Infos.Der Adapter splittet jetzt in 2 Requests mit 19 und mit 1 OID. Das ist das erwartetet Verhalten. Beim Processing von des ersten Requests (chunk 0, 19 OIDs) raised er noch immer ein TooBig. Daher werden diese 19 OIDs auch nicht befüllt. Beim 2ten Request gibts keinen Error - daher sind da daten da.
Kannst du mal den Paramater Paketsize drastisch runtersetzen? Auf z,B 15?
Leider kann ich das TooBig Problem hier absolut nicht nachstellen.Ich kann nur vermuten, dass 19 doch noch zu groß ist für die Zusammenstellung dieser 19 OIDs.
-
@mcm57 - ICH muss mich für deine Geduld bedanken !!! - also die "15" ist der Schlüssel zum Glück Jetzt werden alle 20 DP`s mit Werten gefüllt und der Adapter bleibt grün. Also ist die Version 2.1.4, zumindest bezogen auf mein Endgerät, "Stable" fähig
-
@jb_sullivan
Ok, zur Erklärung:
Wahrscheinlich würden jene 19 OIDs sie migt Parameter 19 nicht funktionieren auch alleine angehakt (also nur genau diese 19) nicht funktionieren. Ich vermute, dass sich die 19 die funktionieren knapp ausgehen. Allerdings kommt mir die Seriennummer als disablete OID nicht gerade lange vor - wenn das eine Modellbeschreibung wäre wärs einsichtiger. Andrerseits ist die Seriennummer ziemlich sicher ein String - und Datum Integers etc. sind ein paar Byte kürzer.Egal ich bin froh, dass es jetzt mal für dich funktioniert. Melde dich bitte (hier oder im Testerforum oder via Github Issue ) wenn noch was auftritt.
Ich hab mal einen Issue geschrieben, damitd er Adapter allenfalls selbst die Größe reduziert. Wenn ich das umstze könnte es sein, dass ich dich versuche zu erreichen ob du ev. das testen kannst. Ich kanns zumindest derzeit nur im Simulationsbereich / Debugger testen.
-
Nabend, mal eine Frage dazu:
Der Adapter läuft aber mich würde an der Stelle mal interessieren:
Warum setzt der Adapter die Onlinezeit zurück, wenn das "überwachte" Gerät offline ist.
Ist das so gewollt oder eine Einstellungssache ?
Danke....Mario
P.S. Fällt mir gerade noch ein. Bevor ich den Thread hier gelesen habe, lief bei mir noch die Version 1.0.0
Warum wurde mir kein Update angezeigt in den Adaptern ? -
ad Update:
Die Version 2.x.x ist noch im Test, d.h. sie ist nur im BETA / LATEST repository verfügbar. Ich vermute mal, dass du die Standardeinstellung STABLE (Tab Repositories in den Einstellungen) gewählt hast.ACHTUNG: Wenn du nicht explizit testen willst bitte keinesfalls auf BETA umstellen bzw. nur zur Installation eines Adapters xyz kurzzeitig auf BETA umstellen. Adapter im BETA / LATEST Repo sind nicht vollständig getestet und können (auch schwere) Fehler enthalten die ggF auch ein Restore der gesammten ioBroker Installation aus dem Backup erfordern können! Produktive Systeme sollten immer das Repository STABLE verwenden.
ad Onlinezeit:
Die Onlinezeit wird vom Adapter nicht explizit gesetzt. Ich gehe davon aus, dass diese vom Attribut info.connection (bzw. Verbunden mit Gerät oder Dienst) abgeleitet wird - was mir aber bisher nicht wirklich bewußt war.Dieser Datenpunkt soll anzeigen ob der Adapter erfolgreich läuft und wird auf false geschaltet, wenn sich der Adapter nicht mit mindestens einem Gerät erfolgreich verbunden hat. Das Verhalten ist so vorgesehen - falls ein anderes Verhalten gewunschen ist, bitte einen issue auf Github aufmachen und kurz begründen. Ich kann das dann gerne zur Diskussion stellen.
McM
-
@mcm57
Läuft auf nem Produktivsystem bis jetzt ohne Probleme.
Nutze den Adapter aber auch nur für nen Zyxel, TrueNAS unter Proxmox und eben für ne DS216 (die aber nur alle 12h an ist für30min). -
@roddief
Danke für Feedback.
Wenn dir bewußt ist was du tust ist es voll OK den Adapter einzusetzen. Ich wollte nur sicherstellen, dass ich niemand "verführe" einen wenig getesteten Adapter zu installieren und damit die Hausautomatisation lahmlege ohne des der / die BenutzerIn das selbst beheben kann.Schöne Grüße
McM