Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. [Projekt] Comfoair CA350 - Adapter

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    23
    1
    1.3k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.3k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.5k

[Projekt] Comfoair CA350 - Adapter

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
153 Beiträge 25 Kommentatoren 22.2k Aufrufe 24 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • C claus

    @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 Offline
    F Offline
    forelleblau
    schrieb am zuletzt editiert von
    #131

    @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 Antworten Letzte Antwort
    0
    • F forelleblau

      @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 Offline
      C Offline
      claus
      schrieb am zuletzt editiert von
      #132

      @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 Antwort Letzte Antwort
      0
      • F forelleblau

        @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 Offline
        C Offline
        claus
        schrieb am zuletzt editiert von
        #133

        @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 Antwort Letzte Antwort
        0
        • C claus

          @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 Offline
          F Offline
          forelleblau
          schrieb am zuletzt editiert von
          #134

          @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 Antwort Letzte Antwort
          0
          • F forelleblau

            @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 Offline
            C Offline
            claus
            schrieb am zuletzt editiert von
            #135

            @forelleblau

            Im Prinzip fehlt mir noch eine Funktion, ich weiß aber nicht genau, wie man die exakt implementiert. Man könnte z.B. den Boost früher manuell abbrechen, indem man den wieder abschaltet. Dann reicht es aber nicht aus, einfach den Timer zu löschen, sondern man müsste diesen forciert ausführen, damit die Stufe der Lüftung wieder auf den Ursprungswert zurückgesetzt wird. Mir ist allerdings unklar, wie man beispielsweise bei einem setTimeout den Timer auf 0 setzen kann, damit die Funktion sofort ausgeführt wird.

            F 1 Antwort Letzte Antwort
            0
            • C claus

              @forelleblau

              Im Prinzip fehlt mir noch eine Funktion, ich weiß aber nicht genau, wie man die exakt implementiert. Man könnte z.B. den Boost früher manuell abbrechen, indem man den wieder abschaltet. Dann reicht es aber nicht aus, einfach den Timer zu löschen, sondern man müsste diesen forciert ausführen, damit die Stufe der Lüftung wieder auf den Ursprungswert zurückgesetzt wird. Mir ist allerdings unklar, wie man beispielsweise bei einem setTimeout den Timer auf 0 setzen kann, damit die Funktion sofort ausgeführt wird.

              F Offline
              F Offline
              forelleblau
              schrieb am zuletzt editiert von
              #136

              @claus Danke für den PR. Kurze Frage vor dem Merge: hast du die Anpassungen auf deinem System bereits so umgesetzt und getestet? Grüsse forelleblau

              C 1 Antwort Letzte Antwort
              0
              • F forelleblau

                @claus Danke für den PR. Kurze Frage vor dem Merge: hast du die Anpassungen auf deinem System bereits so umgesetzt und getestet? Grüsse forelleblau

                C Offline
                C Offline
                claus
                schrieb am zuletzt editiert von
                #137

                @forelleblau

                Ja, das ist umgesetzt und im Einsatz. Ich habe einen Fehler beim Pull Request gesehen, habe aber keine weiteren Details dazu finden können. Das Logfile ist wohl nicht Public.

                1 Antwort Letzte Antwort
                0
                • O Offline
                  O Offline
                  odolino100
                  schrieb am zuletzt editiert von odolino100
                  #138

                  Hallo,
                  ich habe eine ComfoD 350 mit einem 3 Stufenschalter und der Steuerung direkt am Gerät.

                  So wie ich es gesehen habe, hat meine Platine auch eine RS232 Schnittstelle in Form eine RJ45 Buchse.

                  Würde jetzt einen
                  https://www.amazon.de/U-S-R-USR-TCP232-302-Kleines-serielles-Ethernet/dp/B07RNCVHHK
                  und dieses Kabel kaufen
                  https://www.amazon.de/dp/B01M9COPMA/ref=emc_b_5_mob_t
                  Vom Kabel würde ich den RJ45 Stecker abmachen und neu belegen.

                  Funktioniert das dann. Was passiert mit dem 3 Stufenschalter? Der ist ganz normal an L1 L2 und L3 und N angeschlossen.

                  Danke schon mal

                  F G 2 Antworten Letzte Antwort
                  0
                  • O odolino100

                    Hallo,
                    ich habe eine ComfoD 350 mit einem 3 Stufenschalter und der Steuerung direkt am Gerät.

                    So wie ich es gesehen habe, hat meine Platine auch eine RS232 Schnittstelle in Form eine RJ45 Buchse.

                    Würde jetzt einen
                    https://www.amazon.de/U-S-R-USR-TCP232-302-Kleines-serielles-Ethernet/dp/B07RNCVHHK
                    und dieses Kabel kaufen
                    https://www.amazon.de/dp/B01M9COPMA/ref=emc_b_5_mob_t
                    Vom Kabel würde ich den RJ45 Stecker abmachen und neu belegen.

                    Funktioniert das dann. Was passiert mit dem 3 Stufenschalter? Der ist ganz normal an L1 L2 und L3 und N angeschlossen.

                    Danke schon mal

                    F Offline
                    F Offline
                    forelleblau
                    schrieb am zuletzt editiert von
                    #139

                    @odolino100 Hallo Odolino

                    Sorry, aber von Ferne was zuzusichern ist etwas schwierig. Grundsätzlich könnte das Funkionieren. Ev. ist es einfacher, wenn du die RS232 - Seite vom Kabel mit sowas ersetzt:

                    https://www.amazon.de/dp/B01M8JRDN0/ref=sspa_dk_detail_4?psc=1&pd_rd_i=B01M8JRDN0&pd_rd_w=QvEjw&content-id=amzn1.sym.f63cb723-41a5-4d60-97aa-9969c9663073&pf_rd_p=f63cb723-41a5-4d60-97aa-9969c9663073&pf_rd_r=90CGAVK93MYE7ZE25PFG&pd_rd_wg=VQJXj&pd_rd_r=de46b53e-9034-4a09-8c83-b3dc4337c00d&s=industrial&sp_csd=d2lkZ2V0TmFtZT1zcF9kZXRhaWw&smid=A17S319ECJ50FD.

                    Ich hab mein Kabel damit gemacht, das macht es einfacher, TX und RX mal zu tauschen, und mal nur TX, RX und GND zu verbinden (2, 3 und 5). Einige User hatten auch schon Probleme mit vollständigen seriellen Kabeln.

                    Wie der Adapter neben einem Stufenschalter funktioniert, kann ich dir nicht sagen. Mit dem Schalter wird nichts passieren ;-). Musst halt ausprobieren.

                    Grüsse Forelleblau

                    1 Antwort Letzte Antwort
                    0
                    • M Offline
                      M Offline
                      mylan
                      schrieb am zuletzt editiert von mylan
                      #140

                      Danke erstmal, super Sache!

                      Ich versuche es bei einer Comfoair 160.

                      Die hat einen CC ease Anschluss mit gnd, rx, tx, 12v.
                      Gnd, Rx, Tx habe ich auf ein seriell-USB Kabel gehängt.
                      Daten zu empfangen hat dann auch prompt funktioniert. Nur leider mag die Anlage gar nicht gehorchen wenn ich die Lüftungsstärke verstelle. Etwas herum gesteckt habe ich schon, aber viele sinnvolle Möglichkeiten gibt es ja nicht.

                      Hat jemand einen Tipp?

                      M 1 Antwort Letzte Antwort
                      0
                      • M mylan

                        Danke erstmal, super Sache!

                        Ich versuche es bei einer Comfoair 160.

                        Die hat einen CC ease Anschluss mit gnd, rx, tx, 12v.
                        Gnd, Rx, Tx habe ich auf ein seriell-USB Kabel gehängt.
                        Daten zu empfangen hat dann auch prompt funktioniert. Nur leider mag die Anlage gar nicht gehorchen wenn ich die Lüftungsstärke verstelle. Etwas herum gesteckt habe ich schon, aber viele sinnvolle Möglichkeiten gibt es ja nicht.

                        Hat jemand einen Tipp?

                        M Offline
                        M Offline
                        mylan
                        schrieb am zuletzt editiert von mylan
                        #141

                        Das wäre übrigens die Debug-Ausgabe wenn ich die Lüfterstärke ändere:

                        comfoair.0
                        2023-04-05 13:26:00.192	debug	serial port closed
                        comfoair.0
                        2023-04-05 13:25:59.418	debug	outarr: 7,240,0,153,1,4,75,7,15
                        comfoair.0
                        2023-04-05 13:25:59.417	debug	Daten sent: 07f0009901044b070f
                        comfoair.0
                        2023-04-05 13:25:58.914	debug	Connected to serial port
                        comfoair.0
                        2023-04-05 13:25:58.904	debug	ack is not set!
                        comfoair.0
                        2023-04-05 13:25:58.901	debug	Setzte Stufe: 3
                        comfoair.0
                        2023-04-05 13:25:58.899	debug	id=control.stufe
                        comfoair.0
                        2023-04-05 13:25:58.898	debug	stateChange comfoair.0.control.stufe {"val":3,"ack":false,"ts":1680693958890,"q":0,"from":"system.adapter.admin.0","user":"system.user.admin","lc":1680693958890}
                        

                        Ich kann die Prozentwerte unter Setvent ändern. Die Zahl wird zuerst kurz rot, dann grün, dann schwarz.

                        Die Lüfterstufe bleibt aber rot nach Änderung. Ebenso wie die Wohlfühltemp. Der Boost-Knopf geht auch nicht.

                        Grundsätzlich scheint aber also eine bidirektionale Kommunikation zu bestehen. Könnte es sein, dass für die Comfoair 160 die Kommandos für die Lüfterstufe anders sind? Wäre aber seltsam.

                        EDIT:
                        Oha, ich glaube jetzt bin ich dem Problema auf der Spur. Ich habe jetzt mitgehört, wie die Comfosense die Lüfterstärke steuert:
                        Stufe 4: 07f0009901044b070f
                        Stufe 3: 07f0009901034a070f
                        Stufe 1: 07f00099010148070f

                        (Eigentlicht wollte ich 4 und 1 hier angeben, aber 3 ist noch gut weil ich das oben mit dem Plugin auch gesendet hatte.)

                        Laut deinem Plugin stimmt die Checksumme nicht.
                        Für 4:
                        Checksumme berechnet: 178
                        Checksumme aus Datensatz: 75
                        Für 3:
                        Checksumme berechnet: 177
                        Checksumme aus Datensatz: 74
                        Für 1:
                        Checksumme berechnet: 175
                        Checksumme aus Datensatz: 72

                        Jetzt das Gute. Wenn ich die kopierten Befehle per Terminalemulator an die Anlage schicke, dann schaltet sie korrekt. (Mit ComfoPC ging das nicht, das will einem immer mit den Befehlen helfen und ich habe keinen Weg gefunden Rohdaten zu schicken.)

                        Daraus schließe ich, ich kann mit dem Plugin die Anlage nur deshalb nicht steuern, weil das Gerät eine andere Checksumme erwartet. Jetzt wäre nur interessant, wie diese berechnet wird, vielleicht finde ich es durch Probieren heraus, mal sehen. Checksummenfehler hatten wir hier ja schon, vielleicht haben mehr Leute das Problem.

                        EDIT:
                        Mein Gerät scheint die Checksumme ähnlich wie hier zu berechnen:
                        https://www.haustechnikdialog.de/Forum/t/108357/Steuerung-der-ComfoAir-ueber-PC?page=2
                        "alle Bytes ab Startbytes addiert + 0xad modulo 0xff"
                        Wobei es bei mir B6 statt AD zu sein scheint.

                        Vielleicht könnte es die Möglichkeit geben, diesen Wert als Parameter einzugeben?

                        EDIT:
                        Hmm, wobei in einem Fall wird das 7F0 mitgerechnet, in anderen nicht. Im Grunde ist das aber dann ja auch nur ein fixer Faktor, weil ja jeder Befehl mit 07F beginnt?

                        F 1 Antwort Letzte Antwort
                        0
                        • M mylan

                          Das wäre übrigens die Debug-Ausgabe wenn ich die Lüfterstärke ändere:

                          comfoair.0
                          2023-04-05 13:26:00.192	debug	serial port closed
                          comfoair.0
                          2023-04-05 13:25:59.418	debug	outarr: 7,240,0,153,1,4,75,7,15
                          comfoair.0
                          2023-04-05 13:25:59.417	debug	Daten sent: 07f0009901044b070f
                          comfoair.0
                          2023-04-05 13:25:58.914	debug	Connected to serial port
                          comfoair.0
                          2023-04-05 13:25:58.904	debug	ack is not set!
                          comfoair.0
                          2023-04-05 13:25:58.901	debug	Setzte Stufe: 3
                          comfoair.0
                          2023-04-05 13:25:58.899	debug	id=control.stufe
                          comfoair.0
                          2023-04-05 13:25:58.898	debug	stateChange comfoair.0.control.stufe {"val":3,"ack":false,"ts":1680693958890,"q":0,"from":"system.adapter.admin.0","user":"system.user.admin","lc":1680693958890}
                          

                          Ich kann die Prozentwerte unter Setvent ändern. Die Zahl wird zuerst kurz rot, dann grün, dann schwarz.

                          Die Lüfterstufe bleibt aber rot nach Änderung. Ebenso wie die Wohlfühltemp. Der Boost-Knopf geht auch nicht.

                          Grundsätzlich scheint aber also eine bidirektionale Kommunikation zu bestehen. Könnte es sein, dass für die Comfoair 160 die Kommandos für die Lüfterstufe anders sind? Wäre aber seltsam.

                          EDIT:
                          Oha, ich glaube jetzt bin ich dem Problema auf der Spur. Ich habe jetzt mitgehört, wie die Comfosense die Lüfterstärke steuert:
                          Stufe 4: 07f0009901044b070f
                          Stufe 3: 07f0009901034a070f
                          Stufe 1: 07f00099010148070f

                          (Eigentlicht wollte ich 4 und 1 hier angeben, aber 3 ist noch gut weil ich das oben mit dem Plugin auch gesendet hatte.)

                          Laut deinem Plugin stimmt die Checksumme nicht.
                          Für 4:
                          Checksumme berechnet: 178
                          Checksumme aus Datensatz: 75
                          Für 3:
                          Checksumme berechnet: 177
                          Checksumme aus Datensatz: 74
                          Für 1:
                          Checksumme berechnet: 175
                          Checksumme aus Datensatz: 72

                          Jetzt das Gute. Wenn ich die kopierten Befehle per Terminalemulator an die Anlage schicke, dann schaltet sie korrekt. (Mit ComfoPC ging das nicht, das will einem immer mit den Befehlen helfen und ich habe keinen Weg gefunden Rohdaten zu schicken.)

                          Daraus schließe ich, ich kann mit dem Plugin die Anlage nur deshalb nicht steuern, weil das Gerät eine andere Checksumme erwartet. Jetzt wäre nur interessant, wie diese berechnet wird, vielleicht finde ich es durch Probieren heraus, mal sehen. Checksummenfehler hatten wir hier ja schon, vielleicht haben mehr Leute das Problem.

                          EDIT:
                          Mein Gerät scheint die Checksumme ähnlich wie hier zu berechnen:
                          https://www.haustechnikdialog.de/Forum/t/108357/Steuerung-der-ComfoAir-ueber-PC?page=2
                          "alle Bytes ab Startbytes addiert + 0xad modulo 0xff"
                          Wobei es bei mir B6 statt AD zu sein scheint.

                          Vielleicht könnte es die Möglichkeit geben, diesen Wert als Parameter einzugeben?

                          EDIT:
                          Hmm, wobei in einem Fall wird das 7F0 mitgerechnet, in anderen nicht. Im Grunde ist das aber dann ja auch nur ein fixer Faktor, weil ja jeder Befehl mit 07F beginnt?

                          F Offline
                          F Offline
                          forelleblau
                          schrieb am zuletzt editiert von
                          #142

                          @mylan Hallo mylan. Danke fürs Ausprobieren mit deiner Comfoair.

                          Ein paar Hinweise meinerseits:

                          • das gepostete Log enthält nur ausgehende Daten/Debug-Infos. Im Log ist keine (von der Comfoair) eingehende Meldung zu sehen.

                          Die Checksummenberechnung ist in der entsprechenden Funktion in der main
                          .js Datei hinterlegt (Zeile 1063ff, function checksumcmd). Du kannst die ja sonst mal lokal bei dir anpassen und schauen, ob du die richtige Checksumme für deine Lüftung hinkriegts. Dann könnten wir das einbauen, mit Auswahl des Lüftungstyps in den Einstellungen z.b..

                          Grüsse
                          Forelleblau

                          M 1 Antwort Letzte Antwort
                          0
                          • F forelleblau

                            @mylan Hallo mylan. Danke fürs Ausprobieren mit deiner Comfoair.

                            Ein paar Hinweise meinerseits:

                            • das gepostete Log enthält nur ausgehende Daten/Debug-Infos. Im Log ist keine (von der Comfoair) eingehende Meldung zu sehen.

                            Die Checksummenberechnung ist in der entsprechenden Funktion in der main
                            .js Datei hinterlegt (Zeile 1063ff, function checksumcmd). Du kannst die ja sonst mal lokal bei dir anpassen und schauen, ob du die richtige Checksumme für deine Lüftung hinkriegts. Dann könnten wir das einbauen, mit Auswahl des Lüftungstyps in den Einstellungen z.b..

                            Grüsse
                            Forelleblau

                            M Offline
                            M Offline
                            mylan
                            schrieb am zuletzt editiert von
                            #143

                            Danke für die Hilfe!

                            Es gibt grundsätzlich schon Meldungen von der Comfoair, ich habe da nur den Ausschnitt genommen der mit relevant schien.

                            Es selbst testweise zu ändern habe ich schon überlegt. Könntest du mir nur bitte sagen, wo ich die Datein finde? Ich war nicht in der Lage dazu das rauszufinden...

                            F 1 Antwort Letzte Antwort
                            0
                            • M mylan

                              Danke für die Hilfe!

                              Es gibt grundsätzlich schon Meldungen von der Comfoair, ich habe da nur den Ausschnitt genommen der mit relevant schien.

                              Es selbst testweise zu ändern habe ich schon überlegt. Könntest du mir nur bitte sagen, wo ich die Datein finde? Ich war nicht in der Lage dazu das rauszufinden...

                              F Offline
                              F Offline
                              forelleblau
                              schrieb am zuletzt editiert von
                              #144

                              @mylan im Verzeichnis, wo deine ioBroker - Installation liegt, solltest du .../node_modules/iobroker.comfoair/main.js finden.

                              Wenn es dann nur B6 statt AD zu addieren gibt, erstetzt du die +173 in der Zeile 1073:

                                checksum = ((checksum + 173).toString(16)).slice(-2);
                              

                              mit 182.

                              M 1 Antwort Letzte Antwort
                              0
                              • F forelleblau

                                @mylan im Verzeichnis, wo deine ioBroker - Installation liegt, solltest du .../node_modules/iobroker.comfoair/main.js finden.

                                Wenn es dann nur B6 statt AD zu addieren gibt, erstetzt du die +173 in der Zeile 1073:

                                  checksum = ((checksum + 173).toString(16)).slice(-2);
                                

                                mit 182.

                                M Offline
                                M Offline
                                mylan
                                schrieb am zuletzt editiert von mylan
                                #145

                                @forelleblau
                                Danke, so habe ich es gefunden.
                                429 musste ich einstellen. Jetzt kann ich die Lüftungsstärke und den Boost schalten.
                                Aber ich muss mir die Protokolle durschauen. Es scheint nicht für alle Befehle zu passen, die % Lüfterstärke funktionieren jetzt nicht mehr zB, seltsamerweise.
                                Für mich ist es so erst mal ok, ich sage noch bescheid was ich rausfinde.

                                EDIT:
                                Also es sieht danach aus, dass bei mir die Anlage selber für ihre Antworten 173 zur Checksumme addiert, aber erwartet, dass die Steuerung 429 addiert. Wenigstens für den Boost und die Lüfterstufe.

                                EDIT:
                                Ich muss mich entschuldigen für die Verwirrung. Ich habe jetzt gesehen, dein Plugin schickt das Kommando für die Lüfterstufe ja ohnehin mit den Checksummen 48, 49, 4a und 4b. Das ist fix eingestellt, wie ich sehe.
                                Irgendwie, als es nicht gegangen ist, ich die Steuerbefehle der CC ease ausgelesen habe und das Plugin dazu gemeldet hat, die Checksumme der Befehle stimme nicht, nahm ich an, das Plugin würde hier nicht passende Checksummen schicken. Jedenfalls geht es jetzt, warum auch immer es vorhin nicht gegangen ist, muss wohl doch was falsch gesteckt gewesen sein.

                                Entschuldige noch mal, und danke für deine Mühe!

                                Also geht dein Plugin so wie es ist auch mit einer Comfoair 160.

                                F 1 Antwort Letzte Antwort
                                0
                                • M mylan

                                  @forelleblau
                                  Danke, so habe ich es gefunden.
                                  429 musste ich einstellen. Jetzt kann ich die Lüftungsstärke und den Boost schalten.
                                  Aber ich muss mir die Protokolle durschauen. Es scheint nicht für alle Befehle zu passen, die % Lüfterstärke funktionieren jetzt nicht mehr zB, seltsamerweise.
                                  Für mich ist es so erst mal ok, ich sage noch bescheid was ich rausfinde.

                                  EDIT:
                                  Also es sieht danach aus, dass bei mir die Anlage selber für ihre Antworten 173 zur Checksumme addiert, aber erwartet, dass die Steuerung 429 addiert. Wenigstens für den Boost und die Lüfterstufe.

                                  EDIT:
                                  Ich muss mich entschuldigen für die Verwirrung. Ich habe jetzt gesehen, dein Plugin schickt das Kommando für die Lüfterstufe ja ohnehin mit den Checksummen 48, 49, 4a und 4b. Das ist fix eingestellt, wie ich sehe.
                                  Irgendwie, als es nicht gegangen ist, ich die Steuerbefehle der CC ease ausgelesen habe und das Plugin dazu gemeldet hat, die Checksumme der Befehle stimme nicht, nahm ich an, das Plugin würde hier nicht passende Checksummen schicken. Jedenfalls geht es jetzt, warum auch immer es vorhin nicht gegangen ist, muss wohl doch was falsch gesteckt gewesen sein.

                                  Entschuldige noch mal, und danke für deine Mühe!

                                  Also geht dein Plugin so wie es ist auch mit einer Comfoair 160.

                                  F Offline
                                  F Offline
                                  forelleblau
                                  schrieb am zuletzt editiert von
                                  #146

                                  @mylan Danke fürs Ausprobieren, Rumprobieren und Herausfinden. Schön, dass es jetzt funktioniert. Viel Spass damit. Gruss forelleblau

                                  M 1 Antwort Letzte Antwort
                                  0
                                  • M Offline
                                    M Offline
                                    mylan
                                    schrieb am zuletzt editiert von
                                    #147

                                    Comfoair 160 mit dem ioBroker Comfoair Adapter Beispielinstallation

                                    Falls es jemand nachmachen will fasse ich mal zusammen wie ich es gemacht habe und wie es bei mir funktioniert. Es kann ja sein, dass nicht jede Hardware funktioniert. Garantie kann ich natürlich keine übernehmen.

                                    Das Gerät hat bei mir eine Hauptplatine und eine kleine Steuerplatine. Beide sind mit einem RJ45 Kabel verbunden, die Buchsen sind RS232 beschriftet. Ich habe diese aber nicht verwendet, ob es direkt funktioniert kann ich also nicht sagen.

                                    Die Steuerplatine hat einen Anschluss der mit KFB beschriftet ist und diese Anschlüsse hat: GND, Tx, Rx, 12V. Dort hing bisher alleine die CC Ease drauf.

                                    Ich habe dort ein abgeschnittenes RJ45 Kabel drangeklemmt und zwar so: 12V auf Pin1, Rx auf Pin3, GND auf PIN4+5, Tx auf Pin 6.
                                    Das Kabel habe ich hinten raus geführt und den Stecker draußen in eine gekreuzte Kupplung gesteckt (in Zukunft will ich die vielleicht durch einen Umschalter ersetzen).
                                    Auf der anderen Seite der Buchse habe ich folgendes Kabel angeschlossen:
                                    DTECH RJ45 zu RS232 9poliger serieller DB9 Anschluss
                                    https://www.amazon.de/dp/B08L6DK871
                                    Die 12V will ich aber sicherheitshalber nicht in den Adapter oder den Raspberry bringen. Also habe ich den braunen Draht durchtrennt und teilweise entfernt. Dazu das Kabel ganz auf der Seite leicht längs aufgeschnitten und den braunen Draht rausgefischt.
                                    Dann das folgende Kabel:
                                    Sabrent USB auf serielles Adapter (75cm) USB auf RS232 seriell Kabel
                                    https://www.amazon.de/dp/B00IDSM6BW
                                    Den USB Anschluss dann in eine schwarze USB Buchse eines Raspberry Pi 4.

                                    Dem Kabel der CC Ease habe ich einen RJ45 Stecker verpasst. Jetzt kann ich einfach umstecken (parallel hat bei mir so gut wie gar nicht funktioniert), später nehme ich vielleicht falls nötig einen mechanischen Umschalter.

                                    1 Antwort Letzte Antwort
                                    0
                                    • F forelleblau

                                      @mylan Danke fürs Ausprobieren, Rumprobieren und Herausfinden. Schön, dass es jetzt funktioniert. Viel Spass damit. Gruss forelleblau

                                      M Offline
                                      M Offline
                                      mylan
                                      schrieb am zuletzt editiert von
                                      #148

                                      @forelleblau
                                      Darf ich dich noch eine Sache fragen. Fast alles funktioniert, was aber nicht geht sind die % Lüfterstärke je nach Stufe. Interessanterweise hatte das anfangs noch funktioniert als die übrige Steuerung nicht wollte...

                                      Besonders seltsam ist es auch deshalb, weil die Daten eigentlich scheinbar richtig ausgelesen werden:

                                      comfoair.0
                                      2023-04-08 12:15:38.511	debug	serial port closed
                                      comfoair.0
                                      2023-04-08 12:15:37.853	debug	stateChange comfoair.0.control.stufe {"val":1,"ack":true,"ts":1680948937828,"q":0,"from":"system.adapter.comfoair.0","user":"system.user.admin","lc":1680946140010}
                                      comfoair.0
                                      2023-04-08 12:15:37.849	debug	stateChange comfoair.0.status.ventlevel.ZUL3 {"val":70,"ack":true,"ts":1680948937828,"q":0,"from":"system.adapter.comfoair.0","user":"system.user.admin","lc":1680775986803}
                                      comfoair.0
                                      2023-04-08 12:15:37.849	debug	stateChange comfoair.0.status.ventlevel.ABL3 {"val":70,"ack":true,"ts":1680948937828,"q":0,"from":"system.adapter.comfoair.0","user":"system.user.admin","lc":1680775986802}
                                      comfoair.0
                                      2023-04-08 12:15:37.845	debug	stateChange comfoair.0.status.statstufe {"val":1,"ack":true,"ts":1680948937828,"q":0,"from":"system.adapter.comfoair.0","user":"system.user.admin","lc":1680946140593}
                                      comfoair.0
                                      2023-04-08 12:15:37.844	debug	stateChange comfoair.0.status.ventZUL {"val":35,"ack":true,"ts":1680948937828,"q":0,"from":"system.adapter.comfoair.0","user":"system.user.admin","lc":1680947700548}
                                      comfoair.0
                                      2023-04-08 12:15:37.840	debug	stateChange comfoair.0.status.ventABL {"val":35,"ack":true,"ts":1680948937827,"q":0,"from":"system.adapter.comfoair.0","user":"system.user.admin","lc":1680947700548}
                                      comfoair.0
                                      2023-04-08 12:15:37.836	debug	stateChange comfoair.0.status.ventlevel.ZUL2 {"val":50,"ack":true,"ts":1680948937825,"q":0,"from":"system.adapter.comfoair.0","user":"system.user.admin","lc":1680775986801}
                                      comfoair.0
                                      2023-04-08 12:15:37.833	debug	stateChange comfoair.0.status.ventlevel.ZUL1 {"val":35,"ack":true,"ts":1680948937819,"q":0,"from":"system.adapter.comfoair.0","user":"system.user.admin","lc":1680775986801}
                                      comfoair.0
                                      2023-04-08 12:15:37.832	debug	stateChange comfoair.0.status.ventlevel.ZULabw {"val":15,"ack":true,"ts":1680948937818,"q":0,"from":"system.adapter.comfoair.0","user":"system.user.admin","lc":1680775986801}
                                      comfoair.0
                                      2023-04-08 12:15:37.826	debug	stateChange comfoair.0.status.ventlevel.ABL2 {"val":50,"ack":true,"ts":1680948937816,"q":0,"from":"system.adapter.comfoair.0","user":"system.user.admin","lc":1680775986788}
                                      comfoair.0
                                      2023-04-08 12:15:37.825	debug	stateChange comfoair.0.status.ventlevel.ABL1 {"val":35,"ack":true,"ts":1680948937816,"q":0,"from":"system.adapter.comfoair.0","user":"system.user.admin","lc":1680775986788}
                                      comfoair.0
                                      2023-04-08 12:15:37.822	debug	stateChange comfoair.0.status.ventlevel.ABLabw {"val":15,"ack":true,"ts":1680948937816,"q":0,"from":"system.adapter.comfoair.0","user":"system.user.admin","lc":1680775986787}
                                      comfoair.0
                                      2023-04-08 12:15:37.800	debug	206 : lese Ventilatorstatus
                                      comfoair.0
                                      2023-04-08 12:15:37.799	debug	Verarbeite Daten
                                      comfoair.0
                                      2023-04-08 12:15:37.799	debug	ACK erhalten und Checksumme ok
                                      comfoair.0
                                      2023-04-08 12:15:37.798	debug	Checksumme berechnet: 38
                                      comfoair.0
                                      2023-04-08 12:15:37.797	debug	Checksumme aus Datensatz: 38
                                      comfoair.0
                                      2023-04-08 12:15:37.797	debug	ACK: 7, 243
                                      comfoair.0
                                      2023-04-08 12:15:37.796	debug	Received arr: 7,243,7,240,0,206,14,15,35,50,15,35,50,35,35,2,1,70,70,0,0,38,7,15
                                      comfoair.0
                                      2023-04-08 12:15:37.796	debug	Data received (hex): 07f307f000ce0e0f23320f2332232302014646000026070f
                                      comfoair.0
                                      2023-04-08 12:15:37.743	debug	outarr: 7,240,0,205,0,122,7,15
                                      comfoair.0
                                      2023-04-08 12:15:37.742	debug	Daten sent: 07f000cd007a070f
                                      comfoair.0
                                      2023-04-08 12:15:37.240	debug	Connected to serial port
                                      

                                      Aber im Objekt steht auch danach überall bei den Stufen "null (%)".

                                      F 1 Antwort Letzte Antwort
                                      0
                                      • M mylan

                                        @forelleblau
                                        Darf ich dich noch eine Sache fragen. Fast alles funktioniert, was aber nicht geht sind die % Lüfterstärke je nach Stufe. Interessanterweise hatte das anfangs noch funktioniert als die übrige Steuerung nicht wollte...

                                        Besonders seltsam ist es auch deshalb, weil die Daten eigentlich scheinbar richtig ausgelesen werden:

                                        comfoair.0
                                        2023-04-08 12:15:38.511	debug	serial port closed
                                        comfoair.0
                                        2023-04-08 12:15:37.853	debug	stateChange comfoair.0.control.stufe {"val":1,"ack":true,"ts":1680948937828,"q":0,"from":"system.adapter.comfoair.0","user":"system.user.admin","lc":1680946140010}
                                        comfoair.0
                                        2023-04-08 12:15:37.849	debug	stateChange comfoair.0.status.ventlevel.ZUL3 {"val":70,"ack":true,"ts":1680948937828,"q":0,"from":"system.adapter.comfoair.0","user":"system.user.admin","lc":1680775986803}
                                        comfoair.0
                                        2023-04-08 12:15:37.849	debug	stateChange comfoair.0.status.ventlevel.ABL3 {"val":70,"ack":true,"ts":1680948937828,"q":0,"from":"system.adapter.comfoair.0","user":"system.user.admin","lc":1680775986802}
                                        comfoair.0
                                        2023-04-08 12:15:37.845	debug	stateChange comfoair.0.status.statstufe {"val":1,"ack":true,"ts":1680948937828,"q":0,"from":"system.adapter.comfoair.0","user":"system.user.admin","lc":1680946140593}
                                        comfoair.0
                                        2023-04-08 12:15:37.844	debug	stateChange comfoair.0.status.ventZUL {"val":35,"ack":true,"ts":1680948937828,"q":0,"from":"system.adapter.comfoair.0","user":"system.user.admin","lc":1680947700548}
                                        comfoair.0
                                        2023-04-08 12:15:37.840	debug	stateChange comfoair.0.status.ventABL {"val":35,"ack":true,"ts":1680948937827,"q":0,"from":"system.adapter.comfoair.0","user":"system.user.admin","lc":1680947700548}
                                        comfoair.0
                                        2023-04-08 12:15:37.836	debug	stateChange comfoair.0.status.ventlevel.ZUL2 {"val":50,"ack":true,"ts":1680948937825,"q":0,"from":"system.adapter.comfoair.0","user":"system.user.admin","lc":1680775986801}
                                        comfoair.0
                                        2023-04-08 12:15:37.833	debug	stateChange comfoair.0.status.ventlevel.ZUL1 {"val":35,"ack":true,"ts":1680948937819,"q":0,"from":"system.adapter.comfoair.0","user":"system.user.admin","lc":1680775986801}
                                        comfoair.0
                                        2023-04-08 12:15:37.832	debug	stateChange comfoair.0.status.ventlevel.ZULabw {"val":15,"ack":true,"ts":1680948937818,"q":0,"from":"system.adapter.comfoair.0","user":"system.user.admin","lc":1680775986801}
                                        comfoair.0
                                        2023-04-08 12:15:37.826	debug	stateChange comfoair.0.status.ventlevel.ABL2 {"val":50,"ack":true,"ts":1680948937816,"q":0,"from":"system.adapter.comfoair.0","user":"system.user.admin","lc":1680775986788}
                                        comfoair.0
                                        2023-04-08 12:15:37.825	debug	stateChange comfoair.0.status.ventlevel.ABL1 {"val":35,"ack":true,"ts":1680948937816,"q":0,"from":"system.adapter.comfoair.0","user":"system.user.admin","lc":1680775986788}
                                        comfoair.0
                                        2023-04-08 12:15:37.822	debug	stateChange comfoair.0.status.ventlevel.ABLabw {"val":15,"ack":true,"ts":1680948937816,"q":0,"from":"system.adapter.comfoair.0","user":"system.user.admin","lc":1680775986787}
                                        comfoair.0
                                        2023-04-08 12:15:37.800	debug	206 : lese Ventilatorstatus
                                        comfoair.0
                                        2023-04-08 12:15:37.799	debug	Verarbeite Daten
                                        comfoair.0
                                        2023-04-08 12:15:37.799	debug	ACK erhalten und Checksumme ok
                                        comfoair.0
                                        2023-04-08 12:15:37.798	debug	Checksumme berechnet: 38
                                        comfoair.0
                                        2023-04-08 12:15:37.797	debug	Checksumme aus Datensatz: 38
                                        comfoair.0
                                        2023-04-08 12:15:37.797	debug	ACK: 7, 243
                                        comfoair.0
                                        2023-04-08 12:15:37.796	debug	Received arr: 7,243,7,240,0,206,14,15,35,50,15,35,50,35,35,2,1,70,70,0,0,38,7,15
                                        comfoair.0
                                        2023-04-08 12:15:37.796	debug	Data received (hex): 07f307f000ce0e0f23320f2332232302014646000026070f
                                        comfoair.0
                                        2023-04-08 12:15:37.743	debug	outarr: 7,240,0,205,0,122,7,15
                                        comfoair.0
                                        2023-04-08 12:15:37.742	debug	Daten sent: 07f000cd007a070f
                                        comfoair.0
                                        2023-04-08 12:15:37.240	debug	Connected to serial port
                                        

                                        Aber im Objekt steht auch danach überall bei den Stufen "null (%)".

                                        F Offline
                                        F Offline
                                        forelleblau
                                        schrieb am zuletzt editiert von
                                        #149

                                        @mylan Hallo mylanl
                                        Wesentlich ist, was danach in den Objekten ...status.ventlevel.XXX steht. Wenn da die richtigen Werte stehen ist ok.
                                        Bei ...control.ventleve.XXX kann 'null' drinstehen. Aber die Änderung müsste richtig gemacht werden. Wenn du bei ...control... was änderst, müsste das dann bei ...status... sichtbar werden.

                                        Grüsse
                                        forelleblau

                                        Tobi82T 1 Antwort Letzte Antwort
                                        0
                                        • F forelleblau

                                          @mylan Hallo mylanl
                                          Wesentlich ist, was danach in den Objekten ...status.ventlevel.XXX steht. Wenn da die richtigen Werte stehen ist ok.
                                          Bei ...control.ventleve.XXX kann 'null' drinstehen. Aber die Änderung müsste richtig gemacht werden. Wenn du bei ...control... was änderst, müsste das dann bei ...status... sichtbar werden.

                                          Grüsse
                                          forelleblau

                                          Tobi82T Offline
                                          Tobi82T Offline
                                          Tobi82
                                          schrieb am zuletzt editiert von Tobi82
                                          #150

                                          Ich habe es auch endlich geschafft meine Lüftungsanlage einzubinden.
                                          Da ich es schaffen wollte diese mit "Low Cost Mitteln" einzubinden habe ich einen ESP32 genommen und diesen mittels TTL zu RS232 Wandler eingebunden. Die RS232 Signale werden über TCP gendet und das was über TCP kommt per RS232 gesendet. Und zwar genau das was rein kommt wird genau so weiter gesendet. Wenn ich das ganze an einem PC teste klappt alles wunderbar. Schreibe ich also über TCP "Hallo", kommt es auf der RS232 genau so an. Soweit so gut...
                                          Ich habe den ESP32 nun an die Comfoair angeschlossen. Verbindung klappt soweit. Was mich nun total irritiert...Lüftungsstufe kann ich setzen. Also abwesend, 1,2,3 klappt wunderbar. Auch kann ich die Lüfterdrehzahl für die jeweilige Stufe setzen. Aber z.B. den Boost bekomme ich nicht aktiviert. Ebenfalls bekomme ich keinerlei Werte vom Comfoair zurück. Bei den Objekten werden keine Werte aktualisiert. Zuerst habe ich gedacht das ich dann scheinbar nur senden kann, aber mit dem empfangen was nicht stimmt. Aber dadurch das ich z.B. auch den Boost nicht aktivieren kann bin ich irritiert. Hat irgend jemand eine Idee woran das liegen kann?

                                          F 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

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

                                          669

                                          Online

                                          32.5k

                                          Benutzer

                                          81.7k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe