Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem mit autotimer

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

    #16
    Zitat von gama Beitrag anzeigen
    autotimer übergibt den wert als string und nicht als int...
    Echt!?
    Das würde ich als Bug betrachten, sinnvollerweise sollte der Wert entweder wie eingegeben oder dann im Typ des Items gesetzt werden
    Erfass das doch als Issue auf GitHub.

    Kommentar


      #17
      In der log war folgende Meldung, worauf ich int(value) gesetzt habe...

      Code:
      WARNING  EG.office.window.open.state-eval Item EG.office.window.open.state: problem evaluating value if value < 2 or sh.EG.office.window.o
      pen.state() == 1 else sh.EG.office.window.open.state(): unorderable types: str() < int()

      Kommentar


        #18
        Ich zweifle ja nicht an deiner Aussage, sondern an sh.py (in diesem Punkt)
        Deshalb wäre es gut, einen Issue zu erfassen.

        Kommentar


          #19
          Hi,

          bei sh.py ist der value vom gleichen typ wie das trigger-item (gemeint sind die, die in eval_trigger stehen). Dadurch kann ein string-Item auch ein bool item triggern, das finde ich wichtig und sollte nicht geändert werden. Das war schon immer so. Wenn man durch crontab, cycle, autotimer etc. einen Konstante mitschickt, scheint es immer string zu sein.

          Falls Du was dran ändern willst:
          • Eingegebener Typ ist ok, wobei dann die Frage der Notation für eine 2 als string fehlt, das müsste man noch festlegen
          • In den Typ des Items vor dem eval "casten" wäre nicht so toll, denn ich halte es für Vorteilhaft, wenn man einen Wert setzten kann, der Außerhalb des Wertebereiches des Items liegt. Natürlich muss dann dieser Wert im eval abgeprüft werden.
          Gruß, Waldemar


          OpenKNX www.openknx.de

          Kommentar


            #20
            String wär ja dann '2'.
            Eigentlich könnte man einfach ein eval() um den autotimer-wert machen. Das Problem ist halt die Rückwärtskompatibilität, weil bisher ja für Strings keine ' notwendig waren.

            Kommentar


              #21
              Gibt es einen vernünftigen Platz (ausserhalb des Forums?) wo man mal ein Wiki zu sämtlichen eval / autotimer / hysterese Tricks posten kann?
              Gerade solche Erklärungen wäre vielleicht auch anderen hilfreich...

              Kommentar


                #22
                Zitat von smai Beitrag anzeigen
                Das Problem ist halt die Rückwärtskompatibilität, weil bisher ja für Strings keine ' notwendig waren.
                Hi,

                das sehe ich auch als Problem. Eigentlich müsste man für int eine neue Notation einführen und die alte weiterhin (als string) behalten. Nur ist genau das komplett kontra-intuitiv.

                Eine gute Lösung fällt mir nicht ein...

                Gruß, Waldemar


                OpenKNX www.openknx.de

                Kommentar

                Lädt...
                X