Ankündigung

Einklappen
Keine Ankündigung bisher.

Eigene Plugins erstellen.

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    [callidomus] Eigene Plugins erstellen.

    Hi Marcus,

    ist die Anleitung von Smarthome.py zur Erstellung von Plugins noch größtenteils gültig? Ich muss mir für meine Baudisch Türsprechanlage was bauen damit der Anruf aufgelegt wird wenn die Tür geöffnet wird.

    VG
    Jürgen

    #2
    Hallo Jürgen,

    ja, das ist sie. Die Schnittstellen sind bislang identisch.
    Es gibt allerdings noch ein paar zusätzliche Files damit diese in die GUI integriert werden.
    Dazu in den nächsten zwei Wochen mehr.

    Bis bald

    Marcus

    Kommentar


      #3
      Hi Marcus,

      wirst du auch sowas wie eine Gitseite zum sammeln der Plugins einrichten?

      VG Jürgen

      Kommentar


        #4
        Hi Marcus,
        ich würde wirklich gerne mal mein plugin für die Türsprechanlage machen.
        Viele Grüsse
        Jürgen

        Kommentar


          #5
          Hi Jürgen,

          wenn es eilig ist - würde nicht erst mal eine Logik reichen? Das dann später in ein Plugin zu überführen (falls nötig) sollte ein Klacks sein. Ich werde die eKey-Anbindung auch erstmal als Logik lösen und später mal in ein Plugin überführen.

          Gruß, Waldemar
          OpenKNX www.openknx.de

          Kommentar


            #6
            Hi Waldemar,
            muss mal schauen ob es von den Imports hinhaut. Aber probieren könnte ich das mal.
            Viele Grüsse
            Jürgen

            Kommentar


              #7
              Hi,
              den ersten teil auf das öffnen meiner Tür einen UDP String zusammenbauen und an das Türmodul schicken geht schon mal.

              Darf man in einer Logick auch einen Thread aufmachen der auf ein socket lauscht?

              Viele Grüsse
              Jürgen

              Kommentar


                #8
                Zitat von heckmannju Beitrag anzeigen
                Darf man in einer Logick auch einen Thread aufmachen der auf ein socket lauscht?
                Moin,
                ich weiß nicht, was du machen willst, aber vielleicht brauchst du das gar nicht. Wenn du nur auf einen Port lauschen willst, lass das ein Item über das network plugin machen. Das triggert dann eine Logik, sobald was am Port eingeht.
                Gruß Waldemar
                OpenKNX www.openknx.de

                Kommentar


                  #9
                  Hallo Jürgen,
                  Zitat von heckmannju Beitrag anzeigen
                  Darf man in einer Logick auch einen Thread aufmachen der auf ein socket lauscht?
                  man könnte. Praktisch, rate ich davon ab, da es im Handling kompliziert wird.

                  Bis bald

                  Marcus

                  Kommentar


                    #10
                    Zitat von mumpf Beitrag anzeigen
                    Wenn du nur auf einen Port lauschen willst, lass das ein Item über das network plugin machen. Das triggert dann eine Logik, sobald was am Port eingeht.
                    Erwartet das NW Plugin nicht einen bestimmt formatierten input string?

                    Kommentar


                      #11
                      Nein, es hängt davon ab, was Du machen möchtest.
                      1. Du kannst ein (string) Item auf einen bestimmten Port hören lassen und dann bekommt das Item einfach den Wert, der an dem Port ankommt.
                      2. Außerdem gibt es noch den generic Listener, da lauscht das Plugin selbst an einem Port (default 2727, zumindest bei sh.py) auf Nachrichten der Form "item|<itempath>|<value>", und wenn so was ankommt, setzt es den Itemwert. So kann man generisch jedes Item setzen, aber nur in dem Fall muss man eine spezielle Form einhalten.
                      Für Dich wäre aber Version 1 das Richtige. Ich werde das bei meiner eKey-Logik wohl auch so machen. Von Threads würde ich abraten, wenn Du so was machst, musst Du es auch verwalten - und so wie ich Dich kenne willst Du das nicht

                      Gruß, Waldemar

                      P.S.: hier die sh.py-Doku fürs Netzwerk-Plugin: http://mknx.github.io/smarthome/plugins/network.html
                      OpenKNX www.openknx.de

                      Kommentar


                        #12
                        Hi,
                        ich kannte bis jetzt nur den Fall2.

                        @Markus,
                        warum verlinkst du die Doku nicht einfach?

                        Viele Grüsse
                        Jürgen

                        Kommentar


                          #13
                          Was ist der unterschied von nw_udp_listen zu nw_tcp_listen? Ist das der unterschied den mumpf oben angesprochen hat oder nur das tcp stat udp zum übertragen benutzt wird?
                          Zuletzt geändert von heckmannju; 04.07.2016, 14:46. Grund: Ergänzung der Frage

                          Kommentar


                            #14
                            Hi Jürgen,

                            udp_listen hört auf udp-Pakete, tcp_listen auf tcp-Pakete. Mein eKey-Item sieht z.B. so aus:
                            Code:
                                    "Ekey": {
                                        "name": "eKey string",
                                        "type": "str",
                                        "nw_udp_listen": "192.168.x.x:nnnn",
                                        "enforce_updates": true,
                            Wenn Deine Türstation natürlich tcp-Pakete sendet, musst Du nw_tcp_listen nehmen.

                            Gruß, Waldemar
                            OpenKNX www.openknx.de

                            Kommentar


                              #15
                              Hi,

                              meine Türstation sendet aber nicht in diesem Format wie es vom NW Plugin erwartet wird.
                              • item|item.path|value
                              • logic|logic_name|value
                              • log|loglevel|message # loglevel coud be info, warning or error

                              VG
                              Jürgen

                              Kommentar

                              Lädt...
                              X