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

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

    Hallo Kollegen,

    nach längerer Pause ein neues Plugin für die Community. Damit lassen sich Heizungen mit Luxtronic 2.0 Steuerungen auslesen und sogar Parameter verändern (Achtung, man sollte wissen was man tut). Das Plugin ist bereits im master Branch enthalten.

    plugin.conf
    Code:
    [luxtronic2]
        class_name = Luxtronic2
        class_path = plugins.luxtronic2
        host = 192.168.0.123
        # port = 8888
    item.conf
    Code:
    [heating]
        [[temp_outside]]
            type = num
            lux2 = 10
        [[state_numeric]]
            type = num
            lux2_c = 119
        [[state]]
            type = str
            lux2 = 119
    Das Plugin macht nichts anderes, als alle Parameter (lux2_p), Attribute (lux2_a) und Berechneten Werte (lux2_c) von der Wärmepumpe abzufragen. Da sich die Anzahl (und vielleicht auch die Bedeutung) der Werte je nach Wärmepumpe stark unterscheiden, habe ich gar nicht viel Verarbeitung in das Plugin eingebaut. Die Werte werden 1:1 an das entsprechende sh.py Item übergeben. Ihr müsst also einfach das lux2_p, lux2_a oder lux2_c Attribut an ein sh.py Item anhängen und als Wert den entsprechenden Index angeben. Welcher Index was bedeutet weiß ich leider auch nur das, was man hier (z.B. im EibPC Bereich) und in den einschlägigen Foren so findet.

    Testweise kann man das Plugin auch direkt als Python Programm ausführen

    Code:
    python /usr/local/smarthome/plugins/luxtronic2/__init__.py
    und bekommt als Ausgabe alle Werte die die WP gesendet hat.

    Die wichtigsten Werte sollten die Calculated, also die berechneten Werte sein. Für einige gibt es eine kleine Sonderbehandlung wenn sie ohne '_c' direkt als 'lux2 = ' in der item.conf angegeben werden. Index 119 gibt z.B. den Status als Integer zurück und somit liefert 'lux2_c = 119' diesen Integerwert. 'lux2 = 119' hingegen liefert einen Stringwert mit dem Status als deutschen Text. Anderes Beispiel ist z.B. die Außentemperatur (Index 15), Vorlauftemperatur (Index 10), Rücklauftemperatur (Index 11) usw. die einfach durch 10 geteilt werden. Da alle Werte von der WP als Integer versendet werden erhält man so wieder den korrekten Wert mit einer Nachkommastelle.

    Und nun viel Spass damit und lasst es mich wissen, falls es noch Fragen gibt.
    Mit freundlichen Grüßen
    Niko Will

    Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
    - Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -

    #2
    Hab gerade eine Liste aller berechneten Werte gefunden (also für lux2_c und lux2):

    10: Temperatur_TVL
    11: Temperatur_TRL
    12: Sollwert_TRL_HZ
    13: Temperatur_TRL_ext
    14: Temperatur_THG
    15: Temperatur_TA
    16: Mitteltemperatur
    17: Temperatur_TBW
    18: Einst_BWS_akt
    19: Temperatur_TWE
    20: Temperatur_TWA
    21: Temperatur_TFB1
    22: Sollwert_TVL_MK1
    23: Temperatur_RFV
    24: Temperatur_TFB2
    25: Sollwert_TVL_MK2
    26: Temperatur_TSK
    27: Temperatur_TSS
    28: Temperatur_TEE
    29: ASDin
    30: BWTin
    31: EVUin
    32: HDin
    33: MOTin
    34: NDin
    35: PEXin
    36: SWTin
    37: AVout
    38: BUPout
    39: HUPout
    40: MA1out
    41: MZ1out
    42: VENout
    43: VBOout
    44: VD1out
    45: VD2out
    46: ZIPout
    47: ZUPout
    48: ZW1out
    49: ZW2SSTout
    50: ZW3SSTout
    51: FP2out
    52: SLPout
    53: SUPout
    54: MZ2out
    55: MA2out
    56: Zaehler_BetrZeitVD1
    57: Zaehler_BetrZeitImpVD1
    58: Zaehler_BetrZeitVD2
    59: Zaehler_BetrZeitImpVD2
    60: Zaehler_BetrZeitZWE1
    61: Zaehler_BetrZeitZWE2
    62: Zaehler_BetrZeitZWE3
    63: Zaehler_BetrZeitWP
    64: Zaehler_BetrZeitHz
    65: Zaehler_BetrZeitBW
    66: Zaehler_BetrZeitKue
    67: Time_WPein_akt
    68: Time_ZWE1_akt
    69: Time_ZWE2_akt
    70: Timer_EinschVerz
    71: Time_SSPAUS_akt
    72: Time_SSPEIN_akt
    73: Time_VDStd_akt
    74: Time_HRM_akt
    75: Time_HRW_akt
    76: Time_LGS_akt
    77: Time_SBW_akt
    78: Code_WP_akt
    79: BIV_Stufe_akt
    80: WP_BZ_akt
    81: SoftStand1
    82: SoftStand2
    83: SoftStand3
    84: SoftStand4
    85: SoftStand5
    86: SoftStand6
    87: SoftStand7
    88: SoftStand8
    89: SoftStand9
    90: SoftStand10
    91: AdresseIP_akt
    92: SubNetMask_akt
    93: Add_Broadcast
    94: Add_StdGateway
    95: ERROR_Time0
    96: ERROR_Time1
    97: ERROR_Time2
    98: ERROR_Time3
    99: ERROR_Time4
    100: ERROR_Nr0
    101: ERROR_Nr1
    102: ERROR_Nr2
    103: ERROR_Nr3
    104: ERROR_Nr4
    105: AnzahlFehlerInSpeicher
    106: Switchoff_file_Nr0
    107: Switchoff_file_Nr1
    108: Switchoff_file_Nr2
    109: Switchoff_file_Nr3
    110: Switchoff_file_Nr4
    111: Switchoff_file_Time0
    112: Switchoff_file_Time1
    113: Switchoff_file_Time2
    114: Switchoff_file_Time3
    115: Switchoff_file_Time4
    116: Comfort_exists
    117: HauptMenuStatus_Zeile1
    118: HauptMenuStatus_Zeile2
    119: HauptMenuStatus_Zeile3
    120: HauptMenuStatus_Zeit
    121: HauptMenuAHP_Stufe
    122: HauptMenuAHP_Temp
    123: HauptMenuAHP_Zeit
    124: SH_BWW
    125: SH_HZ
    126: SH_MK1
    127: SH_MK2
    128: Einst_Kurzrpgramm
    129: StatusSlave_1
    130: StatusSlave_2
    131: StatusSlave_3
    132: StatusSlave_4
    133: StatusSlave_5
    134: AktuelleTimeStamp
    135: SH_MK3
    136: Sollwert_TVL_MK3
    137: Temperatur_TFB3
    138: MZ3out
    139: MA3out
    140: FP3out
    141: Time_AbtIn
    142: Temperatur_RFV2
    143: Temperatur_RFV3
    144: SH_SW
    145: Zaehler_BetrZeitSW
    146: FreigabKuehl
    147: AnalogIn
    148: SonderZeichen
    149: SH_ZIP
    150: WebsrvProgrammWerteBeobarten
    151: WMZ_Heizung
    152: WMZ_Brauchwasser
    153: WMZ_Schwimmbad
    154: WMZ_Seit
    155: WMZ_Durchfluss
    156: AnalogOut1
    157: AnalogOut2
    158: Time_Heissgas
    159: Temp_Lueftung_Zuluft
    160: Temp_Lueftung_Abluft
    161: Zaehler_BetrZeitSolar
    162: AnalogOut3
    163: AnalogOut4
    164: Out_VZU
    165: Out_VAB
    166: Out_VSK
    167: Out_FRH
    168: AnalogIn2
    169: AnalogIn3
    170: SAXin
    171: SPLin
    172: Compact_exists
    elt1: elektrical energy compressor
    elt2: elektrical energy Luxtronik2, pumps
    Quelle: SourceForge.net Repository - [opendta] Contents of /trunk/doc/dump_format.txt
    Mit freundlichen Grüßen
    Niko Will

    Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
    - Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -

    Kommentar


      #3
      Hi Niko,

      schön, so mach ich das dann mit meinem ETA Kessel wohl auch, obwohl ich das Plugin erst schlauer machen wollte. Aber das kann man ja dann in der Logik machen, wie hier bei Dir.

      Eine Bitte, könntest Du in Zukunft noch die ein oder andere Zeile Code Doku mit unterbringen? Das macht es allen leichter...

      thx
      Derzeit zwischen Kistenauspacken und Garten anlegen.
      Baublog im Profil.

      Kommentar


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

        Hm ja, du hast recht mit den Kommentaren. Beruflich bin ich gewöhnt mich den unterschiedlichsten Codestilen anzupassen... wahrscheinlich dokumentier ich deshalb in sh.py zu wenig

        EDIT: mir wäre es auch lieber, mit Namen statt mit Indices zu arbeiten. Da ich aber mit den meisten Abkürzungen nichts anfangen kann, dachte ich lieber überhaupt ein Zugriff auf die Heizung als keinen.
        Mit freundlichen Grüßen
        Niko Will

        Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
        - Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -

        Kommentar


          #5
          Danke Niko für dieses tolle Plugin! Ich habe nun endlich einen Haufen Items für meine Alpha-Innotec WP definiert und kann die ersten Werte anzeigen. Wie aber können die jeweiligen Items aktualisiert werden, wenn der Wert ändert? Gibt es da einen Trigger von der Luxtronic? Bin noch Anfänger mit smarthome.py ...

          Ich musste bei einigen Werten noch durch 10 bzw. 3600 dividieren damit ich korrekte Grad bzw. Stunden Angaben bekommen habe. Jetzt muss ich nur noch die viel zu hohen Werte in der sqlite DB loswerden sonst sehen die Plots nicht so toll aus ...

          Danke
          Tom

          Kommentar


            #6
            Hi Tom,

            Geduld, es wird zyklisch aktualisiert. Per default alle 300 Sekunden.

            Bis bald

            Marcus


            Gesendet von unterwegs

            Kommentar


              #7
              Danke für den Hinweis. Habe den default cycle=300 im Plugin Code gefunden. Kann ich diesen auch auf einen anderen Wert setzen? Und falls ja, nur pro Item oder auch global oder pro Plugin?

              Danke
              Tom

              Kommentar


                #8
                Das ist pro Plugin.
                Derzeit zwischen Kistenauspacken und Garten anlegen.
                Baublog im Profil.

                Kommentar


                  #9
                  @2ndsky

                  Vielen vielen Dank für das Plugin.

                  Unsere Heizung läuft gerade um den Estrich Belegreif zu trocknen und da habe ich direkt mal dein Plugin ausprobiert um Vorlauf, Rücklauf und Rücklauf-Soll mit zu loggen, funktioniert super

                  Kommentar


                    #10
                    Freut mich zu hören
                    Mit freundlichen Grüßen
                    Niko Will

                    Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
                    - Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -

                    Kommentar


                      #11
                      Hallo Niko,

                      kennst Du zufällig auch die Logik um den Status der Lüftung über Luxtronik abzufragen. Ich bisher leider nicht herausgefunden wie ich an die Werte komme.

                      Danke
                      Gunnar

                      Kommentar


                        #12
                        @Niko
                        Ich habe in meiner heizung.conf folgenden Eintrag:

                        Code:
                        [heizung]
                            [[temperatur_aussen]]
                                type = num
                                lux2 = 15
                                sqlite = yes
                        und bekomme damit die Außentemperatur des Temperaturfühlers der Heizung.

                        Nun habe ich im Bad einen Gira TS3 Plus 2-fach mit Display und würde gerne dort die Außentemperatur anzeigen lassen.

                        Der TS3 Plus hat einen Eingang für die Außentemperatur. Ich habe jetzt eine Gruppenadresse 4/1/10 angelegt und diese mit dem Eingang des Tasters verbunden.
                        Die Frage ist jetzt, wie schreibe ich am einfachsten den Wert von heizung.temperatur_aussen auf die Gruppenadresse 4/1/10?

                        Kommentar


                          #13
                          In dem du dem Item in sh.py noch ein "knx_dpt=9" und ein "knx_send=4/1/10" spendierst
                          Mit freundlichen Grüßen
                          Niko Will

                          Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
                          - Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -

                          Kommentar


                            #14
                            @Gunnar

                            Habe selber keine Lüftung an der Luxtronic... Du musst also ausprobieren oder googlen welcher Paramter zur Lüftung gehört.
                            Mit freundlichen Grüßen
                            Niko Will

                            Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
                            - Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -

                            Kommentar


                              #15
                              Okay doch so einfach, danke für die Info, wird morgen direkt getestet

                              Kommentar

                              Lädt...
                              X