Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Entwicklung
    4. [Anfänger] SNMP Adapter - Fragen Veröffentlichung v Updates

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [Anfänger] SNMP Adapter - Fragen Veröffentlichung v Updates

    This topic has been deleted. Only users with topic management privileges can see it.
    • AlCalzone
      AlCalzone Developer @Excodibur last edited by

      Ein Hiweis noch:

      @excodibur sagte in [Anfänger] SNMP Adapter - Fragen Veröffentlichung v Updates:

      Dateien lokal mit git add <dateiname> zum Index, also dem Bereich der alle Dateien enthält, die du ändern möchtest, hinzufügen
      Mit git status nochmal prüfen, welche Dateien jetzt auf dem Index sind (grün)
      Mit git commit -m "<Änderungskommentar>" alles was auf dem Index ist als (neueste) Änderung ablegen/einchecken
      Jetzt ist deine Änderung erstmal nur lokal versioniert, aber mittels git push kannst du sie an dein eigenes Online-Repo schicken

      Diese Schritte lassen sich in modernen Editoren wie VSCode auch komplett über die GUI machen. Ist hilfreich, wenn man mit git nicht so firm ist oder sich manche Befehle partout nicht merken kann/will.

      1 Reply Last reply Reply Quote 0
      • mcm1957
        mcm1957 last edited by mcm1957

        @alcalzone
        @excodibur

        Herzlichen Dank für eure ausführlichen Antworten.

        Ich dachte bisher forken ist nur was wenn man "abzweigen" will, sprich für die Zukunft 2 getrennte Wege gehen will. Wieder was gelernt.

        Ich werd das dann mal so machen wie du beschrieben hast. Vor der commandline hab ich keine Angst wenn ich es halbwegs verstehe. Aber das Verstehen hilft bei GUI noch mehr.

        Bei Visual Studio Code bin ich bisher immer gescheitert was zum Laufen zu bringen. Werd mich aber nochmal intensiver damit beschäftigen.

        Ich plane sowieso den snmp Adapter echt zu forken (z.B. als snmp-plus) da ich hier zB. die Konfiguration ob ich snmp V1 / V2 / V3 verwenden will einbauen will. Außerdem passt die Konfig m.E. nicht 100 %. Eigenlicht sollte man x Geräte (=IPs) anlegen können und dann je IP y OIDs. Ich seh das als Übrungs / Scchulungsprojekt. Ob dass dann public wird wird sich zeigen.

        Ich scheiter nur bei den ersten Experimenten mit Admin5/jsonConfig dran dass es nested Tabellen scheinbar nicht gibt (Admin crashed wenn ich sowas versuche) und dynamisch erscheinende Tabs auch nicht verfügbar sind. Und eine Dropdownliste die ihre Auswahl von eienr anderen Tabelle bekommt geht scheinbar auch nicht. (Und nein, manuelles Ausprogrammieren im GUI Bereich übersteigt meine Kenntnisse derzeit sicher). Auber dies Gui Fragen sind ein anderes Thema. Da such ich halt noch mal und frag wenn ich ein wenig mehr verstehe (oder glaube zu verstehen). Leider ist die Doku für Anfänger recht schwach. Aber ich schreib auch nicht gern Doku :-).

        McM

        AlCalzone Excodibur 2 Replies Last reply Reply Quote 0
        • AlCalzone
          AlCalzone Developer @mcm1957 last edited by

          @mcm57 sagte in [Anfänger] SNMP Adapter - Fragen Veröffentlichung v Updates:

          dran dass es nested Tabellen scheinbar nicht gibt (Admin crashed wenn ich sowas versuche) und dynamisch erscheinende Tabs auch nicht verfügbar sind

          Das klingt für mich nicht nach einer "einfachen Config", für die jsonConfig gedacht ist. Das kannste entweder mit HTML/MaterializeCSS/JS "händisch" machen, oder per React.

          Bei Visual Studio Code bin ich bisher immer gescheitert was zum Laufen zu bringen. Werd mich aber nochmal intensiver damit beschäftigen.

          Was meinst du mit "zum Laufen bringen"? Inzwischen gibts den https://github.com/ioBroker/dev-server, der dir das Debuggen im ioBroker-Kontext deutlich vereinfacht.

          mcm1957 1 Reply Last reply Reply Quote 0
          • Excodibur
            Excodibur Developer @mcm1957 last edited by

            @mcm57 said in [Anfänger] SNMP Adapter - Fragen Veröffentlichung v Updates:

            Ich plane sowieso den snmp Adapter echt zu forken (z.B. als snmp-plus) da ich hier zB. die Konfiguration ob ich snmp V1 / V2 / V3 verwenden will einbauen will. Außerdem passt die Konfig m.E. nicht 100 %. Eigenlicht sollte man x Geräte (=IPs) anlegen können und dann je IP y OIDs. Ich seh das als Übrungs / Scchulungsprojekt. Ob dass dann public wird wird sich zeigen.

            McM

            Wenn du den Adapter ohnehin grundlegend überarbeiten willst, kann ich dir nur empfehlen statt alten Code zu forken gleich einen "sauberen" neuen & "leeren" Adapter mit https://github.com/ioBroker/create-adapter zu erstellen, und dort dann mittles SNMP Lib deine Lösung zu implementieren. Durch den Adapter-Creator kriegst du extrem viele Sachen Out-of-the-Box, z.B. Github Build & Release Workflows inkl. Standard Testcases, AlCalzone's Release Script, Dependabot, die du sonst früher oder später vermissen wirst und nachträglich ans Laufen kriegen musst. Zudem hast du da Code-seitig ein einheitliches Grundgerüst, das viele ioBroker Adapter verwenden und du so ggf. auch mal in den Quellcode von anderen Adaptern "zur Inspiration" 🙂 reinschauen kannst.

            Der aktuelle Adapter scheint ja code-seitig nicht besonders viel zu machen und 90% würdest du wahrscheinlich sowieso umschrieben, also könnte der "frische Start" schon sinnvoll sein.

            1 Reply Last reply Reply Quote 1
            • cash
              cash Most Active last edited by

              ich für meine Teil würde mich freuen wenn es endlich die Funktion für Geräte gibt die nicht 24h eingeschaltet sind.

              mcm1957 2 Replies Last reply Reply Quote 0
              • mcm1957
                mcm1957 @cash last edited by

                @cash

                Ok - ich versuch zwar grad eine ganz neue Version zu machen. Ist aber mehr ein Lernprojekt zur Zeit. Vor allem die jsonConfig.json tut im Bereich der Tabellen nicht wirklich immer das was ich erwarte. Ein Teil dürften Fehler sein (zumindest wurden die Meldungen als Bug mal angenommen) - ein Teil aber sicher Fehlbedienungen.

                Ich werd aber mal den jetzigen snmp mit der Funktion für non-24h Geräte im Laufe der Woche uploaden. Ev. kannst du ihn dann ja mal in der Beta testen.

                McM

                1 Reply Last reply Reply Quote 0
                • mcm1957
                  mcm1957 @AlCalzone last edited by

                  @alcalzone

                  Ja ich versuch jedenfalls einen neuen Adapter umzusetzen. Ich seh das zur Zeit als Lernprojekt.

                  @dev-server
                  Ja den versuch ich zu verwenden. So ganz tut er aber nicht was ich will :-).

                  @neu
                  Ja ich hab mal einen neuen Adapter mittels
                  npx @iobroker/create-adapter
                  angelegt.

                  Das geht an sich ganz gut. Dvp versuch / mach ich unter Windows. Sollte ja an sich kein Problem sein. Config versuch ich mit jsonConfig.json zu machen. Meine html Kenntnisse enden bei einfachem html. Und mangels echter Doku kann ich in css sicher nichts brauchbares erzeugen - dazu reicht einfach nicht, dass man die drei Buchstaben kennt. Und react sagt mir nichts.

                  Mit jsonConfig.json kann ich mir vorstellen das Ganze mit 2 Tabs zu lösen

                  1. Tab - Liste der Geräte (d.h ip, snmp v1/2/3, timeouts etc
                  2. Tab - Liste der OIDs mit Querverweis zum Gerät (wahrscheinlich über eine "id" Nummer).

                  Nur leider gibts bei den Tabellen noch Probleme.
                  a) width attribute funktioniert nicht mit % (bzw. nur wenn nach dem % ein Leerzeichen eingefügt wird)
                  b) Default function funktioniert nicht
                  c) Mit der validate funtkion komm ich auch nicht auf gleich.

                  Zu a) und b) gibts Issues in iobroker.admin.
                  Die Validate wird zwar aufgerufen und wenn man true retourniert meldet sie auch OK. Aber jeder Versuch auch Daten zuzugreifen liefer immer false retour. Wenn da wer ein Beispiel hat wie das aussehen könnte wär ich dankbar.

                  Aber wie gesagt - das Ganze ist mal Lernphase. Immerhin kann ich zwar c programmieren und weiß auch was tasks od. tcp io funktionen, mutices od semaphoren sind - aber javascript ist mir neu und VS Code kenn ich nur dem Namen nach. Ergo jede Menge zu lernen.

                  Und gleich noch ne konkrete Frage:
                  Wo sehe ich console.log output? In welche Datei schreibt das das ioBroker system ??? Ok, debugger sind gut - aber manchmal helfen "juhu" Debugegr schneller zum Zeil - nur müßte man den Output halt finden :-). (Konkret: wenn ich z.B. als validate function console..log("juhu") angebe dann find ich nirgends ein juhu :-(.

                  McM

                  AlCalzone 1 Reply Last reply Reply Quote 0
                  • AlCalzone
                    AlCalzone Developer @mcm1957 last edited by

                    @mcm57 sagte in [Anfänger] SNMP Adapter - Fragen Veröffentlichung v Updates:

                    Wo sehe ich console.log output?
                    In welche Datei schreibt das das ioBroker system ???

                    Wenn du dev-server nutzt, in folgendem Unterverzeichnis deines Projekts: .dev-server/default/log.
                    Bin mir aber gerade nicht sicher, ob da nicht nur die "richtigen" iobroker logs landen, also die per this.log.info(...) erstellt wurden.

                    mcm1957 1 Reply Last reply Reply Quote 0
                    • mcm1957
                      mcm1957 @AlCalzone last edited by

                      @alcalzone said in [Anfänger] SNMP Adapter - Fragen Veröffentlichung v Updates:

                      @mcm57 sagte in [Anfänger] SNMP Adapter - Fragen Veröffentlichung v Updates:

                      Wo sehe ich console.log output?
                      In welche Datei schreibt das das ioBroker system ???

                      Wenn du dev-server nutzt, in folgendem Unterverzeichnis deines Projekts: .dev-server/default/log.
                      Bin mir aber gerade nicht sicher, ob da nicht nur die "richtigen" iobroker logs landen, also die per this.log.info(...) erstellt wurden.

                      Ok - die log.info / log.warn etc. stehen da definitiv drinnen.
                      ob conloge.log rein geht muss ich mal testen. Ev. liegt es ja auch darin, dass die validator Funktion lt. jsonConfig.json nicht im Kontext meines Adapters sondern im Prozesskontext des Admin Adpaters ausgeführt wird. Nur wo loggt der hin? Auch ins .dev-server/default/log ?

                      AlCalzone 1 Reply Last reply Reply Quote 0
                      • AlCalzone
                        AlCalzone Developer @mcm1957 last edited by

                        @mcm57 sagte in [Anfänger] SNMP Adapter - Fragen Veröffentlichung v Updates:

                        Nur wo loggt der hin?

                        Ich würde mal ganz doof vermuten in das Browser-Log, welches du in den Developer tools (F12) sehen kannst.

                        1 Reply Last reply Reply Quote 0
                        • mcm1957
                          mcm1957 @cash last edited by

                          @cash said in [Anfänger] SNMP Adapter - Fragen Veröffentlichung v Updates:

                          ich für meine Teil würde mich freuen wenn es endlich die Funktion für Geräte gibt die nicht 24h eingeschaltet sind.

                          Ich habe´die Modifikationen mal auf github gestellt.
                          Du solltest den modifizierten Adapter von https://github.com/mcm1957/ioBroker.snmp installieren können. Er sollte sich als 0.6.0-beta identifizieren.

                          Die Releasenotes hab ich zwar eingetragen - aber im Admin sieht man sie nicht. Ich vermute, dass der Admin immer auf der "offizielle" url nachsieht. Die hab ich in io-package.json nicht umgestellt.

                          Falls du dich traust den Adapter zu testen gib bitte ein kurze Feedback. In jedem Fall sicher deine alte Config vorher. Es wurde zwar nichts (bewußt) an der Config geändert sodass ein downgrade auf die offizielle Version funktionieren sollte - aber sicher ist sicher.

                          Getestet hab ich mit einem CS510 Lexmark Laser und einem Netgear GS308T Switch (wobei dieser 24h läuft 🙂

                          McM

                          P.S. Wie ich dann einen Pull Request mach frag ich wenn klar ist, dass die Änderung passt.
                          Es gibt lt. Git Repo noch jede Menge branches von dependabot - da weiß ich auch nicht ob da was rein sollte (und wenn ja wie ...)

                          cash 4 Replies Last reply Reply Quote 0
                          • cash
                            cash Most Active @mcm1957 last edited by

                            @mcm57 Das testen war leider schnell vorbei. Keine Verbindung… Installation lief ohne Fehler durch aber der Adapter wird nicht grün. Derzeit habe ich nur die 24/7 Geräte in der Liste aktiv.

                            1 Reply Last reply Reply Quote 0
                            • cash
                              cash Most Active @mcm1957 last edited by

                              @mcm57 Seltsam er scheint die Werte von dem NAS zu aktualisieren. Ich gucke gleich nochmal wenn ich Zeit habe muss jetzt erstmal in die Küche…

                              1 Reply Last reply Reply Quote 0
                              • cash
                                cash Most Active @mcm1957 last edited by

                                @mcm57 Also nach der Pause war der Adapter jetzt grün. In der Zwischenzeit habe ich dann mal den Drucker angeschaltet und im Adapter den Drucker aktiviert. Nach dem Start ist der Adapter wieder gelb aber die Datenfelder wurden sofort von den Geräten abgerufen. Ich vermute wenn ich jetzt etwas warte wird der Adapter auch wieder grün. Könnte mit der großen Pause bei mir zwischen den Abrufen zusammen hängen. Vielleicht war das vorher auch schon so aber ich habe da nie drauf geachtet zumal ich ioBroker tagsüber eigentlich nie neu starte. Ich habe im Adapter 10 Minuten eingestellt.

                                Ich warte jetzt nochmal 30 Minuten und schalte dann den Drucker aus dann sollte ich ja hooffentlich kein zugemültes Log mehr sehen…

                                1 Reply Last reply Reply Quote 0
                                • cash
                                  cash Most Active @mcm1957 last edited by

                                  @mcm57 so also der Adapter wurde dann irgendwann wieder grün. Also Drucker aus und es kam im Log genau ein warn das die IP nicht erreichbar. Der Info Datenpunkt „connection“ von der IP bleibt aber auf true? Ich hätte vermutet der wird false? Ansonsten sieht alles gut aus. Wenn ich mir direkt was wünschen dürfte?
                                  Bitte kein warn wenn Gerät nicht erreichbar. Ist eine ganz normale Info. Wer überprüfen will ob ein Gerät erreichbar ist kann den PING Adapter nutzen und sich dann z.B. bei den Geräten, die nie nicht erreichbar sein sollen eine Push oder was auch immer schicken lassen.
                                  Der zweite Wunsch wäre, dass man das Abrufintervall pro IP festlegen kann.

                                  Auf jeden Fall danke das Du Dich den Adapter mal annimmst.

                                  mcm1957 1 Reply Last reply Reply Quote 0
                                  • mcm1957
                                    mcm1957 @cash last edited by mcm1957

                                    @cash said in [Anfänger] SNMP Adapter - Fragen Veröffentlichung v Updates:

                                    @mcm57 Das testen war leider schnell vorbei. Keine Verbindung… Installation lief ohne Fehler durch aber der Adapter wird nicht grün. Derzeit habe ich nur die 24/7 Geräte in der Liste aktiv.

                                    Der Adapter wird grün sobald zumindest ein Gerät eine Verbindung hat, gelb wenn keines mehr eine Verbindung hat. Allerdings wird diese Umschaltung über einen eigenen Intervallthread (Intervalltimer) gesteuert der über "Poll Intervall" geschalten wird. Wenn du ein längeres Poll intervall hat, kann das schon mal dauern. Ich werd das mal hardcoded auf ein geringeres Intervall stellen.

                                    @cash said in [Anfänger] SNMP Adapter - Fragen Veröffentlichung v Updates:

                                    @mcm57 so also der Adapter wurde dann irgendwann wieder grün. Also Drucker aus und es kam im Log genau ein warn das die IP nicht erreichbar. Der Info Datenpunkt „connection“ von der IP bleibt aber auf true? Ich hätte vermutet der wird false? Ansonsten sieht alles gut aus. Wenn ich mir direkt was wünschen dürfte?
                                    Bitte kein warn wenn Gerät nicht erreichbar. Ist eine ganz normale Info. Wer überprüfen will ob ein Gerät erreichbar ist kann den PING Adapter nutzen und sich dann z.B. bei den Geräten, die nie nicht erreichbar sein sollen eine Push oder was auch immer schicken lassen.
                                    Der zweite Wunsch wäre, dass man das Abrufintervall pro IP festlegen kann.

                                    Auf jeden Fall danke das Du Dich den Adapter mal annimmst.

                                    ad warning: Ok, das kann ich auf info umstellen wenn das sinnvoller erscheint.

                                    ad Abruf Intervall pro IP: Das hab ich auf der Liste für eine Reimplementierung (Arbeitstitel snmp-plus). Sorry, aber für den derzeitigen snmp Adapter bau ich das wahrscheinlich nicht mehr ein.

                                    ad per IP Info: Ja die sollte false werden, wenn der Drucker abgeschaltet ist. Schau mir das nochmal an.

                                    cash 1 Reply Last reply Reply Quote 0
                                    • cash
                                      cash Most Active @mcm1957 last edited by

                                      @mcm57 Wenn ich mal irgendwann den snmp-plus testen soll kannst Du dich gerne melden 🙂
                                      Die Beta läuft weiterhin sehr unauffällig für mich. Also alles so wie es sein soll.

                                      mcm1957 1 Reply Last reply Reply Quote 0
                                      • mcm1957
                                        mcm1957 @cash last edited by

                                        @cash

                                        Hi
                                        Ich hab deine letzten Anmerkungen einfließen lassen.

                                        • Timeout ist nur mehr eine Info
                                        • Update des info.connected sollte nun rasch(er) erfolgen. Ich triggere dies nun mittels setImmidiate und hab den Timer nurmehr als Sicherheitsschleife laufen
                                        • Beim Setzen des info.connected je IP hab war die initialisierung unsauber. Je nachdem ob beim Start des Adapters das Gerät erreichbar war oder nicht konnte da ein falscher Wert sichtbar sein. Das sollte nun auch behoben sein.
                                        • Ich hab die Korrekturen der Abhängigkeiten die dependabot gemeldet hat rein gemerged.

                                        Falls du oder sonst wer Lust auf einen weiteren Test hat:

                                        https://github.com/mcm1957/ioBroker.snmp/tree/V0.6.1

                                        McM

                                        cash 1 Reply Last reply Reply Quote 0
                                        • cash
                                          cash Most Active @mcm1957 last edited by

                                          @mcm57 von meiner Seite läuft der Adapter unauffällig. Die Stati passen. Sieht alles sehr gut. Vielen Dank.

                                          Homoran mcm1957 2 Replies Last reply Reply Quote 0
                                          • Homoran
                                            Homoran Global Moderator Administrators @cash last edited by

                                            @cash Ein wenig OT:
                                            Ich habe den bisherigen SNMP Adapter wieder deaktiviert, weil durch ihn die Platten der Syno nicht mehr in den Sleep gingen.
                                            Hast du da etwas vergleichbares mit dem neuen Adapter?

                                            cash mcm1957 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            465
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            beginner git snmp
                                            6
                                            31
                                            1394
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo