Ankündigung

Einklappen
Keine Ankündigung bisher.

Mal wieder eval ... wo liegt der Fehler

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

    Mal wieder eval ... wo liegt der Fehler

    ... grundsätzlich hab ich eval jetzt echt verstanden (würde ich behaupten) aber hier leuchtet mir was wirklich nicht ein um das ich schon ein paar Stunden rumeiere:

    Fehlermeldung:
    Code:
    2015-01-10 20:45:40,609 WARNING  zaehler.wp.cop.60min Item zaehler.wp.cop.60min: problem evaluating (sh.ebus.energie_summe.ertrag.60min() / sh.zaehler.wp.verbrauch.60min()) + 1: invalid syntax (<string>, line 1) -- item.py:__run_eval:337
    2015-01-10 20:45:40,618 WARNING  zaehler.wp.cop.24h Item zaehler.wp.cop.24h: problem evaluating (sh.ebus.energie_summe.ertrag.24h() / sh.zaehler.wp.verbrauch.24h()) + 1: invalid syntax (<string>, line 1) -- item.py:__run_eval:337
    2015-01-10 20:45:40,619 WARNING  zaehler.wp.cop.7d Item zaehler.wp.cop.7d: problem evaluating (sh.ebus.energie_summe.ertrag.7d() / sh.zaehler.wp.verbrauch.7d()) + 1: invalid syntax (<string>, line 1) -- item.py:__run_eval:337
    Alles klar, die Syntax passt ihm nicht. Aber warum passt ihm das bei den 2 anderen zaehler.wp.cop - items ? Den COP für Tag und Kalenderwoche macht er, aber die anderen 3 nicht? Wer findet den Fehler?

    Hier die item.conf etwas gekürzt:
    Code:
    [zaehler]
        [[wp]]
            [[[stand]]]
                cache = yes
                type = num
                knx_dpt = 14
                knx_listen = 6/2/0
                visu = yes
                rrd = 1
                rrd_type = 'COUNTER'
                rrd_step = 84600
                [[[[sql]]]]
                    cache = yes
                    type = num
                    knx_dpt = 14
                    knx_listen = 6/2/0
                    sqlite = yes
    
           [COLOR="Red"] [[[cop]]]
                [[[[60min]]]]
                        type = num
                        cache = yes
                        sqlite = yes
                        eval_trigger = zaehler.wp.stand
                        eval = (sh.ebus.energie_summe.ertrag.60min() / sh.zaehler.wp.verbrauch.60min()) + 1
                [[[[24h]]]]
                        type = num
                        cache = yes
                        sqlite = yes
                        eval_trigger = zaehler.wp.stand
                        eval = (sh.ebus.energie_summe.ertrag.24h() / sh.zaehler.wp.verbrauch.24h()) + 1
                [[[[7d]]]]
                        type = num
                        cache = yes
                        sqlite = yes
                        eval_trigger = zaehler.wp.stand
                        eval = (sh.ebus.energie_summe.ertrag.7d() / sh.zaehler.wp.verbrauch.7d()) + 1
                [[[[tag]]]]
                        type = num
                        cache = yes
                        sqlite = yes
                        eval_trigger = zaehler.wp.stand
                        eval = (sh.ebus.energie_summe.ertrag.tag() / sh.zaehler.wp.verbrauch.tag()) + 1
                [[[[woche]]]]
                        type = num
                        cache = yes
                        sqlite = yes
                        eval_trigger = zaehler.wp.stand
                        eval = (sh.ebus.energie_summe.ertrag.woche() / sh.zaehler.wp.verbrauch.woche()) + 1[/COLOR]
    Code:
    [ebus]
        [[energie_summe]]
            cache = yes
    	rrd = 1
    	rrd_type = 'COUNTER'
    	rrd_step = 86400
            type = num
            knx_dpt = 12
            knx_send = 8/6/22
            knx_reply = 8/6/22
            ebus_cmd = "mv yield_sum"
            ebus_type = "get"
            enforce_updates = true 
            comment = Energieertrag
            [[[sql]]]
                cache = yes
                type = num
                eval_trigger = ebus.energie_summe
                eval = sh.ebus.energie_summe()
                sqlite = yes
           [COLOR="red"] [[[ertrag]]]
                [[[[60min]]]]
                        type = num
                        cache = yes
                        eval_trigger = ebus.energie_summe
                        eval = sh.ebus.energie_summe.sql() - sh.ebus.energie_summe.sql.db('min','60i')
                [[[[24h]]]]
                        type = num
                        cache = yes
                        eval_trigger = ebus.energie_summe
                        eval = sh.ebus.energie_summe.sql() - sh.ebus.energie_summe.sql.db('min','24h')
                [[[[7d]]]]
                        type = num
                        cache = yes
                        eval_trigger = ebus.energie_summe
                        eval = sh.ebus.energie_summe.sql() - sh.ebus.energie_summe.sql.db('min','7d')
                [[[[tag]]]]
                        type = num
                        cache = yes
                        eval_trigger = ebus.energie_summe
                        eval = sh.ebus.energie_summe.sql() - sh.ebus.energie_summe.sql.db('min',sh.minute.since.midnight.dbstr())
                [[[[woche]]]]
                        type = num
                        cache = yes
                        eval_trigger = ebus.energie_summe
                        eval = sh.ebus.energie_summe.sql() - sh.ebus.energie_summe.sql.db('min',sh.hour.since.week.dbstr())[/COLOR]
    Als Beweis dass die Berechnung (meiner Meinung nach) möglich wäre folgendes:

    Code:
    > ls ebus
    Items:
    ======
    ebus
    ebus.kompressorstunden = 6100.0
    ebus.kompressorstarts_heizung = 5259.0
    ebus.kompressorstarts_wasser = 2019.0
    ebus.kompressorstarts_summe = 7279.0
    ebus.status_wp = 3
    ebus.hk_soll = 26.0
    ebus.hk_ferien = 20.0
    ebus.status_betrieb = 1
    ebus.energie_mitternacht = -23058.0
    ebus.hk_pumpe_perc = 100.0
    ebus.status_heizkreispumpe = False
    ebus.status_hk = 3
    ebus.rt_day = 22.0
    ebus.rt_night = 22.0
    ebus.ww_min = 40.0
    ebus.status_ww = 3
    ebus.ww_soll = 48.0
    ebus.act_power = 7.0
    ebus.at_temp = 5.5
    ebus.ww_temp = 49.0
    ebus.brine_in = 2.625
    ebus.brine_out = -1.6875
    ebus.status_quellenpumpe = True
    ebus.status_kompressor = True
    ebus.komp_out = 68.4375
    ebus.ei = -15.0
    ebus.high_press = 12.911001
    ebus.T5 = 25.1875
    ebus.T6 = 32.0
    ebus.VF2 = 31.75
    ebus.energie_summe = 42522
    ebus.energie_summe.sql = 42522
    [COLOR="red"]ebus.energie_summe.ertrag
    ebus.energie_summe.ertrag.60min = 6.0
    ebus.energie_summe.ertrag.24h = 54.0
    ebus.energie_summe.ertrag.7d = 416.0
    ebus.energie_summe.ertrag.tag = 44.0
    ebus.energie_summe.ertrag.woche = 339.0[/COLOR]
    ebus.speicherladung = False
    ebus.speicherladung.aktiv = False
    Code:
    > ls zaehler
    Items:
    ======
    zaehler
    zaehler.wp
    zaehler.wp.stand = 10524.7001953125
    zaehler.wp.stand.sql = 10524.7001953125
    zaehler.wp.stand.stunde = 10522.7001953125
    zaehler.wp.stand.tag = 10511.5
    zaehler.wp.stand.woche = 10430.7998046875
    zaehler.wp.verbrauch
    zaehler.wp.verbrauch.60min = 2.1005859375
    zaehler.wp.verbrauch.24h = 15.7001953125
    zaehler.wp.verbrauch.7d = 114.7001953125
    zaehler.wp.verbrauch.stunde = 2.0
    zaehler.wp.verbrauch.tag = 13.2001953125
    zaehler.wp.verbrauch.gestern = 15.6005859375
    zaehler.wp.verbrauch.gestern.weekly_avg = 11.68
    zaehler.wp.verbrauch.woche = 93.900390625
    zaehler.wp.verbrauch.monat = 465.400390625
    zaehler.wp.kosten
    zaehler.wp.kosten.heute = 3.1
    zaehler.wp.kosten.gestern = 3.64
    zaehler.wp.kosten.gestern.weekly_avg = 2.76
    zaehler.wp.kosten.monat = 104.48
    zaehler.wp.leistung = 1.51
    [COLOR="red"]zaehler.wp.cop
    zaehler.wp.cop.60min = 0
    zaehler.wp.cop.24h = 0
    zaehler.wp.cop.7d = 0
    zaehler.wp.cop.tag = 4.333284012724717
    zaehler.wp.cop.woche = 4.610208623666202[/COLOR]
    zaehler.kosten
    zaehler.kosten.gestern = 5.19
    zaehler.kosten.gestern.weekly_avg = 7.29
    Danke an den ehrlichen Finder.
    Umgezogen? Ja! ... Fertig? Nein!
    Baustelle 2.0 !

    #2
    Lies mal dies hier vom Henfri ...

    Kurz: Items dürfen nicht mit Zahlen beginnen.

    Gruß,
    Bernd

    Kommentar


      #3
      Shit ... hatte ich gesehen und mich darüber gefreut dass meine 1-Wire items alle mit ow.xxx anfangen.

      Edit:
      Aber warum geht dann:

      zaehler.wp.verbrauch.60min = 2.1005859375
      zaehler.wp.verbrauch.24h = 15.7001953125
      zaehler.wp.verbrauch.7d = 114.7001953125
      ebus.energie_summe.ertrag.60min = 6.0
      ebus.energie_summe.ertrag.24h = 54.0
      ebus.energie_summe.ertrag.7d = 416.0

      Edit2:
      Warum ... verstehe ich nicht, aber das ist ein gaaaanz fieser Bug!
      Wenn ich nie Namen entsprechend ändere und vorn keine Zahl steht dann meckert eval auch nicht.
      Interessant wäre ob eine Logik auch auf die Nase fallen würde.
      Umgezogen? Ja! ... Fertig? Nein!
      Baustelle 2.0 !

      Kommentar

      Lädt...
      X