Ankündigung

Einklappen
Keine Ankündigung bisher.

Plugins programmieren

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

    #46
    Ich auch nicht, aber eine Rückmeldung die nur durch Daten aus dem Plugin gefüttert wird finde ich elegant.
    So nun beschäftige ich mich mal github um das einzuchecken .... ob das heute noch was wird ...
    Umgezogen? Ja! ... Fertig? Nein!
    Baustelle 2.0 !

    Kommentar


      #47
      Und was wäre eleganter als die 2-Item Lösung?
      Derzeit zwischen Kistenauspacken und Garten anlegen.
      Baublog im Profil.

      Kommentar


        #48
        Zitat von greentux Beitrag anzeigen
        Und was wäre eleganter als die 2-Item Lösung?
        Da fällt mir vor dem 0.9 Release nichts ein. :-)

        Bis bald

        Marcus

        Kommentar


          #49
          Kurz nochmal zurück ... ich kann den ganzen knx-plugin Änderungen im Moment noch nicht ganz folgen (ich denke halt noch in KNX ).

          Kann man jetzt (irgendwie) mit einem Lesetelegramm vom Bus bestimmte Aktionen in anderen Plugins durchführen?

          Grüße
          Umgezogen? Ja! ... Fertig? Nein!
          Baustelle 2.0 !

          Kommentar


            #50
            Hi,

            man eine Logik mit knx_reply bei read request triggern.
            Wenn man eine Logik mit knx_listen bindet, dann wir die Logik bei write requests getriggerd.

            Bis bald

            Marcus

            Kommentar


              #51
              Also nur der Weg über die zusätzlich Logik ?
              Umgezogen? Ja! ... Fertig? Nein!
              Baustelle 2.0 !

              Kommentar


                #52
                Zitat von JuMi2006 Beitrag anzeigen
                Also nur der Weg über die zusätzlich Logik ?
                Ja, aber erzähl doch was Du machen möchtest.

                Bis bald

                Marcus

                Kommentar


                  #53
                  Hab ich hier getan: https://knx-user-forum.de/316183-post43.html

                  Ist jetzt kein Killerfeature, eher die Frage ob sich da zwischenzeitlich was geändert hat da der Pi aus der Wärmepumpe rausfliegt und alles auf sh.py auf dem eigenen Server umgestellt wird.
                  Umgezogen? Ja! ... Fertig? Nein!
                  Baustelle 2.0 !

                  Kommentar


                    #54
                    ahh gut das ich den thread gefundne habe, hat sich wieder einiges aufgelöst

                    Zitat von mknx Beitrag anzeigen
                    Prinzipiell hängt das erst einmal vom Plugin ab. Wenn das Plugin bzw. das Backend an das die Anbindung realisiert wird gut ist, dann wird das Item sofort geändert. z.B. bei Asterisk, KNX,CLI, Network, Russound und Visu Plugin.

                    Die anderen Plugins müssen den Zustand (regelmäßig) pollen, da das Backend keine Notifications bei Änderung unterstützt.
                    wie genau wird das realisiert, denke mal es hat was mit handle_connection zu tun?
                    Beim pollen wird ein thread erstellt der endlos läuft und einmal z.b. beim starten angeworfen wird und nicht über cycle alle x sekunden aufgerufen wird?

                    welche methoden werden von sh.py aufgerufen und wann, gibts da irgendwo eine liste?

                    __init__ beim Plugin initialisieren
                    run beim starten des Plugins
                    stop beim stoppen des Plugins
                    parse_item ?
                    update_item ?
                    gibts noch mehrere und was passiert wenn diese methoden im plugin nicht existieren?

                    Fragen über Fragen, hoffe es kann jemand licht ins dunkle bringen

                    Danke!

                    Kommentar


                      #55
                      parse_item wird für jedes Item beim Start von sh.py aufgerufen. Diese Methode kann dann eine Funktion zurückgeben, die bei Itemänderung getriggert wird. Oft nennt man diese Methode update_item, aber prinzipiell kann man die Methode nennen wie man möchte. Schau dir nochmal ein paar Plugins an, dann sollte das nun klarer werden.
                      Mit freundlichen Grüßen
                      Niko Will

                      Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
                      - Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -

                      Kommentar


                        #56
                        alles klar danke, sprich momentan gibts nur die sourcen als doku?

                        Mir ist allerdings noch nicht ganz klar wie die Verbindung zur Aussenwelt realisiert wird die nicht über ein item kommt. Konkret geht es um eine serielle Schnittstelle an der sporadisch daten daherkommen, wenn diese daten kommen will ich prüfen ob ein item dafür konfiguriert wurde und wenn ja dieses updaten. Wie kann ich sh.py aber sagen das bei anstehenden daten an der seriellen schnittstelle die entsprechende methode aus meinem Plugin aufgerufen wird?

                        Kommentar


                          #57
                          In dem dein Plugin direkt auf die serielle Schnittstelle lauscht und ankommende Daten damit selber mitbekommt
                          Mit freundlichen Grüßen
                          Niko Will

                          Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
                          - Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -

                          Kommentar


                            #58
                            und wie erstellt man im plugin einen solchen task der ständig läuft?
                            mit self._sh.scheduler.add erstellte tasks werden ja zyklisch immer wieder von neuem gestartet?

                            Kommentar


                              #59
                              Ich würde in der run-Methode "verweilen" oder dort auf eine neue, eigene Methode verweisen. Sieh Dir mal das EnOcean Plugin diesbezüglich an.
                              Umgezogen? Ja! ... Fertig? Nein!
                              Baustelle 2.0 !

                              Kommentar


                                #60
                                Oder asynchat nutzen, das sollte auch mit einem seriellen Port gehen
                                Mit freundlichen Grüßen
                                Niko Will

                                Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
                                - Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -

                                Kommentar

                                Lädt...
                                X