Ankündigung

Einklappen
Keine Ankündigung bisher.

Luxtronic2 plugin - keine (brauchbaren) Werte verfügbar

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

    Luxtronic2 plugin - keine (brauchbaren) Werte verfügbar

    Hallo,
    ich versuche mich seit Tagen an dem Plugin luxtronic2. Es gibt ja hier im Forum etliche Aufstellungen von Werten und was sie bedeuten. Wenn ich die items so übernehme wie in den Beispielen bzw. Doku, bekomme ich keine oder falsche Ergebnisse.

    Installierte Luxtronic (Novelan) V1.76, smartVisu 2.8, smarthomeNG 1.3

    Code:
    [heating]
        [[temp_outside]]
            type = num
            lux2 = 10
    
        [[state_numeric]]
            type = num
            lux2_c = 119
    
        [[state]]
            type = str
            lux2 = 119
    insbesondere erschließt sich mit nicht die Bedeutung von lux2, lux2_p, lux2_d. Hier speziell der Identifier 119

    lt. luxtronic2
    Code:
        def _decode(self, identifier, value):
            if identifier == 119:
                if value == 0:
                    return 'Heizbetrieb'
                if value == 1:
                    return 'Keine Anforderung'
                if value == 2:
                    return 'Netz- Einschaltverzoegerung'
                if value == 3:
                    return 'SSP Zeit'
                if value == 4:
                    return 'Sperrzeit'
                if value == 5:
                    return 'Brauchwasser'
                if value == 6:
                    return 'Estrich Programm'
                if value == 7:
                    return 'Abtauen'
                if value == 8:
                    return 'Pumpenvorlauf'
                if value == 9:
                    return 'Thermische Desinfektion'
                if value == 10:
                    return 'Kuehlbetrieb'
                if value == 12:
                    return 'Schwimmbad'
                if value == 13:
                    return 'Heizen Ext.'
                if value == 14:
                    return 'Brauchwasser Ext.'
                if value == 16:
                    return 'Durchflussueberwachung'
                if value == 17:
                    return 'ZWE Betrieb'
                return '???'
            if identifier == 119:
                return str('Wert=119')
            if identifier == 10:
                return float(value) / 10
            if identifier == 11:
                return float(value) / 10
            if identifier == 12:
                return float(value) / 10
            if identifier == 15:
                return float(value) / 10
            if identifier == 19:
                return float(value) / 10
            if identifier == 20:
                return float(value) / 10
            if identifier == 151:
                return float(value) / 10
            if identifier == 152:
                return float(value) / 10
            return value
    Wenn ich diese Werte auslesen will, bekomme ich entweder nichts oder 0, je nachdem ich mit lux2 oder lux2_p abfrage. Auch bei den anderen Werten bekomme ich nicht die Ergebnisse, die beschrieben sind. -> z.B. identifier == 15 -> Vorlauftemperatur -> 0.

    Wenn ich das Plugin direkt ausführe, bekomme ich eine Liste mit 1059 Indentifiern und 323 Attributen. Von diesen Werten kann ich aber nur ca. 20 Werte als Einstellungen interpretieren. Die echten Werte (Außentemp., Volauftemp usw.) finde ich nirgends.

    Vielleicht kann mir jemand auf die Sprünge helfen.
    Danke und Gruß
    Wolfgang
    Zuletzt geändert von bmx; 29.10.2017, 16:27.

    #2
    Da es sich dabei wohl um ein Problem des SmartHomeNG-Plugins handelt, habe ich das ins passende Forum verschoben.

    Kommentar


      #3
      ok, danke.

      Kommentar


        #4
        Hallo Wolfgang,

        grundsätzlich solltest Du in die Log Files schauen, also entweder im Backend Plugin oder unter /usr/local/smarthome/var/log/smarthome.log usw.
        Dort findest Du evtl Hinweise was schiefgeht. Such in den Log Files nach Einträgen mit "luxtronik".
        Ist das Plugin entsprechend konfiguriert? Deine plugin,yaml müsste also in etwa sowas enthalten, insbesondere der port ist bei Deiner Software version glaub ich 8889, also nicht weglassen und damit den default (8888) verwenden:

        Code:
        luxtronic2:
            class_name: Luxtronic2
            class_path: plugins.luxtronic2
            host: 192.168.2.12 # ip address of luxtronik
            port = 8888 # achtung: kann abhängig von software version auch 8889 sein
        Wenn das soweit passt, was steht in Deinen Items? Also in einer *.yaml Datei unter /usr/local/smarthome/items/ sollte zb.

        Code:
        heating:
            temp_outside:
                type: num
                lux2: 15
        stehen, damit legt du ein Item heating/temp_outside an, welches dann die Ausstentemperatur enthalten sollte.
        lux2, lux2_c, lux2_p sind verschiedene Parameterbereiche, lux2_p zb. Parameter, die auch verändert werden können, lux2 sind Werte die nur gelesen werden können (wie zb. die Aussentemperatur)

        Gruß

        Franz

        Kommentar


          #5
          Hallo Franz,
          wie Du es beschrieben hast, paßt alles (siehe oben). Ich bekomme auch Werte, nur nicht die gewünschten. Die Werte, die ich identifizieren konnte, sind alles Werte der Einstellungen. Aber mit lux2 =15 bekomme ich 0 usw. bei lux_p = 2 z.B. die Einstellung für Warmwasser Soll. Die aktuellen Werte finde ich nirgends.

          d.h. der Zugriff an sich klappt. Der Port = 8888, bei 8889 bekomme ich einen connect-Fehler. Im Log sehe ich auch die Zugriffe mit den zurückgegebenen Werten. Aber wie gesagt, es sind nicht die gewünschten.

          Trotzdem Danke.
          Gruß
          Wolfgang

          Kommentar


            #6
            Hallo Wolfgang,

            anscheinend gibt es irgendwie unterschiedliche Versionen, im Beispiel ist die Aussentemperatur lux2:10 bei mit ist es jedoch lux2:15. Ich frage bei mir folgende Werte:

            Code:
            heating:
            
                temp_outside:
                    type: num
                    lux2: 15
                    visu_acl: ro
            
                state_numeric:
                    type: num
                    lux2_c: 119
            
                state:
                    type: str
                    lux2: 119
            
                anhebung:
                    type: num
                    lux2_p: 1
                    visu_acl: rw
            
                brauch:
                    type: num
                    lux2_p: 2
                    visu_acl: rw
            
                # '0: Automatik, 4: aus'
                brauchwassermodus:
                    type: num
                    lux2_p: 4
                    visu_acl: rw
            
                vorlauf:
                    type: num
                    lux2: 10
                    visu_acl: ro
            
                ruecklauf:
                    type: num
                    lux2: 11
                    visu_acl: ro
            
                ruecklauf_soll:
                    type: num
                    lux2: 12
                    visu_acl: ro
            
                ruecklauf_ext:
                    type: num
                    lux2: 13
                    visu_acl: ro
            
                warmwasser_ist:
                    type: num
                    lux2: 17
                    visu_acl: ro
            Die Einstellung für Warmwasser Soll lux2_p: 2 funktioniert bei Dir? Du bekommst also einen Wert geliefert und kannst diesen auch verändern?
            Kommen ansonsten für die "lux2" Werte immer 0? Du schreibst, dass Du im log die Zugriffe und die zurückgegebenen Werte siehst, was steht da genau, kannst Du die log Ausgaben posten?

            Gruß

            Franz

            Kommentar


              #7
              Hallo Franz,

              ich habe jetzt nochmal ausgiebig getestet. Ich habe 50 Icons angelegt - von 1-40 und von 110 - 120 und dann alle mit lux2_p, lux2 und luc2_c getestet
              mit lux2 und lux_c bekomme ich nur 0, mit lux2_p zumindest Werte, die offensichtlich Einstellungen sind, z.B. lux2_p = 2 ist Soll Warmwasser.

              Bin jetzt langsam mit meinem Latein am Ende.

              Code:
              2017-11-18  16:18:15 DEBUG    Luxtronic2   Item WP.test2 = 490 via Luxtronic2 None None
              2017-11-18  16:18:15 DEBUG    Luxtronic2   Item WP.test5 = 4 via Luxtronic2 None None
              2017-11-18  16:18:15 DEBUG    Luxtronic2   Item WP.test6 = 1167609600 via Luxtronic2 None None
              2017-11-18  16:18:15 DEBUG    Luxtronic2   Item WP.test7 = 1167609600 via Luxtronic2 None None
              2017-11-18  16:18:15 DEBUG    Luxtronic2   Item WP.test10 = -200 via Luxtronic2 None None
              2017-11-18  16:18:15 DEBUG    Luxtronic2   Item WP.test11 = 320 via Luxtronic2 None None
              2017-11-18  16:18:15 DEBUG    Luxtronic2   Item WP.test12 = 210 via Luxtronic2 None None
              2017-11-18  16:18:15 DEBUG    Luxtronic2   Item WP.test14 = 350 via Luxtronic2 None None
              2017-11-18  16:18:15 DEBUG    Luxtronic2   Item WP.test15 = 205 via Luxtronic2 None None
              2017-11-18  16:18:15 DEBUG    Luxtronic2   Item WP.test17 = 350 via Luxtronic2 None None
              2017-11-18  16:18:15 DEBUG    Luxtronic2   Item WP.test18 = 350 via Luxtronic2 None None
              2017-11-18  16:18:15 DEBUG    Luxtronic2   Item WP.test28 = 2 via Luxtronic2 None None
              2017-11-18  16:18:15 DEBUG    Luxtronic2   Item WP.test31 = 2 via Luxtronic2 None None
              2017-11-18  16:18:15 DEBUG    Luxtronic2   Item WP.test34 = 1 via Luxtronic2 None None
              2017-11-18  16:18:15 DEBUG    Luxtronic2   Item WP.test36 = 1 via Luxtronic2 None None
              2017-11-18  16:18:15 DEBUG    Luxtronic2   Item WP.test37 = 1 via Luxtronic2 None None
              2017-11-18  16:18:15 DEBUG    Luxtronic2   Item WP.test41 = 1 via Luxtronic2 None None
              2017-11-18  16:18:15 DEBUG    Luxtronic2   Item WP.test42 = 1 via Luxtronic2 None None
              2017-11-18  16:18:15 DEBUG    Luxtronic2   Item WP.test43 = 1 via Luxtronic2 None None
              2017-11-18  16:18:15 DEBUG    Luxtronic2   Item WP.test44 = 70 via Luxtronic2 None None
              2017-11-18  16:18:15 DEBUG    Luxtronic2   Item WP.test45 = 15 via Luxtronic2 None None
              2017-11-18  16:18:15 DEBUG    Luxtronic2   Item WP.test47 = 650 via Luxtronic2 None None
              2017-11-18  16:18:15 DEBUG    Luxtronic2   Item WP.test49 = 1 via Luxtronic2 None None
              2017-11-18  16:18:15 DEBUG    Luxtronic2   Item WP.test51 = 10690 via Luxtronic2 None None
              2017-11-18  16:18:15 DEBUG    Luxtronic2   Item WP.test54 = 250 via Luxtronic2 None None
              2017-11-18  16:18:15 DEBUG    Luxtronic2   Item WP.test55 = 350 via Luxtronic2 None None
              2017-11-18  16:18:15 DEBUG    Luxtronic2   Item WP.test56 = 450 via Luxtronic2 None None
              2017-11-18  16:18:15 DEBUG    Luxtronic2   Item WP.test57 = 450 via Luxtronic2 None None
              2017-11-18  16:18:15 DEBUG    Luxtronic2   Item WP.test58 = 450 via Luxtronic2 None None
              2017-11-18  16:18:15 DEBUG    Luxtronic2   Item WP.test59 = 250 via Luxtronic2 None None
              2017-11-18  16:18:15 DEBUG    Luxtronic2   Item WP.test60 = 250 via Luxtronic2 None None
              2017-11-18  16:18:15 DEBUG    Luxtronic2   Item WP.test102 = 1 via Luxtronic2 None None
              2017-11-18  16:18:15 DEBUG    Luxtronic2   Item WP.test105 = 490 via Luxtronic2 None None
              2017-11-18  16:18:15 DEBUG    Luxtronic2   Item WP.test106 = 10800 via Luxtronic2 None None
              2017-11-18  16:18:15 DEBUG    Luxtronic2   Item WP.test110 = 200 via Luxtronic2 None None
              2017-11-18  16:18:15 DEBUG    Luxtronic2   Item WP.test111 = -100 via Luxtronic2 None None
              2017-11-18  16:18:15 DEBUG    Luxtronic2   Item WP.test113 = 15 via Luxtronic2 None None
              2017-11-18  16:18:15 DEBUG    Luxtronic2   Item WP.test115 = 1209600 via Luxtronic2 None None
              2017-11-18  16:18:15 DEBUG    Luxtronic2   Item WP.test116 = 2 via Luxtronic2 None None
              2017-11-18  16:18:15 DEBUG    Luxtronic2   Item WP.test117 = 1 via Luxtronic2 None None
              2017-11-18  16:18:15 DEBUG    Luxtronic2   Item WP.test118 = 3 via Luxtronic2 None None
              2017-11-18  16:18:15 DEBUG    Luxtronic2   cycle takes 0.44903111457824707 seconds
              2017-11-18  16:18:15 INFO     Main         KNX[default]: 1.1.21 set 4/2/4 to 19.0
              2017-11-18  16:18:15 DEBUG    Main         KNX[default]: write request from 1.1.21 to 4/2/4 with '076c' and DPT 9
              2017-11-18  16:18:15 DEBUG    Main         Item OG.SZ.TEMP.ISTSZ = 19.0 via KNX 1.1.21 4/2/4
              2017-11-18  16:18:15 DEBUG    Scheduler    Luxtronic2 next time: 2017-11-18 16:19:15+01:00
              2017-11-18  16:18:17 DEBUG    Kostal       set yield_tot_kwh = 10145
              Auch fällt mir auf, daß die Werte anscheinend nur einmal bei Start gelesen werden. Es kommt zwar alle Minute der Eintrag im Log und dementsprechend die Meldung "luxtronic2 cycle takes ....."

              Code:
              2017-11-18  16:18:15 DEBUG    Scheduler    Luxtronic2 next time: 2017-11-18 16:19:15+01:00
              2017-11-18  16:18:15 DEBUG    Luxtronic2   cycle takes 0.44903111457824707 seconds
              Vielleich hat hier noch jemand einen Tipp.

              Gruß Wolfang

              Kommentar


                #8
                Hallo Wolfgang!

                Ich habe auch eine Novelan Wärmepumpe. Allerdings mit Firmware V1.73.
                Bei mir klappt alles mit diesen items:

                Code:
                [temperatur]
                
                
                    [[warmwasser_ist]]
                        type = num
                        lux2 = 17
                        sqlite = yes
                    visu_acl = rw
                    [[[warmwasser_ist_berechnung]]]
                        type = num
                        visu_acl = rw
                        eval = (sh.temperatur.warmwasser_ist())/10.0
                        eval_trigger = temperatur.warmwasser_ist
                        sqlite = yes
                
                    [[vorlauf]]
                        type = num
                        lux2 = 10
                        sqlite = yes
                    visu_acl = rw            
                
                    [[ruecklauf]]
                        type = num
                        lux2 = 11
                        sqlite = yes
                    visu_acl = rw
                
                    [[ruecklauf_soll]]
                        type = num
                        lux2 = 12
                        sqlite = yes
                    visu_acl = rw
                
                    [[heissgas]]
                        type = num
                        lux2 = 14
                        sqlite = yes
                    visu_acl = rw
                    [[[heissgas_berechnung]]]
                        type = num
                        visu_acl = rw
                        eval = sh.temperatur.heissgas()/10.0
                        eval_trigger = temperatur.heissgas
                        sqlite = yes
                
                    [[aussen]]
                        type = num
                        lux2 = 15
                        sqlite = yes
                    sqlite = init
                    visu_acl = rw
                        [[[min]]]
                                type = num
                                eval = "sh.temperatur.aussen.db('min', '24h')"
                                eval_trigger = temperatur.aussen
                        sqlite = yes
                        sqlite = init
                        visu_acl = rw
                        [[[max]]]
                                type = num
                                eval = "sh.temperatur.aussen.db('max', '24h')"
                                eval_trigger = temperatur.aussen
                        sqlite = yes
                        sqlite = init
                        visu_acl = rw
                
                
                    [[mittel]]
                        type = num
                        lux2 = 16
                        sqlite = yes
                    visu_acl = rw
                    [[[mittel_berechnung]]]
                        type = num
                        visu_acl = rw
                        eval = (sh.temperatur.mittel())/10.0
                        eval_trigger = temperatur.mittel
                        sqlite = yes
                
                
                
                    [[warmwasser_soll]]
                        type = num
                        lux2 = 18
                        sqlite = yes
                    [[[warmwasser_soll_berechnung]]]
                        type = num
                        visu_acl = rw
                        eval = (sh.temperatur.warmwasser_soll())/10.0
                        eval_trigger = temperatur.warmwasser_soll
                        sqlite = yes
                
                
                    [[waermequelle_ein]]
                        type = num
                        lux2 = 19
                        sqlite = yes
                
                
                    [[waermequelle_aus]]
                        type = num
                        lux2 = 20
                        sqlite = yes
                
                
                    [[zuluft]]
                        type = num
                        lux2 = 159
                        sqlite = yes
                
                    [[[zuluft_berechnung]]]
                        type = num
                        visu_acl = rw
                        eval = sh.temperatur.zuluft()/10.0
                        eval_trigger = temperatur.zuluft
                        sqlite = yes
                [stunden]
                
                    [[verdichter]]
                    type = num
                        lux2 = 56
                        sqlite = yes
                    [[[verdichter_berechnung]]]
                        type = num
                        visu_acl = rw
                        eval = (sh.stunden.verdichter())/3600.0
                        eval_trigger = stunden.verdichter
                
                    [[verdichter_impulse]]
                    type = num
                        lux2 = 57
                        sqlite = yes
                
                    [[zusatzheizung]]
                    type = num
                        lux2 = 60
                        sqlite = yes
                    [[[zusatzheizung_berechnung]]]
                        type = num
                        visu_acl = rw
                        eval = (sh.stunden.zusatzheizung())/3600.0
                        eval_trigger = stunden.zusatzheizung
                
                
                    [[waermepumpe]]
                    type = num
                        lux2 = 63
                        sqlite = yes
                    [[[waermepumpe_berechnung]]]
                        type = num
                        visu_acl = rw
                        eval = (sh.stunden.waermepumpe())/3600.0
                        eval_trigger = stunden.waermepumpe
                
                
                    [[heizung]]
                    type = num
                        lux2 = 64
                        sqlite = yes
                    [[[heizung_berechnung]]]
                        type = num
                        # visu_acl = rw
                        eval = (sh.stunden.heizung())/3600.0
                        eval_trigger = stunden.heizung
                
                    [[warmwasser]]
                    type = num
                        lux2 = 65
                        sqlite = yes
                    [[[warmwasser_berechnung]]]
                        type = num
                        visu_acl = rw
                        eval = (sh.stunden.warmwasser())/3600.0
                        eval_trigger = stunden.warmwasser
                Vielleicht versuchst du mal die Firmware 1.73 ??

                Gruß, Max

                Kommentar


                  #9
                  Hallo Max,
                  habe es gerade mal mit deinem Items probiert. Ist aber das gleiche Ergebnis.
                  Nun stellen sich die Fragen. Woher bekomme ich die Firmware 1.73? Wie sichert man die vorhandene Firmware und wie funktioniert das Update?
                  Gruß Wolfgang

                  Kommentar


                    #10
                    Zitat von wolfgang12 Beitrag anzeigen
                    Hallo Max,
                    habe es gerade mal mit deinem Items probiert. Ist aber das gleiche Ergebnis.
                    Nun stellen sich die Fragen. Woher bekomme ich die Firmware 1.73? Wie sichert man die vorhandene Firmware und wie funktioniert das Update?
                    Gruß Wolfgang
                    Schreib einfach eine Mail an den Support.
                    Die haben mir eine Firmware und Anleitung per Mail geschickt. (Kann sie aber leider nicht mehr finden)

                    Alternativ gibt´s hier die aktuellen Firmwares: http://www.heatpump24.de/kontoeinst_104.php?layout=2

                    Gruß, Max

                    Kommentar


                      #11
                      ok, danke.
                      Gruß Wolfgang

                      Kommentar


                        #12
                        wolfgang12
                        Code:
                        Wenn ich das Plugin direkt ausführe, bekomme ich eine Liste mit 1059 Indentifiern und 323 Attributen.
                        Wie kann ich denn die Werte aller Parameter, Attributen und Calculatet in den Log schreiben?

                        Ich habe erfolgreich den Status und die Temperauren eingebunden, welcher Befehl führt denn das main() aus das ich alles ausgelesen bekomme? Ich will jetzt Parameter selber Setzen wie zb Pumpe ausschalten etc..

                        Code:
                        def main():
                            try:
                                lux = LuxBase('192.168.178.25')
                                lux.connect()
                                if not lux.is_connected:
                                    return 1
                                start = time.time()
                                lux.refresh_parameters()
                                lux.refresh_attributes()
                                lux.refresh_calculated()
                                cycletime = time.time() - start
                                print("{0} Parameters:".format(lux.get_parameter_count()))
                                for i in range(0, lux.get_parameter_count()):
                                    print("  {0} = {1}".format(i + 1, lux.get_parameter(i)))
                                print("{0} Attributes:".format(lux.get_attribute_count()))
                                for i in range(0, lux.get_attribute_count()):
                                    print("  {0} = {1}".format(i + 1, lux.get_attribute(i)))
                                print("{0} Calculated:".format(lux.get_calculated_count()))
                                for i in range(0, lux.get_calculated_count()):
                                    print("  {0} = {1}".format(i + 1, lux.get_calculated(i)))
                                print("cycle takes {0} seconds".format(cycletime))
                        
                            except Exception as e:
                                print("[EXCEPTION] error main: {0}".format(e))
                                return 1
                            finally:
                                if lux:
                                    lux.close()
                        RaspberryPi B+ und Pi2, Enertex KNXnet/IP Interface u TULIP, XS1-FS20, QNap TS-212, OpenELEC, Asterisk TK

                        Kommentar

                        Lädt...
                        X