Ankündigung

Einklappen
Keine Ankündigung bisher.

Zehnder ComfoAir binding

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

    Zehnder ComfoAir binding

    Hi,

    ich habe jetzt meine erste Version der Zehnder ComfoAir Steuerung fertig gestellt.

    Ihr könnt es unter / - holgerhees-develop - zehnder air flow control - Google Project Hosting
    auschecken oder Ihr nehmt das Binding direkt aus dem Anhang.

    freue mich über Anmerkungen und Verbesserungsvorschläge.

    meine config sieht wie folgt aus

    openhab.cfg
    Code:
    ######################## Zehnder ComfoAir ###########################
    
    # IP serial port of the Zehnder ComfoAir to connect to
    comfoair:port=/dev/ttyS0
    
    # refresh inverval in milliseconds (optional, defaults to 60000)
    #comfoair:refresh=
    info.items
    Code:
    Group Lueftung     "Lüftungsanlage"    <pie>
    Number Lueftung_Auto_Mode    "Modus"                                         <settings> (Lueftung) {comfoair="auto_mode"}
    Number Lueftung_Fan_Level    "Stufe [%d]"                                     <settings> (Lueftung) {comfoair="fan_level"}
    Number Lueftung_Zuluft        "Ventilator Zuluft [%d %%]"                     <settings> (Lueftung) {comfoair="incomming_fan"}
    Number Lueftung_Abluft        "Ventilator Abluft [%d %%]"                     <settings> (Lueftung) {comfoair="outgoing_fan"}
    Number Lueftung_Komfortemperatur "Komfortemperatur [%d °C]"                 <temperature> (Lueftung) {comfoair="target_temperatur"}
    Number Lueftung_Aussenlufttemperatur "Aussenzuluft [%d °C]"                    <temperature> (Lueftung) {comfoair="outdoor_incomming_temperatur"}
    Number Lueftung_Fortlufttemperatur "Aussenabluft [%d °C]"                     <temperature> (Lueftung) {comfoair="outdoor_outgoing_temperatur"}
    Number Lueftung_Zulufttemperatur "Raumzuluft [%d °C]"                         <temperature> (Lueftung) {comfoair="indoor_incomming_temperatur"}
    Number Lueftung_Ablufttemperatur "Raumabluft [%d °C]"                         <temperature> (Lueftung) {comfoair="indoor_outgoing_temperatur"}
    Number Lueftung_Bypass        "Bypass [MAP(bypass_de.map):%s]"                 <settings> (Lueftung) {comfoair="bypass_mode"}
    Number Lueftung_Filterlaufzeit    "Filterlaufzeit [%d h]"                     <clock> (Lueftung) {comfoair="filter_running"}
    /*Switch Lueftung_Filterreset    "Filterreset" (Lueftung) {comfoair="filter_reset"}*/
    Number Lueftung_FilterfehlerI    "Filter (intern) [MAP(filter_de.map):%s]"   <settings> (Lueftung) {comfoair="filter_error_intern"}
    Number Lueftung_FilterfehlerA    "Filter (extern) [MAP(filter_de.map):%s]"   <settings> (Lueftung) {comfoair="filter_error_extern"}
    /*Switch Lueftung_Fehlerreset    "Fehlerreset" (Lueftung) {comfoair="error_reset"}*/
    String Lueftung_Fehlermeldung    "[%s]"                                         <settings> (Lueftung) {comfoair="error_message"}
    home.sitemap
    Code:
                Text label="Lüftung" icon="house" {
                    Frame {
                        Switch item=Lueftung_Auto_Mode label="Modus" mappings=[1="Auto", 0="Manuell"]
                        Switch item=Lueftung_Fan_Level label="Stufe" mappings=[1="A", 2="1", 3="2", 4="3"]
                    }
                    Frame {
                        Setpoint item=Lueftung_Komfortemperatur step=1 minValue=15 maxValue=25
                        Text item=Lueftung_Aussenlufttemperatur
                        Text item=Lueftung_Fortlufttemperatur
                        Text item=Lueftung_Zulufttemperatur
                        Text item=Lueftung_Ablufttemperatur
                        Text item=Lueftung_Bypass
                    }
                    Frame {
                        Text item=Lueftung_Zuluft
                        Text item=Lueftung_Abluft
                    }
                    Frame {
                        Text item=Lueftung_Filterlaufzeit
    /*Switch Lueftung_Filterreset    "Filterreset" (Lueftung) {comfoair="filter_reset"}*/
                        Text item=Lueftung_FilterfehlerI
                        Text item=Lueftung_FilterfehlerA
    /*Switch Lueftung_Fehlerreset    "Fehlerreset" (Lueftung) {comfoair="error_reset"}*/
                        Text item=Lueftung_Fehlermeldung
                    }
                }
    Angehängte Dateien

    #2
    Hi Holger,

    vielen Dank für die Programmierung des Bindings!

    Ich schaue es mir auf jeden Fall an.

    Zur weiteren Vorgehensweise:

    * Issue (Typ Feature) anlegen
    * auf Deinen Clone hinweisen
    * sagen, wie Dein Status ist
    * wenn bereit für Review, um ein Review bitten
    * Review abwarten
    * Kommentare einarbeiten
    * Code wird in den default Branch übernommen

    Gruß,

    Thomas E.-E.
    Visualisierung, Rule/Logic-Engine, Integrationsplattform mit openhab (Supportforum)

    Kommentar


      #3
      der Eintrag ist erstmal erstellt.

      Issue 352 - openhab - Zehnder ComfoAir binding - empowering the smart home - Google Project Hosting

      werde am Wochenende noch ein paar Kleinigkeiten optimieren und verschönern eventuelles Feedback einbauen und dann einen Review anfragen.

      Wie realistisch ist es denn das Feature ins nächste Release reinzubekommen. Gibt es schon einen Zeitplan?

      Kommentar


        #4
        Zitat von holger75 Beitrag anzeigen
        der Eintrag ist erstmal erstellt.
        prima, schon gesehen, vielen Dank!

        Einen Zeitplan gibt es noch nicht, bisher haben wir aber einen Zyklus von ~3 Monaten gehabt.

        Gruß

        Thomas E.-E.
        Visualisierung, Rule/Logic-Engine, Integrationsplattform mit openhab (Supportforum)

        Kommentar


          #5
          nochmal ein screenshot wie sowas eingebunden aussieht.
          Angehängte Dateien

          Kommentar


            #6
            Filter > 5 Jahre im Einsatz?
            Gruß Matthias
            EIB übersetzt meine Frau mit "Ehepaar Ist Beschäftigt"
            - PN nur für PERSÖNLICHES!

            Kommentar


              #7
              nein. :-) ist der einzige wert der noch nicht richtig funktioniert.

              aus irgendeinem Grund geht der Zähler zwischen 4 und 5 pro Minute nach oben.

              muss mal die HEX Werte genauer analysieren die von der Anlage kommen.

              Kommentar


                #8
                Danke für den Screenshot, es ist immer wieder toll zu sehen, was für coole Sachen die Leute mit openHAB machen

                Grüße,
                Kai

                Kommentar


                  #9
                  Das sagt das Protokoll
                  Angehängte Dateien
                  Gruß Matthias
                  EIB übersetzt meine Frau mit "Ehepaar Ist Beschäftigt"
                  - PN nur für PERSÖNLICHES!

                  Kommentar


                    #10
                    so benutze ich es auch. byte 15 als high byte und byte 16 als low byte.

                    schaue mir das am Wochenende nochmal genauer an. Vielleicht habe ich noch in meinem Code einen Denkfehler. Er funktioniert ungefähr so.

                    int[] get_reply_data_pos = new int[]{15,16};

                    int value = 0;
                    int base = 0;

                    for( int i = get_reply_data_pos.length - 1; i >= 0; i-- ){

                    value += data[get_reply_data_pos[i]] << base;
                    base += 8;
                    }

                    Kommentar


                      #11
                      Ich habe

                      ord(SN[1][22:23]) * 256 + ord(SN[1][23:24]

                      Meine Positionen sind allerdings um 7 versetzt
                      Gruß Matthias
                      EIB übersetzt meine Frau mit "Ehepaar Ist Beschäftigt"
                      - PN nur für PERSÖNLICHES!

                      Kommentar


                        #12
                        Das hier sind meine Positionen 0 bis 19

                        00 00 00 00 04 76 00 07 07 4b 00 00 00 10 02 b1 00 32 00 00

                        Kommentar


                          #13
                          Da komme ich auch auf ca. 45000
                          Gruß Matthias
                          EIB übersetzt meine Frau mit "Ehepaar Ist Beschäftigt"
                          - PN nur für PERSÖNLICHES!

                          Kommentar


                            #14
                            Hallo,

                            um welches Modell der ComfoAir handelt es sich? Ist das Binding abhängig vom Modell oder funktioniert es mit allen? Wie ist die ComfoAir an den PC angeschlossen? Mit einem Seriell/RS232 auf USB-Wandler?

                            Gruß,
                            Martin

                            Kommentar


                              #15
                              Ich habe eine ComfoAir 350 (incl Standardmässiger Konnektorplatine) und CCEase Bedieneinheit.

                              Als PC habe ich einen Lüfterlosen 10 Watt PC mit Atom CPU und 2 Seriellen Anschlüssen. Dort ist der Serielle Port der ComfoAir ohne Adapter direkt angeschlossen.

                              anzumerken ist noch das die Items "auto_mode", "filter_error_extern" und filter_error_intern" eine CCEase Bedieneinheit vorraussetzen. Zum Mindestens glaube ich das, da die verwendeten Protokollbefehle für diese gedacht sind.

                              Kommentar

                              Lädt...
                              X