Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. [Projekt] Comfoair CA350 - Adapter

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [Projekt] Comfoair CA350 - Adapter

    This topic has been deleted. Only users with topic management privileges can see it.
    • F
      forelleblau @grobalt last edited by

      @grobalt

      Hallo grobalt. Drücke nach dem Auswählen einmal nur Enter und nicht den Hacken. Die States für die Steuerung müssen mit ack = false gesetzt werden, damit der Adapter sie als Steuerbefehle interpretiert.
      Mit dem Hacken setzt man meines Wissens den Wert mit ack = true.

      Herzliche Grüsse forelleblau

      F 1 Reply Last reply Reply Quote 0
      • F
        forelleblau @forelleblau last edited by

        @grobalt

        Hallo grobalt. Sorry war beim falschlen Hacken/Kästchen.
        Mit Auswählen der Stufe im dropdown von /control/Stufe und dem Hacken rechts davon sollte es klappen.

        Was dabei geschieht sieht man nur im debug-log (umstellen im Instanzen - Tab). Damit könnte ich dann möglicherweise auch mehr sagen.

        Die Werte ausserhalb des control-channels kommen aber an?

        Herzliche Grüsse forelleblau

        1 Reply Last reply Reply Quote 0
        • Snowboarder2611
          Snowboarder2611 last edited by

          Hi,
          vielen lieben Dank für den Adapter. Ich nutze diesen nun seit Januar. Oder besser gesagt, seit Januar bekomme ich endlich die Werte im Broker angezeigt und ich kann auch Werte ändern.
          Mit ist jetzt bei den Betriebsstunden der einzelnen Lüftungsstufen etwas aufgefallen. Dort haben wir eine Laufzeit von 22446 Stunden. Das kommt mit der Installation auch hin. Aber kurz darauf springt diese Stundenzahl auf 22272174 Stunden.
          Diese Zahl bleibt sehr lange stehen. Refresht sich auch schön immer auf die große Zahl. Nur ab und zu kommt der richtige Wert.

          Was könnte hier falsch laufen?

          F 1 Reply Last reply Reply Quote 0
          • F
            forelleblau @Snowboarder2611 last edited by

            @snowboarder2611

            Hallo. Welche Version hast du installiert? Falls noch nicht 1.1.3, bitte updaten.

            Den Effekt hatte ich auch schon, bin aber nicht sicher wieso.

            1 Reply Last reply Reply Quote 0
            • Snowboarder2611
              Snowboarder2611 last edited by

              Danke für die schnelle Antwort.
              Ich habe die Version 1.1.3 schon installiert.
              Der Fehler ist in dieser Version vorhanden.

              F 1 Reply Last reply Reply Quote 0
              • F
                forelleblau @Snowboarder2611 last edited by

                @snowboarder2611 Ja, das hab ich fast befürchtet. Andere und ich auch haben diesen Effekt auch schon beobachtet. In der Version 1.1.3 habe ich einen möglichen Lösungsansatz versucht. Das Problem steckt in der Umrechnung der Werte aus mehreren Hex-Bytes (von der comfoair) in eine ganze Zahl, die manchmal funktioniert wie sie soll und manchmal nicht. Ich werde mir wohl mal ein Log-basteln müssen, dass mir die Input- und Outputwerte rausschreibt und ich dann so vergleichen kann, wann es funktioniert und wann nicht. Du siehst, die Lösung wird wohl einen Moment dauern.
                Tauchen die falschen Werte bei allen Stundenzahlen auf (Filter, Stufen etc.) oder nur bei bestimmten?
                Wenn ab und zu die richtige kommt, könnte es sein, dass das 'besondere' Werte sind? Runde 10er? immer der erste nach einem Neustart? ??
                Falls jemand einen Ansatz sieht, der weiterhelfen könnte, nehme ich den gerne entgegen.

                1 Reply Last reply Reply Quote 0
                • Snowboarder2611
                  Snowboarder2611 last edited by Snowboarder2611

                  Hi,
                  Ich habe mal einen Ausschnitt meiner Historie als Bilder. Die Namen der Datenobjekte stehen jeweils oben. Das sind die, bei denen der Fehler bei mir auftritt. Einige Werte haben sich nicht erhöht, da die Lüftung nicht in dieser Betriebsart gelaufen ist.
                  AA53230B-2D36-4A5B-86C6-68DAB5880A90.jpeg 1C7E3C72-3E0E-4B99-B25D-E1F49D58CDC3.jpeg D7D031D2-E70A-450F-ACFF-E27550540D49.jpeg F68BD1A4-893C-4C64-9522-A2E5AF457DE5.jpeg CF99BF80-042B-456B-9C01-135FFF4C43A6.jpeg

                  1 Reply Last reply Reply Quote 0
                  • F
                    forelleblau last edited by

                    Danke vielmal! Es wird also der selbe Wert einmal so und einmal so dargestellt. Eine Erhöhung um 1 ist auf beiden Levels eine Erhöhung um 1.
                    Aber ansonsten ist es zufällig, wann welcher Wert kommt.

                    C 1 Reply Last reply Reply Quote 0
                    • C
                      claus @forelleblau last edited by

                      Bei den PIN Belegungen lese ich immer 2, 3 und 5 was ja dem seriellen Standard entspricht. Die 12V Versorgung gibt es vermutlich nur auf dem RJ45? Wenn ich direkt auf den 9-poligen seriellen Anschluss gehe, dann liegen da auf Pin 1 auch 12V an?

                      F 1 Reply Last reply Reply Quote 0
                      • F
                        forelleblau @claus last edited by

                        @claus hallo claus. Kann ich dir so nicht sagen, das müsstest du messen. Ich greife 12v direkt auf der Klemmleiste der comfair ab. Gruss Forelleblau

                        C 1 Reply Last reply Reply Quote 0
                        • C
                          claus @forelleblau last edited by

                          @forelleblau
                          Funktioniert super, auf Anhieb. Das Einzige, was ich nicht finden konnte, ist Bypassbetrieb ja oder nein.

                          Außerdem zeigt der Enthalpie Sensor -20°C an, was sicher nicht stimmt. Die restlichen Werte sehen recht gut und auch korrekt aus.

                          1 Reply Last reply Reply Quote 0
                          • F
                            forelleblau last edited by

                            @claus Hallo claus. Den Bypassbetrieb gibt es nicht, der Bypass kann nicht direkt angesteuert werden - hab jedenfalls noch nicht rausgefunden wie. Den müsstest du über ein extremes Setzen der Komforttemperatur übersteuern.
                            Hast du denn überhaupt einen Enthalpie-Tauscher? Wenn die anderen Werte 0 sind, dann wohl keinen 😉
                            Danke für die Rückmeldung.
                            Grüsse
                            Forelleblau

                            C 2 Replies Last reply Reply Quote 0
                            • C
                              claus @forelleblau last edited by claus

                              @forelleblau
                              Ich hätte den Bypass nur gerne ausgelesen, im Log finde ich folgende Meldung ...

                              State "comfoair.0.status.bypass" has no existing object, this might lead to an error in future versions
                              

                              Einen Enthalpietauscher habe ich zumindest gekauft 🙂
                              Warum da nun keine Werte rauskommen, weiß ich auch nicht genau.

                              Ergänzung, der bypass ist jetzt da und auch viele andere Objekte, das dauerte wohl nur etwas. Ich warte jetzt mal etwas ab und schau was so weiter passiert.

                              1 Reply Last reply Reply Quote 0
                              • C
                                claus @forelleblau last edited by

                                Ich habe es mir jetzt nochmal im PC Tool angesehen. Es gibt ja einen Parameter "P97 - Enthalpietauscher aktiv?" , der kann drei Werte enthalten.

                                Anwesend
                                Abwesend
                                Ohne Fühler

                                Bei mir war "Ohne Fühler" eingestellt. Ob man die nachrüsten kann, muss ich mal bei Zehnder anfragen. Sonst scheint nun alles zu funktionieren, super Adapter, danke dafür!

                                F 1 Reply Last reply Reply Quote 0
                                • F
                                  forelleblau @claus last edited by

                                  @claus Danke für die Info, freut mich, wenn der Adapter dient.

                                  C 1 Reply Last reply Reply Quote 0
                                  • C
                                    claus @forelleblau last edited by

                                    @forelleblau

                                    Eine Sache habe ich beim Testen gefunden. Wenn man Stosslüftung aktiviert, dann läuft diese auch korrekt an, beendet sich auch nach der eingestellten Zeit wieder. Allerdings setzt sich nach Ablauf der Zeit "comfoair.0.control.boost" nicht mehr auf false zurück.

                                    F 1 Reply Last reply Reply Quote 0
                                    • F
                                      forelleblau @claus last edited by

                                      @claus Danke für den umfangreichen Test. Ich schau das der boost-Trigger mit der nächsten Version zurückgestellt wird.

                                      Grüsse forelleblau

                                      C 2 Replies Last reply Reply Quote 0
                                      • C
                                        claus @forelleblau last edited by

                                        @forelleblau

                                        Ich hatte noch folgende Meldungen im Log.

                                        State value to set for "comfoair.0.status.filterw" has to be type "number" but received type "string"
                                        

                                        Es scheint so, als fehlte da ein parseInt.

                                        --- main.js.orig        2022-08-09 11:49:50.658543470 +0200
                                        +++ main.js     2022-09-18 14:05:38.868928589 +0200
                                        @@ -912,7 +916,8 @@
                                               case 202:
                                                 //polling
                                                 verzoegerungen = buffarr;
                                        -        adapter.setState("status.filterw", buffarr[11], true);
                                        +        adapter.setState("status.filterw", parseInt(buffarr[11]), true);
                                                 break;
                                        
                                        1 Reply Last reply Reply Quote 0
                                        • C
                                          claus @forelleblau last edited by

                                          @forelleblau

                                          Erster Versuch, sei umsichtig, das sind meine ersten Codeänderungen bei ioBroker 🙂
                                          Manchmal führt er bei Aktivierung von Boost aber das Kommando

                                          callcomfoair(setfanstate[3]);
                                          

                                          nicht aus. Ich vermute, es gibt da Kollisionen im Parallelmodus.

                                          --- main.js.orig        2022-08-09 11:49:50.658543470 +0200
                                          +++ main.js     2022-09-18 15:41:51.458462775 +0200
                                          @@ -92,7 +92,7 @@
                                                 clearInterval(polling);
                                                 clearTimeout(polling);
                                                 clearTimeout(pcmaster);
                                          -      clearTimeout(boostrun);
                                          +      clearBoostTimeout();
                                                 client.destroy();
                                                 adapter.log.info('[END] Stopping comfoair adapter...');
                                                 adapter.setState('info.connection', false, true);
                                          @@ -440,7 +440,7 @@
                                                 case "control.stufe":
                                                   adapter.log.debug("Setzte Stufe: " + state);
                                                   callcomfoair(setfanstate[state]);
                                          -        clearTimeout(boostrun);
                                          +        clearBoostTimeout()
                                                   break;
                                          
                                                 case "control.comforttemp":
                                          @@ -510,8 +510,12 @@
                                                   break;
                                          
                                                 case "control.boost":
                                          -        adapter.log.debug("Starte boost");
                                          -        boost();
                                          +        if (state == true) {
                                          +          adapter.log.debug("Starte boost");
                                          +          boost();
                                          +        } else {
                                          +          clearBoostTimeout();
                                          +        }
                                                   break;
                                          
                                          @@ -1593,7 +1597,7 @@
                                                 adapter.getState('control.boosttime', function(err, state) {
                                                   if (state) {
                                                     adapter.log.debug("Starte Boostmodus für " + state.val + " Minuten, kehre danach auf Stufe " + boostlevelold + " zurück");
                                          -          callcomfoair(setfanstate[3]);;
                                          +          callcomfoair(setfanstate[3]);
                                                     boostrun = setTimeout(function() {
                                                       adapter.log.debug("Boost Ende");
                                                       adapter.setState('control.stufe', boostlevelold, false);
                                          @@ -1607,6 +1611,16 @@
                                          
                                           } //end function boost
                                          
                                          +function clearBoostTimeout() {
                                          +  adapter.log.debug("boostrun Timeout zurückgesetzt")
                                          +  clearTimeout(boostrun);
                                          +  adapter.getState('control.boost', function (err, state) {
                                          +    if (state.val == true) {
                                          +      adapter.setState('control.boost', false, false);
                                          +    }
                                          +  });
                                          +} //end function clearBoostTimeout
                                          +
                                           function restartAdapter() {
                                             adapter.getForeignObject('system.adapter.' + adapter.namespace, (err, obj) => {
                                               if (obj) adapter.setForeignObject('system.adapter.' + adapter.namespace, obj);
                                          
                                          F 1 Reply Last reply Reply Quote 0
                                          • F
                                            forelleblau @claus last edited by

                                            @claus Danke für den Vorschlag, claus.
                                            Die Risiken des Parallelmodus hab ich beschrieben....das überlasse ich dir.

                                            Deinen Lösungsvorschlag könnte das ganze stabiler machen. Könntest du mir den als PR auf Github senden?

                                            Danke u herzliche Grüsse

                                            Forelleblau

                                            C 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            920
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            25
                                            153
                                            15757
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo