Ankündigung

Einklappen
Keine Ankündigung bisher.

Neues Plugin: Luxtronic2 (Wärmepumpen von AlphaInnotec, Siemens etc.)

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

    #31
    Zitat von MrDuFF Beitrag anzeigen
    Kennt den Fehler jemand ??
    Ersetz mal die IP im Code durch die IP deines Luxtronic Geräts.
    Code:
    def main():
        try:
            lux = LuxBase('[B]192.168.178.25[/B]')
            lux.connect()
    Gruß,
    Henning

    Kommentar


      #32
      Hallo Henning,

      Das wars jetzt läufts :-)

      Vielen dank für den Tipp !!
      greetz Benni

      Kommentar


        #33
        Status der WP

        Hallo,

        ich lese mit dem Plugin eigentlich alle Zustandsdaten der WP aus!
        Was ist bislang nicht gefunden habe ist der Status der WP an/aus

        Bislang mache ich das mit dem Status des Heißgases aber das ist nicht immer zuverlässig!

        Welcher Wert ist der Betriebszustand der WP, kann mir da jemand unter die Arme greifen.
        Gruß Hartwig

        Kommentar


          #34
          Etwas OT - Luxtronic2-Plugin für HS?

          Hallo,

          es gibt im Forum zwei Ansätze, die Wärmepumpen von Alpha Innotec mit der Luxtronic 2 an den Homeserver zu bringen - dieser hier und https://knx-user-forum.de/eibpc/1790...k-2-0-a-2.html

          Leider kenne ich mich mit Pyton so wenig aus (auch wenn ich 2 Bücher gelesen habe, bekomme ich den Rest nicht hin: Wie krieg ich einen Befehl oder ein Programm im HS ans Laufen), daß ich fragen möchte:

          Hat jemand die Kommunikation lesend/schreibend mit der Luxtronic 2 in einen oder mehrere HS-Logikbausteine integriert?
          Die ComfoAir-Anbindung klappt dank Logikbaustein bravourös - sowas stelle ich mir - gern auch gegen Bezahlung und als (zahlender) Betatester für die Pumpe vor.

          Ein Großes Modul, wo ich lauter Ausgänge habe, denen ich GA zuweise - und ein Modul mit lauter Eingängen, denen ich GA als Eingang zuweise.

          Dann kann ich mich mit der Luxtronic 2 unterhalten - so, wie ich es mit der ComforAir350 und der ComfondL jetzt schon mache...

          Oder wer nimmt mich an die Hand, das auf dem HS4 ans Laufen zu bringen?

          Gruß

          Björn

          Kommentar


            #35
            Hallo Björn,

            das ist nicht nur ein bisschen OT. Das gehört ins Hauptforum.

            Stelle die Frage besser dort. Mit HS hat das hier gar nichts zu tun.

            Bis bald

            Marcus

            Kommentar


              #36
              Hallo zusammen,

              ich habe Plugin erfolgreich eingebunden und kann auch die Daten wie auf Seite 1 herauslesen und Visualisieren. Jetzt wollte ich einen Schritt weiter gehen und den aktuell Heizmodus auch mit anzeigen (und später ggf. ändern). Damit ich von Auto auf Party z.B. umstellen kann.

              Nur leider scheitere ich hier total.

              Ich habe (denk ich) heraus gefunden das sich dieser Zustand hinter dem Element 4 versteckt. Und habe dies analog dem Element 119 im Plugin wie folgt ergänzt:

              Code:
                def _decode(self, identifier, value):
                      if identifier == 4:
                          if value == 0:
                              return 'Automatik'
                          if value == 1:
                              return '2ter Waermeerzeuger'
                          if value == 2:
                              return 'Party'
                          if value == 3:
                              return 'Ferien'
                          return '???'
                      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'
              Meine Item.conf
              Code:
              ...  
                   [[fehlerspeicher_datum]]
                      type = str
                      lux2 = 95
                      visu_acl = ro
                  [[fehlerspeicher_fehler]]
                      type = num
                      lux2 = 101
                      visu_acl = ro
                  [[modus]]
                      type = str
                      lux2 = 4
                      visu_acl = ro
                  [[status]]
                      type = str
                      lux2 = 119
                      visu_acl = ro
                      knx_dpt = 4.002
              Er bringt mir auch im Log nie das auslesen des Items "Wärmepumpe.modus", aber auch keinen Fehler.

              Code:
              2015-04-03 19:38:42,231 DEBUG    sh.gc        Object references: 11791 -- smarthome.py:_maintenance:490
              2015-04-03 19:38:43,081 DEBUG    Luxtronic2   Item Waermepumpe.fehlerspeicher_fehler = 715 via Luxtronic2 None None -- item.py:__update:363
              2015-04-03 19:38:43,109 DEBUG    Luxtronic2   Item Waermepumpe.temperatur_vorlauf = 26.9 via Luxtronic2 None None -- item.py:__update:363
              2015-04-03 19:38:43,142 DEBUG    Luxtronic2   Item Waermepumpe.temperatur_ruecklauf = 26.8 via Luxtronic2 None None -- item.py:__update:363
              2015-04-03 19:38:43,194 DEBUG    Luxtronic2   Item Waermepumpe.temperatur_ruecklauf_soll = 31.5 via Luxtronic2 None None -- item.py:__update:363
              2015-04-03 19:38:43,216 DEBUG    Luxtronic2   Item Waermepumpe.temperatur_aussen = 3.3 via Luxtronic2 None None -- item.py:__update:363
              2015-04-03 19:38:43,242 DEBUG    Luxtronic2   Item Waermepumpe.temperatur_brauchwasser_ist = 361 via Luxtronic2 None None -- item.py:__update:363
              2015-04-03 19:38:43,294 DEBUG    Luxtronic2   Item Waermepumpe.temperatur_brauchwasser_soll = 435 via Luxtronic2 None None -- item.py:__update:363
              2015-04-03 19:38:43,316 DEBUG    Luxtronic2   Item Waermepumpe.status = SSP Zeit via Luxtronic2 None None -- item.py:__update:363
              2015-04-03 19:38:43,339 DEBUG    Luxtronic2   Item Waermepumpe.fehlerspeicher_datum = 18.02.15 12:32 via Luxtronic2 None None -- item.py:__update:363
              2015-04-03 19:38:43,357 DEBUG    Luxtronic2   cycle takes 0.32321906089782715 seconds -- __init__.py:_refresh:275
              2015-04-03 19:38:43,578 DEBUG    Scheduler    Luxtronic2 next time: 2015-04-03 19:43:43+02:00 -- scheduler.py:_next_time:289
              2015-04-03 19:38:49,403 DEBUG    env_stat     Item env.core.memory = 18481152 via Logic None None -- item.py:__update:363
              Findet jemand von euch den Fehler, wäre echt super.

              Ich danke euch!
              Angehängte Dateien

              Kommentar


                #37
                Jetzt konnte ich zumindest raufinden dass die Elemente 1 bis 9 nicht als ITEM abrufbar sind:

                Da ich Items von 1 - 17 (a bis q) angelegt habe:

                Code:
                    [[a]]
                        type = num
                        lux2 = 1
                        visu_acl = ro
                    [[b]]
                        type = num
                        lux2 = 2
                        visu_acl = ro
                    [[c]]
                        type = num
                        lux2 = 3
                        visu_acl = ro
                    [[d]]
                        type = num
                        lux2 = 4
                        visu_acl = ro
                    [[e]]
                        type = num
                        lux2 = 5
                        visu_acl = ro
                    [[f]]
                        type = num
                        lux2 = 6
                        visu_acl = ro
                    [[g]]
                        type = num
                        lux2 = 7
                        visu_acl = ro
                    [[h]]
                        type = num
                        lux2 = 8
                        visu_acl = ro
                    [[i]]
                        type = num
                        lux2 = 9
                        visu_acl = ro
                    [[j]]
                        type = num
                        lux2 = 10
                        visu_acl = ro
                    [[k]]
                        type = num
                        lux2 = 11
                        visu_acl = ro
                    [[l]]
                        type = num
                        lux2 = 12
                        visu_acl = ro
                    [[m]]
                        type = num
                        lux2 = 13
                        visu_acl = ro
                    [[n]]
                        type = num
                        lux2 = 14
                        visu_acl = ro
                    [[o]]
                        type = num
                        lux2 = 15
                        visu_acl = ro
                    [[p]]
                        type = num
                        lux2 = 16
                        visu_acl = ro
                    [[q]]
                        type = num
                        lux2 = 17
                        visu_acl = ro
                Code:
                2015-04-06 17:01:49,240 DEBUG    Luxtronic2   Item Waermepumpe.j = 22.1 via Luxtronic2 None None -- item.py:__update:363
                2015-04-06 17:01:49,270 DEBUG    Luxtronic2   Item Waermepumpe.k = 22.2 via Luxtronic2 None None -- item.py:__update:363
                2015-04-06 17:01:49,300 DEBUG    Luxtronic2   Item Waermepumpe.l = 23.9 via Luxtronic2 None None -- item.py:__update:363
                2015-04-06 17:01:49,330 DEBUG    Luxtronic2   Item Waermepumpe.m = 50 via Luxtronic2 None None -- item.py:__update:363
                2015-04-06 17:01:49,350 DEBUG    Luxtronic2   Item Waermepumpe.n = 357 via Luxtronic2 None None -- item.py:__update:363
                2015-04-06 17:01:49,370 DEBUG    Luxtronic2   Item Waermepumpe.o = 6.8 via Luxtronic2 None None -- item.py:__update:363
                2015-04-06 17:01:49,400 DEBUG    Luxtronic2   Item Waermepumpe.p = 13 via Luxtronic2 None None -- item.py:__update:363
                2015-04-06 17:01:49,430 DEBUG    Luxtronic2   Item Waermepumpe.q = 464 via Luxtronic2 None None -- item.py:__update:363
                Ich habe auch schon im Plugin geschaut ob es da eine Einschränkung gibt, aber bis jetzt keine gefunden. MIt dem Befehl:

                Code:
                sudo python /usr/smarthome/plugins/luxtronic2/__init__.py
                bekomme ich auch die Element 1 bis 10 sauber angezeigt:

                Code:
                admin@smarthome:/usr/smarthome$ sudo python /usr/smarthome/plugins/luxtronic2/__init__.py
                [sudo] password for admin:
                1021 Parameters:
                  1 = 0
                  2 = 0
                  3 = 450
                  4 = 0
                  5 = 0
                  6 = 4
                  7 = 1167609600
                  8 = 1347750000
                  9 = 0
                  10 = 0
                  11 = -200
                  12 = 280
                  13 = 200
                  14 = 0
                  15 = 250
                  16 = 300
                  17 = 0
                Habt ihr noch eine Idee?

                Kommentar


                  #38
                  Hallo,

                  hat schon jemand den Parameter gefunden, der für die Lüftungsstufe zuständig ist?
                  Würde nämlich gerne über die Visu die Stufe einstellen können.

                  Edit:

                  Ich denke, es müsste die Nr. 895 sein.
                  Automatik = 0, Party = 1, Aus = 3.
                  Diese Werte erhalte ich mit
                  Code:
                  python /usr/local/smarthome/plugins/luxtronic2/__init__.py
                  Meine item.conf zum testen:
                  Code:
                  [lueftung]
                  
                      [[stufe_1]]
                          type = bool
                                 lux2_p = 895
                          visu_acl = rw
                          enforce_updates = yes
                  
                      [[stufe_2]]
                          type = bool
                                 lux2_c = 895
                          visu_acl = rw
                          enforce_updates = yes
                  
                      [[stufe_3]]
                          type = bool
                                 lux2_a = 895
                          visu_acl = rw
                          enforce_updates = yes
                  
                      [[stufe_4]]
                          type = bool
                                 lux2 = 895
                          visu_acl = rw
                          enforce_updates = yes
                  Aber in der Visu bleibt immer der Wert 0.

                  Was mache ich falsch??
                  Zuletzt geändert von Max2612; 27.07.2015, 16:52.

                  Kommentar


                    #39
                    marcel0509

                    Hast du schon eine Lösung?
                    Mit dem Element 895 scheint es das gleiche zu sein.

                    Mit dem Befehl
                    Code:
                    ​python /usr/local/smarthome/plugins/luxtronic2/__init__.py
                    erhalte ich den richtigen Wert.
                    Aber das schreiben in ein item klappt nicht.

                    Gruß

                    Max

                    Kommentar


                      #40
                      Kann hier bitte jemand alle items mit dem "type" und Text posten.
                      Ich blick hier nicht ganz durch wann und bei welchen Werten es ein lux oder ein lux_p gibt.

                      Danke

                      Kommentar


                        #41
                        Zitat von rok123 Beitrag anzeigen
                        Kann hier bitte jemand alle items mit dem "type" und Text posten.
                        Ich blick hier nicht ganz durch wann und bei welchen Werten es ein lux oder ein lux_p gibt.

                        Danke
                        Hallo,
                        ich habe folgende items in Verwendung


                        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
                        
                        [[lueftung]]
                                    type = num
                                    lux2_p = 894
                                visu_acl = rw
                                cache = yes
                        Vielleicht hilft´s dir.

                        Max

                        Kommentar


                          #42
                          Zitat von hartwigm Beitrag anzeigen
                          Hallo Björn,

                          AI hat mir das auch gesagt, dass alles nur über Bacnet gehen soll,
                          aber dank des dieses Plugins bekommst Du die WP an den HS.

                          Das Plugin nutzt den gleichen Weg wie das JavaPlugin und extrahiert die Daten.

                          Was mir noch nicht gelungen ist, ist das schreiben von Werten in die WP, aber lesen geht perfekt

                          Hier integriert in den HS

                          Hallo Hartwig,

                          wärst du vielleicht so freundlich und könntest mir mal deine Configs zu deinem Setup posten. Ich möchte eigentlich genau das gleiche machen, habe mich aber bisher nicht mit sh.py beschäftigt und möchte das Rad auch ungern neu erfinden .

                          Danke,
                          Dennis

                          Kommentar


                            #43
                            Habe versucht, das Plugin mit meiner Novelan SIC Wärmepumpe einzubinden. Leider ohne Erfolg, es wird kein Fehler gemeldet, aber alle Items bleiben 0. Muss der PIN Code irgendwo hinterlegt werden? Über den Browser kann ich die wärmepumpe erreichen. Hat jemand das Plugin schon mit einer Novelan am laufen? Ist das immer eine luxtronic?
                            Zuletzt geändert von android; 15.12.2016, 12:43.

                            Kommentar


                              #44
                              Hallo!

                              Ich hab das Plugin mit einer Novelan HLW6E am laufen. (Firmware weiß ich jetzt nicht) Werte lesen und auch schreiben funktioniert bestens.
                              Pin-Code habe ich nirgends eingetragen.

                              Kommentar


                                #45
                                Wenn ich
                                sudo python /usr/smarthome/plugins/luxtronic2/__init__.py ausführe dann bekomme ich 0 Parameters: 327 Attributes: 1 = 1 2 = 1 3 = 1 4 = 0 5 = 0 6 = 1 7 = 0 8 = 1 9 = 1 10 = 0 11 = 0 12 = 0 13 = 0 14 = 1 15 = 1 16 = 1 17 = 1 18 = 1 19 = 1 20 = 1 21 = 1 22 = 1 23 = 1 24 = 1 25 = 1 26 = 1 27 = 1 28 = 1 29 = 1 30 = 1 31 = 1 32 = 1 33 = 1 34 = 0 35 = 0 36 = 0 37 = 1 38 = 1 39 = 1 40 = 1 41 = 0 42 = 1 43 = 1 44 = 1 45 = 0 46 = 0 47 = 1 48 = 0 49 = 1 50 = 1 51 = 1 52 = 1 53 = 1 54 = 0 55 = 1 56 = 1 57 = 0 58 = 1 59 = 1 60 = 1 61 = 1 62 = 1 63 = 1 64 = 1 65 = 0 66 = 0 67 = 0 68 = 1 69 = 1 70 = 0 71 = 0 72 = 1 73 = 1 74 = 1 75 = 1 76 = 1 77 = 1 78 = 1 79 = 1 80 = 1 81 = 1 82 = 0 83 = 0 84 = 0 85 = 1 86 = 0 87 = 0 88 = 1 89 = 1 90 = 1 91 = 1 92 = 0 93 = 1 94 = 1 95 = 1 96 = 0 97 = 1 98 = 0 99 = 1 100 = 1 101 = 0 102 = 0 103 = 0 104 = 1 105 = 1 106 = 0 107 = 1 108 = 1 109 = 1 110 = 1 111 = 1 112 = 1 113 = 1 114 = 0 115 = 0 116 = 0 117 = 1 118 = 1 119 = 0 120 = 1 121 = 1 122 = 1 123 = 1 124 = 1 125 = 0 126 = 0 127 = 0 128 = 0 129 = 0 130 = 0 131 = 1 132 = 1 133 = 1 134 = 1 135 = 1 136 = 1 137 = 1 138 = 0 139 = 0 140 = 0 141 = 0 142 = 0 143 = 1 144 = 0 145 = 1 146 = 1 147 = 1 148 = 1 149 = 1 150 = 1 151 = 1 152 = 1 153 = 1 154 = 0 155 = 0 156 = 0 157 = 0 158 = 0 159 = 0 160 = 0 161 = 1 162 = 1 163 = 1 164 = 1 165 = 1 166 = 1 167 = 1 168 = 1 169 = 1 170 = 1 171 = 1 172 = 1 173 = 1 174 = 1 175 = 1 176 = 1 177 = 1 178 = 1 179 = 1 180 = 1 181 = 1 182 = 1 183 = 1 184 = 1 185 = 1 186 = 1 187 = 1 188 = 1 189 = 1 190 = 1 191 = 1 192 = 1 193 = 1 194 = 1 195 = 0 196 = 1 197 = 1 198 = 0 199 = 1 200 = 1 201 = 1 202 = 1 203 = 0 204 = 0 205 = 1 206 = 1 207 = 1 208 = 1 209 = 1 210 = 0 211 = 0 212 = 0 213 = 0 214 = 0 215 = 1 216 = 0 217 = 0 218 = 1 219 = 1 220 = 0 221 = 1 222 = 0 223 = 1 224 = 1 225 = 1 226 = 1 227 = 0 228 = 0 229 = 1 230 = 1 231 = 1 232 = 1 233 = 1 234 = 1 235 = 1 236 = 1 237 = 0 238 = 1 239 = 1 240 = 0 241 = 0 242 = 1 243 = 0 244 = 0 245 = 1 246 = 0 247 = 1 248 = 1 249 = 0 250 = 1 251 = 0 252 = 0 253 = 1 254 = 1 255 = 1 256 = 0 257 = 0 258 = 0 259 = 0 260 = 0 261 = 0 262 = 0 263 = 0 264 = 0 265 = 0 266 = 0 267 = 0 268 = 0 269 = 0 270 = 0 271 = 0 272 = 0 273 = 0 274 = 0 275 = 0 276 = 0 277 = 0 278 = 0 279 = 0 280 = 1 281 = 0 282 = 0 283 = 0 284 = 0 285 = 1 286 = 0 287 = 1 288 = 1 289 = 0 290 = 1 291 = 1 292 = 0 293 = 1 294 = 1 295 = 1 296 = 1 297 = 1 298 = 1 299 = 0 300 = 0 301 = 1 302 = 0 303 = 1 304 = 1 305 = 1 306 = 0 307 = 0 308 = 0 309 = 0 310 = 0 311 = 0 312 = 0 313 = 1 314 = 0 315 = 1 316 = 0 317 = 1 318 = 0 319 = 0 320 = 0 321 = 0 322 = 0 323 = 1 324 = 0 325 = 0 326 = 0 327 = 0 0 Calculated: cycle takes 0.00839114189148 seconds

                                Danke.

                                Kommentar

                                Lädt...
                                X