Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Entwicklung
    4. [Hilfe] Adpaterentwicklung / newbie

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [Hilfe] Adpaterentwicklung / newbie

    This topic has been deleted. Only users with topic management privileges can see it.
    • Stuebi
      Stuebi last edited by

      Hallo,

      ich schreibe gerade meinen ersten Adapter. Das Javascript extrem neu ist (komme aus der SAP Entwicklung), bin ich mir nicht sicher, ob ich alles richtig gemacht habe. Über Tipps würde ich mich freuen!

      <u>Aufgabe des Apapters:</u>

      Alarmanlagen wie z.B. die Lupusec XT1/XT2 und XT3 können mit dem Contact ID Protokoll über IP alle Zustände und Informationen der Alarmanlage detailliert übertragen. Sicherheitsdienste nutzen das Protokoll um Alarmmeldungen zu empfangen.

      Leider gibt es kleine Unterschiede bei der Umsetzung des Protokolls. So will die Lupusec XT1 als Rückmeldung (Acknowledge) ein 0x6 und die Lupusec XT2die gesendete Meldung zurück.

      https://github.com/schmupu/ioBroker.contactid

      VG

      Stübi

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

        Super, schaue heute Abend rein. Allererstes Feedback: github repo muss es „ioBroker.deinname“ sein. Das B 😉

        Am besten schnell umbenennen und alle Links in der io-Package korrigieren.

        Nur das npm Paket hate in kleines „b“

        1 Reply Last reply Reply Quote 0
        • Jey Cee
          Jey Cee Developer last edited by

          In der package.json musst du noch die n Namen der JS Datei ändern, Main.JS in contactid.JS.

          Gesendet von meinem m8 mit Tapatalk

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

            @apollon77:

            Super, schaue heute Abend rein. Allererstes Feedback: github repo muss es „ioBroker.deinname“ sein. Das B 😉

            Am besten schnell umbenennen und alle Links in der io-Package korrigieren.

            Nur das npm Paket hate in kleines „b“ `

            super danke! ich habe das Paket umbenannt! Jetzt muss ich mich noch mit npm beschäftigen um den Adapter dort hochzuladen. Oder kann man dieses von Github importieren?

            https://github.com/schmupu/ioBroker.contactid
            
            1 Reply Last reply Reply Quote 0
            • Stuebi
              Stuebi last edited by

              @Jey Cee:

              In der package.json musst du noch die n Namen der JS Datei ändern, Main.JS in contactid.JS.

              Gesendet von meinem m8 mit Tapatalk `
              danke, ich habe in der package.json, die Datei umbenannt.

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

                Du kennst das schon: http://forum.iobroker.net/viewtopic.php?f=24&t=6383 ?!

                Da ist ein Link zu npm howto drin. Sehr simpel.

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

                  Gleich zwei Fragen.

                  Ich lege im Adapter, channels an. Die Namen der Channels sind in der Konfiguration als Subscriber hinterlegt. Ändert oder löscht man nun den Subscribernamen, müsste ich den Channel und die dazugehörigen Statuts (ist das die Mehrzahl von Status?) ändern bzw. löschen.

                  Gibt es einen einfachen Weg dieses zu tun?

                  Beim einrichten einer Instanz, wird die Instanz schon gestartet, obwohl man noch in der Konfiguration des Adapters steckt. Wie kann man das Verhalten ändern?

                  Danke für die Hilfe!

                  VG

                  Stübi

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

                    @apollon77:

                    Du kennst das schon: http://forum.iobroker.net/viewtopic.php?f=24&t=6383 ?!

                    Da ist ein Link zu npm howto drin. Sehr simpel. `

                    klasse, die Anleitung hat geholfen. Ich hoffe ich habe alles richtig gemacht!

                    https://www.npmjs.com/package/iobroker.contactid

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

                      @tstueben:

                      Ich lege im Adapter, channels an. Die Namen der Channels sind in der Konfiguration als Subscriber hinterlegt. Ändert oder löscht man nun den Subscribernamen, müsste ich den Channel und die dazugehörigen Statuts (ist das die Mehrzahl von Status?) ändern bzw. löschen.

                      Gibt es einen einfachen Weg dieses zu tun? `
                      Einfach nicht wirklich.

                      Was du machen müsstest zum Start des Adapters wäre alle Channels in deinem Adapter-Namespace abzufragen und mit deiner Konfig zu vergleichen und entsprechend zu löschen oder anzulegen.

                      Es gibt Adapter die machen das so … muss ich heute abend mal raussuchen.

                      Vllt hilft die Funktion getAdapterObjects() weiter ... (https://github.com/ioBroker/ioBroker.js ... r.js#L1041)

                      @tstueben:

                      Beim einrichten einer Instanz, wird die Instanz schon gestartet, obwohl man noch in der Konfiguration des Adapters steckt. Wie kann man das Verhalten ändern? `
                      Das ist normal weil es Adapter gibt die bei der Konfiguration benötigt werden um Daten abzufragen (z.B. Liste der Seriellen Ports oder sowas). Kannst einfach per adapter.log.error einen Fehler ausgeben und nichts weiter machen. Wenn Du es gar nicht willst kannst du in der io-package.json common.enabled einfach auf "false" setzen, dann wird die neue Instanz nicht aktiviert und startet daher nicht. User muss also nach der ersten Konfig die Instanz manuell starten. Die beiden optionen hast Du aktuell.

                      Nach speichern der Konfiguration gibts automatisch einen Neustart.

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

                        Also ich habe mal durchgeschaut.

                        • .travis.yml fehlt (denke dir sind die "." files durch die Lappen gegangen)

                        '* Testing aktivieren. Dazu bei travis-ci.org und appveyor.com mit dem GitHub Account registrieren und dann löst jeder commit tests aus

                        • io-package: ich denke du brauchst keinen vis restart bei Install oder ?! 😉

                        • am besten schmeiss noch das raus was du nicht brauchst (onObjectChange, onMessage und so)

                        Rest sieht soweit gut aus …

                        Super arbeit!

                        Ingo

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

                          @apollon77:

                          Also ich habe mal durchgeschaut.

                          • .travis.yml fehlt (denke dir sind die "." files durch die Lappen gegangen)

                          '* Testing aktivieren. Dazu bei travis-ci.org und appveyor.com mit dem GitHub Account registrieren und dann löst jeder commit tests aus

                          • io-package: ich denke du brauchst keinen vis restart bei Install oder ?! 😉

                          • am besten schmeiss noch das raus was du nicht brauchst (onObjectChange, onMessage und so)

                          Rest sieht soweit gut aus …

                          Super arbeit!

                          Ingo `

                          Ich habe die fehlenden Files in GitHub eingebunden und mich bei travis-ci.org und appveyor.com registriert. Wobei ich nicht genau weiß, was ich dort einstellen muss und wofür das Beides da ist.

                          Ist komplizierter als ich gedacht habe.

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

                            @apollon77:

                            @tstueben:

                            Ich lege im Adapter, channels an. Die Namen der Channels sind in der Konfiguration als Subscriber hinterlegt. Ändert oder löscht man nun den Subscribernamen, müsste ich den Channel und die dazugehörigen Statuts (ist das die Mehrzahl von Status?) ändern bzw. löschen.

                            Gibt es einen einfachen Weg dieses zu tun? `
                            Einfach nicht wirklich.

                            Was du machen müsstest zum Start des Adapters wäre alle Channels in deinem Adapter-Namespace abzufragen und mit deiner Konfig zu vergleichen und entsprechend zu löschen oder anzulegen.

                            Es gibt Adapter die machen das so … muss ich heute abend mal raussuchen.

                            Vllt hilft die Funktion getAdapterObjects() weiter ... (https://github.com/ioBroker/ioBroker.js ... r.js#L1041) `
                            Guter Tipp mit der Funktion getAdapterObjects() . Damit habe ich es umgesetzt.

                            @apollon77:

                            @tstueben:

                            Beim einrichten einer Instanz, wird die Instanz schon gestartet, obwohl man noch in der Konfiguration des Adapters steckt. Wie kann man das Verhalten ändern? `
                            Das ist normal weil es Adapter gibt die bei der Konfiguration benötigt werden um Daten abzufragen (z.B. Liste der Seriellen Ports oder sowas). Kannst einfach per adapter.log.error einen Fehler ausgeben und nichts weiter machen. Wenn Du es gar nicht willst kannst du in der io-package.json common.enabled einfach auf "false" setzen, dann wird die neue Instanz nicht aktiviert und startet daher nicht. User muss also nach der ersten Konfig die Instanz manuell starten. Die beiden optionen hast Du aktuell.

                            Nach speichern der Konfiguration gibts automatisch einen Neustart. `

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

                              @tstueben:

                              @apollon77:

                              Ich habe die fehlenden Files in GitHub eingebunden und mich bei travis-ci.org und appveyor.com registriert. Wobei ich nicht genau weiß, was ich dort einstellen muss und wofür das Beides da ist.

                              Ist komplizierter als ich gedacht habe.
                              Vllt hilft viewtopic.php?t=4334 … wir wollen so sicherstellen das die Adapter sich installieren lassen und haben so eine Option wirklich Adapter auch logisch und auf Funktion zu Testen (optional)

                              Vor allem aber geht es auch darum den Entwicklern die Option zu bieten Sicherheit bei Updates zu haben das es grundsätzlich noch alles tut.

                              1 Reply Last reply Reply Quote 0
                              • First post
                                Last post

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              785
                              Online

                              31.7k
                              Users

                              79.8k
                              Topics

                              1.3m
                              Posts

                              3
                              13
                              853
                              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