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

    #46
    Wie sehen deine items dazu aus?

    Kommentar


      #47
      [messen]
      [[wp]]
      [[[temp_aussen]]]
      type = num
      lux2 = 15
      visu_acl = rw

      Kommentar


        #48
        Versuchs mal mit lux2_a = 15

        Wobei du aber anscheinend nur Werte vom Typ Atttibut erhältst. Die Aussentemperatur ist bei mir aber unter Typ Calculated.

        Kommentar


          #49
          Dann steht in dem Wert eine 1.0 die auch in den Attribut mit der Nummer 15 stand. Das ist aber leider nicht die aktuelle Aussentemperatur

          Kommentar


            #50
            Zitat von android Beitrag anzeigen
            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.
            Ganz unten steht bei dir 0 Calculated. Da liegt, denke ich, das Problem. Sämtliche Temp-Werte sollten eigentlich da drinnen stehen.

            Welche Firmware hat deine WP?

            Kommentar


              #51
              Hallo,

              bin leider immer noch nicht weitergekommen. Software Version ist V3.78.

              Hatte in einem anderen Beitrag https://knx-user-forum.de/forum/supp...blem-luxtronik gelesen das sich der Port geändert hat:

              Zitat von MrDuFF Beitrag anzeigen
              Welche FW-Version hast du denn drauf ?? Bei der V 1.76 hat sich nämlich der Port auf 8889 geändert
              Aber mit dem Port bekomme ich gar keine Daten, also auch die Attribute nicht mehr. Aber meine Softwareversion ist ja auch wesentlich neuer.

              Hat das überhaupt einer damit am laufen? Oder sonst noch jemand eine Idee?

              Kommentar


                #52
                Ich besitze eine Wärmepumpe SWC80HKE von Alpha Innotech mit einer Luxtronik2 Steuerung (Firmware 1.80). Ich notiere hier ein paar Dinge, die ich herausgefunden habe. Vielleicht ist es auch für andere hilfreich.

                Die Parameter (lesen/schreiben) auf der Schnittstelle "lux2_p" sind wie folgt zu benutzen:

                Code:
                #   1 = HEATING_TEMPERATURE       : [°C] (muss /10 geteilt werden)
                #
                #   2 = WARMWATER_TEMPERATURE     : [°C] (muss /10 geteilt werden)
                #
                #   3 = HEATING_OPERATION_MODE    : AUTOMATIC(0)         - Automatik
                #                                   AUXILIARY_HEATER(1)  - Zuzatzheizer
                #                                   PARTY(2)             - Party
                #                                   HOLIDAY(3)           - Urlaub
                #                                   OFF(4)               - Aus
                #
                #   4 = WARMWATER_OPERATION_MODE  : AUTOMATIC(0)         - Automatik
                #                                   AUXILIARY_HEATER(1)  - Zuzatzheizer
                #                                   PARTY(2)             - Party
                #                                   HOLIDAY(3)           - Urlaub
                #                                   OFF(4)               - Aus
                #
                # 108 = COOLING_OPERATION_MODE    : OFF(0)               - Aus
                #                                   AUTOMATIC(1)         - Automatik
                #
                # 110 = COOLING_RELEASE_TEMP      : [°C] (muss /10 geteilt werden)
                #
                # 132 = COOLING_INLET_TEMP        : [°C] (muss /10 geteilt werden)
                #
                # 850 = COOLING_START             : [h] (muss /10 geteilt werden)
                #
                # 851 = COOLING_STOP              : [h] (muss /10 geteilt werden)
                Die entsprechende Datei in "items" ist wie folgt aufgebaut:

                Code:
                [wp]
                  [[para]]
                    [[[HEATING_OPERATION_MODE]]]
                        type = num
                        lux2_p = 3                  # 0 = Auto
                        visu_acl = rw
                    [[[HEATING_TEMPERATURE]]]
                        type = num
                        lux2_p = 1                  # [°C] (muss /10 geteilt werden)
                        visu_acl = rw
                    [[[WARMWATER_OPERATION_MODE]]]
                        type = num
                        lux2_p = 4                  # 0 = Auto
                        visu_acl = rw
                    [[[WARMWATER_TEMPERATURE]]]
                        type = num
                        lux2_p = 2                  # [°C] (muss /10 geteilt werden)
                        visu_acl = rw
                    [[[COOLING_OPERATION_MODE]]]
                        type = num
                        lux2_p = 108                # 1 = Auto
                        visu_acl = rw
                    [[[COOLING_RELEASE_TEMP]]]
                        type = num
                        lux2_p = 110                # [°C] (muss /10 geteilt werden)
                        visu_acl = rw
                    [[[COOLING_INLET_TEMP]]]
                        type = num
                        lux2_p = 132                # [°C] (muss /10 geteilt werden)
                        visu_acl = rw
                    [[[COOLING_START]]]
                        type = num
                        lux2_p = 850                # [h] (muss /10 geteilt werden)
                        visu_acl = rw
                    [[[COOLING_STOP]]]
                        type = num
                        lux2_p = 851                # [h] (muss /10 geteilt werden)
                        visu_acl = rw
                Ich habe in einem eigenen Plugin mit Hilfe dieser Parameter eine Optimierung für den Eigenverbrauch meiner PV-Energie gemacht. Sobald genügend Energie zur Verfügung steht, heize ich das Brauchwasser auf. Dazu gehe ich wie folgt vor (Pseudo-Code):
                1. WARMWATER_OPERATION_MODE = PARTY
                2. WARMWATER_TEMPERATURE = gewünschter Zielwert
                3. warten, bis Brauchwasser aufgeheizt ist
                4. WARMWATER_OPERATION_MODE = AUTOMATIC
                5. WARMWATER_TEMPERATURE = ursprünglicher Zielwert

                Der Modus PARTY ignoriert die Zeitsperren der Luxtronik2, was für mich optimal ist. Ich sperre die Brauchwassererwärmung im Hochtarif explizit.

                Gruss

                Matthias

                Kommentar


                  #53
                  Habe ein ähnliches Skript mit sehr schöner Dokumentation gefunden:

                  https://github.com/Bouni/Luxtronik-2...cumentation.md

                  Hier werden immer nur 4 Byte blöcke benutzt, in diesem Plugin hier unterschiedliche Blockgrößen. Bei mir funktioniert nur die Variante mit 4Byte Blöcken.

                  Meine Wärmepumpe hat auch den Port 8889, vielleicht hat sich da auch was am Aufbau der Telegramme geändert?!

                  Werde meine abgeänderte Version des Plugins heute Abend mal noch posten. Evtl hilfts ja noch wem weiter.

                  Kommentar


                    #54
                    Habe es endlich mal geschafft das Plugin auf 4Byte zu ändern und zu testen. Es funktioniert, aber leider macht es nun jede Menge Threads auf. Hat jemand eine Idee wo das Problem ist?

                    Code:
                    defrefresh_calculated(self):
                           request = struct.pack('!ii', 3004, 0)
                           self._lock.acquire()
                           answer = self._request(request, 4)
                           if len(answer) != 4:
                               self._lock.release()
                               self.close()
                               raise luxex("error receiving answer: no data")
                               answer = struct.unpack('!i', answer)
                          if answer[0] != 3004:
                                self.logger.warning("Luxtronic2: failed to retrieve calculated")
                                return 0
                           data = self._request_more(4)
                           status = struct.unpack('!i', data)[0]
                           data = self._request_more(4)
                           length = struct.unpack('!i', data)[0]
                           calcs = []
                           for i inrange(0, length):
                               calc = self._request_more(4)
                               calcs.append(struct.unpack('!i', calc)[0])
                            iflen(calcs) > 0:
                               self._calc = calcs
                               return status
                            return0
                    Sorry für die Einrückungen, kriege es nicht besser eingefügt. Jemand einen Tipp wie man Code kopiert, sodass es auch klappt die Einrückungen zu behalten?
                    Angehängte Dateien
                    Zuletzt geändert von android; 09.02.2020, 10:41.

                    Kommentar


                      #55
                      android Tipp Zum Code kopieren: Seit einem Security Update der Forum Software von knx-user-forum wird beim Paste fast alles aus dem eingefügten Text entfernt (so auch CRs und führende Leerzeichen).

                      Damit diese Formatierung erhalten bleibt muss man vor dem Paste in den "Quellmode" umschalten, also:
                      • zuerst einen CODE Block erzeugen (mit dem Button #)
                      • anschließend in den "Quellmode schalten (Button ganz links Dokument mit <>)
                      • Jetzt den Text zwischen CODE und /CODE pasten
                      • den "Quellmode" durch erneutes drücken des Buttons wieder ausschalten.
                      Viele Grüße
                      Martin

                      Stay away from negative people. They have a problem for every solution.

                      Kommentar

                      Lädt...
                      X