Ankündigung

Einklappen
Keine Ankündigung bisher.

DB Item Problem

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

    DB Item Problem

    Ich vermute, dass ich folgendes Problem noch nicht so lange habe.
    Logik:
    Code:
    if sh.sensor.stellplatz.lux.db('min', '10i') > 450:
        sh.praesenz.hwr.sperren(1)
        logger.debug("BWM sperren")
    Item:
    Code:
    sensor:
    
        stellplatz:
    
            lux:
                enforce_updates: yes
                visu_acl: rw
                type: num
                knx_dpt: 9
                knx_send: 3/4/23
                knx_listen: 3/4/23
                sqlite: init
    Führt leider zu:

    Code:
    2018-11-13  21:38:41 ERROR    logics.bwm_hwr_sperren Logic: logics.bwm_hwr_sperren, File: /usr/local/smarthome/logics/bwm_hwr_spe
    rren.py, Line: 2, Method: <module>, Exception: unorderable types: NoneType() > int()
    Traceback (most recent call last):
      File "/usr/local/smarthome/lib/scheduler.py", line 493, in _task
        exec(obj.bytecode)
      File "/usr/local/smarthome/logics/bwm_hwr_sperren.py", line 2, in <module>
        if sh.sensor.stellplatz.lux.db('min', '10i') > 450:
    TypeError: unorderable types: NoneType() > int()
    ~
    Ich möchte behaupten, dass es tags geht, wenn vom Sensor Werte > 0 kommen. Jetzt gerade sendet er seit Stunden ja nur 0...
    Hat jemand einen Hinweis?

    Gruß
    Derzeit zwischen Kistenauspacken und Garten anlegen.
    Baublog im Profil.

    #2
    Naja die gleichen Werte werden nicht in die Datenbank geschrieben. Dazu gibt es parallel auch gerade einen Thread um das zu ändern.

    In der Logik kannst Du das Datenbankergebnis auf None prüfen und dann erst vergleichen mit Deinem Wert. Im Falle None kannst Du den aktuellen Itemwert verwenden.

    Kommentar


      #3
      greentux
      Du könntest in der Logik auch mit dem Alter des Items arbeiten. Das steht auch zur Verfügung. Dann brauchst du die DB dafür gar nicht.
      Schau mal in die Beschreibung für Items.

      Kommentar


        #4
        ok, das mit mit dem NONE Check verstehe ich, könnte man schon im Item mit Eval machen vermute ich.
        Das mit dem age verstehe ich nicht. Ich prüfen, ob die Helligkeit seit 10 MInuten dauerhaft einen gewissen Wert überschritten hat. Der Sensor sendet alle 2 Minuten einen Wert. Wie kann ich das mit age erledigen?

        Danke und Gruß
        Derzeit zwischen Kistenauspacken und Garten anlegen.
        Baublog im Profil.

        Kommentar


          #5
          Zitat von greentux Beitrag anzeigen
          Wie kann ich das mit age erledigen?
          ich kann das nicht so gut wie mumpf aber es könnte so gehen:

          Du machst ein binäres Hilfsitem mit eval, dass 0 ist, wenn sensor.stellplatz.lux < 450 und 1 wenn sensor.stellplatz.lux >=450
          Wenn dieses Hilfstitems länger als 10min auf 0 steht (Age), kann Du den BWM sperren.

          So müsste es auch gehen.
          Oder?

          Kommentar


            #6
            Danke!
            Derzeit zwischen Kistenauspacken und Garten anlegen.
            Baublog im Profil.

            Kommentar


              #7
              Hat geklappt.
              Ich habe jetzt ein Hilfsitem, welches checked, ob lux < 200 ist. Allerdings habe ich dann ein weiteres Item, welches checked, ob Hilfsiten.age > 300 ist, um ein bischen Ruhe in der Übergangszeit zu haben...
              Derzeit zwischen Kistenauspacken und Garten anlegen.
              Baublog im Profil.

              Kommentar

              Lädt...
              X