Ankündigung

Einklappen
Keine Ankündigung bisher.

warum gibt es keinen knx_cache mehr?

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

    [callidomus] warum gibt es keinen knx_cache mehr?

    Hi,

    was ist eigentlich asu dem knx_cache geworden warum gibt es den nicht mehr? Damit konnte ja effektiv das übermässige abfragen der Items auf den knx bus vermieden werden. Gibt es dazu eine massnahme in Callidomus um die vielen Request die dadurch notwendig werden abzufangen?

    Bei Temperaturen ist es einfach da kann ich einfach den Wert zwischenspeichern bei Fenstern und Türen oder Lichtern geht das nicht da will man/ich immer den richtigen wert haben.

    Viele Grüsse
    Jürgen



    #2
    Hi Jürgen,

    ich tippe mal, dass das weggefallen ist, weil jetzt direkt mit dem IP Interface/Router kommuniziert wird.
    Das Abfragen der Werte ging glaube ich nur in Verbindung mit eibd, weil der die Sachen gecached hat und sich smarthome.py somit beim Starten aus dem cache des eibd bedienen konnte.

    Gruß,
    Henning

    Kommentar


      #3
      Hallo,

      Henning hat richtig getippt.

      Es braucht dafür einen eigenständigen Cache/Busmonitor der möglichst permanent läuft.
      Ich schreibe es einmal auf die Wunschliste.

      Bis bald

      Marcus

      Kommentar


        #4
        Hi,

        da denke ich das das viele haben wollen...

        Wenn das 1-wire plugin da ist kann ich dann den owfs welcher auf dem Wiregate läuft anzapfen und die werte z.b. von meine IOs auch ohne knx_init holen?

        VG
        Jürgen

        Kommentar


          #5
          Hi,

          ein Grund, warum ein knx_cache interessant ist: Ein Read auf dem Bus kann Nebeneffekte verursachen. Wenn nicht alles absolut sauber ist und mehr als ein KO auf einen Read antwortet und durch ungünstige Flags die beiden nicht in Sync sind, können durch den Reply ungewollte Schaltaktionen passieren.
          Das ist zwar kein Fehler von callidomus sondern vom Bus-Setup, aber ein cache vermindert dieses Problem.

          Ferner kann es noch in seltenen Fällen passieren, dass durch die Antwort auf einen Read eine Logik in callidomus angestoßen wird, die so nicht gewollt ist, aber da hat Markus schon einen "Wunsch" von mir auf dem Tisch

          Damit wollte ich sagen:

          Gruß, Waldemar
          OpenKNX www.openknx.de

          Kommentar


            #6
            Zitat von heckmannju Beitrag anzeigen
            Wenn das 1-wire plugin da ist kann ich dann den owfs welcher auf dem Wiregate läuft anzapfen und die werte z.b. von meine IOs auch ohne knx_init holen?
            Das 1-Wire Plugin wird hoffentlich kein Wiregate voraussetzen sondern es erlauben, selber über USB einen Busadapter anzuschließen!!!

            Kommentar


              #7
              Zitat von heckmannju Beitrag anzeigen
              Wenn das 1-wire plugin da ist kann ich dann den owfs welcher auf dem Wiregate läuft anzapfen und die werte z.b. von meine IOs auch ohne knx_init holen?
              Hi Jürgen,

              ich weiß nicht, ob die IOs periodisch senden, aber für alle periodisch häufig gesendeten Werte kannst Du das knx_init einfach weglassen und nur knx_listen machen. Dann in callidomus noch "Aufzeichen" oder "Zwischenspeicher" anklicken und das hat sich. Das Item hat dann den letzten Wert bis ein neuer über den Bus kommt.

              Gruß, Waldemar

              OpenKNX www.openknx.de

              Kommentar


                #8
                Hi Marcus,

                es gäbe eine schnelle Möglichkeit, eine Art knx_cache zu unterstützen und den Bus zu schonen... vor allem, weil so ein callidomus.core restart schnell mal im admin-ui angeklickt ist.

                Du machst eine Zeit konfigurierbar (global oder pro Item oder beides), die sagt, wie alt ein Item sein darf, bevor ein knx_init abgefeuert wird. Wenn ich einen restart mache und das Item-Alter ist kleiner als der Grenzwert, wird der Wert aus Deinem cache bzw. dem trace geholt. Ansonsten wird der knx_init gefeuert. Wenn jemand die Zeit auf 0 setzt, dann ist das Verhalten wie jetzt, der Default könnte z.B. 5 Sekunden sein, das würde einen Restart ohne knx_init-Calls erlauben.

                Mir ist klar, dass das nicht wasserdicht ist, da in der Zwischenzeit Protokolle verloren gehen können, aber wenn es den Parameter auch pro Item gäbe, könnte man global z.B. 5 Sekunden setzen und bei wichtigen Items ne 0.

                Ist nur so ne Idee,
                Gruß, Waldemar

                P.S.: Ich mach mich jetzt auf nach Würzburg, bis nachher...
                OpenKNX www.openknx.de

                Kommentar


                  #9
                  Bei Temperaturen und VOC und Luftfeucht ist das okay. Bei den Fenster muss das aber meiner meinung nach der Wert immer passen!

                  Kommentar


                    #10
                    Zitat von trollvottel Beitrag anzeigen
                    Das 1-Wire Plugin wird hoffentlich kein Wiregate voraussetzen sondern es erlauben, selber über USB einen Busadapter anzuschließen!!!
                    Das ist ein reine config Sache vom owfs

                    Kommentar


                      #11
                      Hallo,

                      Zitat von trollvottel Beitrag anzeigen
                      Das 1-Wire Plugin wird hoffentlich kein Wiregate voraussetzen
                      definitiv nicht.

                      Wahrscheinlich kann man aber auch mit dem OWFS vom WG sprechen, aber wozu dann noch das WG? Als IP Router?

                      Bis bald

                      Marcus

                      Kommentar


                        #12
                        Weil meine Busmaster am Wiregate angeschlossen sind und diese dort ohne Probleme funktionieren und ich nicht gewillt an dieser stelle etwas zu ändern bevor ich nicht sicher bin das es funktioniert. Und dazu sollte der Anschluss über Netzwerk ausreichend sein.

                        Kommentar


                          #13
                          Zitat von mumpf Beitrag anzeigen
                          ein Grund, warum ein knx_cache interessant ist:
                          Moin,
                          ich habe noch einen Grund. Werte die es eigentlich nur in zentralen Logiken gibt.
                          Mein Nachmodus ist so ein Wert. Über einen Taster (genauer MDT-Tasterschnittstelle) wird der Nachtmodus aktiviert, aber der Taster merkt sich den Wert scheinbar nicht. Selbst wenn die Flags passend gesetzt sind, kommt immer nur eine 0 als Antwort. Mir wurde gesagt, weil der Taster im Moment der Abfrage ja nicht gedrückt ist. Bei einem Schalter (oder Fensterkontakt) ist das natürlich kein Problem.
                          Hier wäre es sinnvoll wenn sich Callidomus (oder jede andere Logikengine), den Wert dauerhaft merkt.

                          Gruß, Sebastian
                          Baustelle 2.0 (Detailprogrammierung und Restarbeiten)
                          Ruhri? -> Komm zum Stammtisch

                          Kommentar


                            #14
                            Hi,
                            das geht jetzt schon. In deinem Fall darfst du kein knx_init machen, nur knx_listen und musst das item auf Zwischenspeichern setzen.
                            Gruß Waldemar

                            P.S.: Dann noch das Read-Flag bei der Schnittstelle löschen und in callidomus den knx_reply auf die GA setzen, dann ist es perfekt.
                            Zuletzt geändert von mumpf; 25.06.2016, 19:05. Grund: Ps zugefügt
                            OpenKNX www.openknx.de

                            Kommentar

                            Lädt...
                            X