Ankündigung

Einklappen
Keine Ankündigung bisher.

Steuerung der KWL Cofoair mit diesem Protokol möglich?

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    #46
    Wenns ein RS232 (12V Pegel) ist und der frei ist, geht das natürlich, einfach im socat (Seriell/Socket) /dev/ttyUSBxxx durch /dev/ttyS0 ersetzen.

    Makki
    EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
    -> Bitte KEINE PNs!

    Kommentar


      #47
      Laut Doku solle das echter 12V Pegel sein.

      Den Punkt nehme ich oben noch mit auf. Dann ist alles zusammen und kann am Ende besser dokumentiert werden.


      @makki: Mit binär kenn ich mich ein bischen aus. Die Frage ist, was syswrite erwartet. Dass die Daten am Ende immer binär über die Schnittstelle gesendet werden ist mir klar.

      Ich nutze syswrite z.B. für die Ansteuerung des Denon. dort kann ich die Variabel $command einfach z.B. mit PWON\r befüllen und es funktioniert. Das bedeutet, dass syswrite die ASCII Zeichen in Binär übersetzt...

      Bedeutet das nun für mich, dass ich erst die HEX Befehle aus der Doku in ASCII übersetzen muss um sie an syswrite zu übergeben?

      Hättest du ein Beispiel für den folgenden Befehl?...

      0x07 0xF0 0x00 0x69 0x00 0x16 0x07 0x0F

      Wie müste das an syswrite übergeben werden dass der ComfoAir antwortet?
      Gruss Patrik alias swiss

      Kommentar


        #48
        Makki, swiss,

        ich möchte mich an dieser Stelle mal ganz kurz für euren selbstlosen Einsatz bei dieser Geschichte bedanken!!!

        Ich verfolge das ganze mit großen Interesse und werde (sobald es läuft) sicher einer der ersten Nutzer werden. Wenn ich helfen kann indem ich irgendwas teste, bitte bescheid geben. Darüber hinaus fehlt mir momentan leider die Zeit, mich hier aktiv zu beteiligen. Wenn wir erstmal eingezogen sind wird das hoffentlich anders...

        Macht weiter so!

        @Makki: Muss ich beim Kauf des USB Seriellwandlers auf irgendetwas bestimmtes achten? Ihr habt sowas nicht im Shop, oder?
        Endlich umgezogen. Fertig? Noch lange nicht... ;-)

        Kommentar


          #49
          Hallo hauke

          Den passenden USB-Seriell wandler gibts auch im WG Shop: Seriell/RS232 auf USB-Wandler - USB Adapter, Hubs, Kabel - WireGate

          Dass ich mich erst jetzt damit befassen kann war auch bei mir dem Umzug in die neue Wohnung geschuldet. Aber jetzt habe ich genug Zeit mich dem mal anzunehmen

          Auch wenn ich keine KWL habe hilft des letztenendes auch mir, da ich das Plugin dann auch für meinen Beamer anpassen kann, der ebenfalls mit HEX-Befehlen arbeitet
          Gruss Patrik alias swiss

          Kommentar


            #50
            Das ging ja jetzt schneller als erwartet.

            BTW: Werde ich mal checken, ob die Berechnung der Chechsum in der Doku stimmt. Meines Wissens war in der Beispielberechnung ein Fehler-kann das aber erst heute abend machen.

            Wie gesagt KWL (comfoair 550) und Verbindung WG-KWL sind vorhanden.
            Falls ich die Anlage anschließen soll-bitte bescheid geben-Die Wartungdingens zum WG-Hauptquartier is ja offen...
            -DA aber auch gleich die bitte: Keine Mitternachtsversuche mit Lüftungsstufe 4 oder Stoßlüften-Nicht, dass es mir die Kinder wegsaugt...

            Grüße,
            Lio

            Kommentar


              #51
              Nö um die Komunikation zu testen würde ich erst mal z.B. die Firmware Version auslesen lassen. Wenn dass funktioniert und ein ACK zurück kommt, kann man sich an den Steuerungsparameter versuchen. Aber erst einmal muss die Komunikation grundlegend funktionieren.

              Testen kannst du das selber. Sobald alle wichtigen Infos zusammen sind, klöppel ich mal ein kleines Demo-Plugin zusammen. Wenn das läuft, werden darin die ersten Steuerbefehle implementiert, die du selber über GA's ansteuerun und testen kannst. Wenn dass auch klapt, gehts weiter
              Gruss Patrik alias swiss

              Kommentar


                #52
                oki doki

                Kommentar


                  #53
                  Ich häng mich mal hier ran, mir geht's ähnlich wie lio123.
                  Hier steht ne Comfoair 550, Wiregate ist vorhanden, USB-Seriell Wandler auch, Kabel kann ich dazwischen ohne Probleme ziehen. Nur fehlte mir bisher die Zeit mich mit
                  dem Thema zu beschäftigen, da noch mitten im Bau (Altbausanierung).
                  Ein wenig Zeit um das mal anzuschliessen und Code-Schnipsel zu testen, sollte ich aber hoffentlich finden...

                  Etwas Erfahrung hatte ich mit einem ähnlichen Projekt schon mal gesammelt, Grundkenntnisse sind also vorhanden.
                  https://knx-user-forum.de/code-schni...ontroller.html

                  luigi

                  Kommentar


                    #54
                    So mal ein erstes kleines Test-Skript ohne Checksummenberechnung. Kann dass mal jemand durchlaufen lassen und posten was debug_transmit und debug_reciv zurück gibt?

                    Code:
                    # Plugin zur Ansteuerung einer Zender ComfoAir
                    # Version 0.0 28.05.2012 Pre ALPHA
                    # Copyright: swiss (https://knx-user-forum.de/members/swiss.html)
                    # Die Vorlage für die Datenübertragung via socat stammt von makki (https://knx-user-forum.de/members/makki.html)
                    # Aufbau möglichst so, dass man unterhalb der Einstellungen nichts verändern muss!
                    #
                    
                    
                    ####################
                    ###Einstellungen:###
                    ####################
                    
                    my $socknum = 120; # Eindeutige Nummer des Sockets +1
                    
                    
                    #Diese Einstellungen können normalerweise so belassen werden!
                    my $send_ip = "localhost"; # Sendeport (UDP, siehe in Socket-Einstellungen)
                    my $send_port = "50108"; # Sendeport (UDP, siehe in Socket-Einstellungen)
                    my $recv_ip = "localhost"; # Empfangsport (UDP, siehe in Socket-Einstellungen)
                    my $recv_port = "50107"; # Empfangsport (UDP, siehe in Socket-Einstellungen)
                    
                    ######################
                    ##ENDE Einstellungen##
                    ######################
                    
                    
                    $plugin_info{$plugname.'_cycle'} = 300; 
                    # Zyklischer Aufruf nach restart und alle 300 sek.
                    
                    if (!$socket[$socknum]) { # socket erstellen
                            $socket[$socknum] = IO::Socket::INET->new(LocalPort => $recv_port,
                                                      Proto => "udp",
                                                      LocalAddr => $recv_ip,
                                                      PeerPort  => $send_port,
                                                      PeerAddr  => $send_ip,
                                                      ReuseAddr => 1
                                                       )
                        or return ("open of $recv_ip : $recv_port failed: $!");
                    
                        $socksel->add($socket[$socknum]); # add socket to select
                    
                        $plugin_socket_subscribe{$socket[$socknum]} = $plugname; # subscribe plugin
                        return "opened Socket $socknum";
                        plugin_log($plugname,'Soket verbunden. Soketnummer: ' . $socknum);
                    }
                    
                    if ($fh) { # Wenn der ComfoAir ein Antworttelegramm sendet, wird ab hier der entsprechende Status ausgelesen.
                        my $buf = <$fh>;
                        my $bufhex = unpack("H*",$buf);
                        $plugin_info{$plugname.'_debug_reciv'} = $bufhex;
                    }else{
                    
                        my $checksum = hex("16");
                        my $data = hex("00"),hex("69"),hex("00");
                        my $paket = pack('C*',hex("07"),hex("F0"),hex("00"),hex("69"),hex("00"),hex("16"),hex("07"),hex("0F"));
                        my $return_value2 = command_senden($paket);
                        return;
                    }
                    
                    sub command_senden{
                        my $command = $_[0];
                        $plugin_info{$plugname.'_debug_transmit'} = $command;
                        syswrite($socket[$socknum], $command);
                    }
                    Gruss Patrik alias swiss

                    Kommentar


                      #55
                      Puhh... das ging schnell. Morgen kommen erst mal die Verputzer. Wenn die Sauerei
                      wieder beseitigt ist, schau ich mal, ob ich die serielle Schnittstelle evt. anschliessen kann.

                      luigi

                      Kommentar


                        #56
                        Naja es kann auch noch nicht viel Ich bin schon froh, wenn der ComfoAir mit seiner Version antwortet. Das würde dann bedeuten, dass die Komunikation funktioniert. Erst wenn das tut, kann man die ersten sinnvollen Befehle implementieren

                        Ich freue mich schon auf eure Rückmeldung. Die ist sehr wichtig für mich, da ich das ganze selber nicht testen kann. Ich programmiere also "blind"
                        Gruss Patrik alias swiss

                        Kommentar


                          #57
                          Patrik,

                          wo soll das Ergebnis angezeigt werden?

                          Kommentar


                            #58
                            Zitat von swiss Beitrag anzeigen
                            Hättest du ein Beispiel für den folgenden Befehl?...

                            0x07 0xF0 0x00 0x69 0x00 0x16 0x07 0x0F

                            Wie müste das an syswrite übergeben werden dass der ComfoAir antwortet?
                            syswrite sendet (wenn nicht UTF8 o.ä.) die characters, bei "hallo" also 0x68 0x61 0x6C 0x6C 0x6F (oder dezimal 104 97 108 108 111)
                            Es gibt wie immer viele Wege zum Ziel, aber print ist hier einfacher als syswrite
                            print FH pack("H*","07F000690016070F");
                            (FH ist das Filehandle und zu ersetzen, je nachdem mit Komma danach)

                            Die Prüfsummen-Routine muss ich noch schuldig bleiben, nach 8h bluez etc. ist der Kopf grad für so banales nicht mehr aufnahmefähig (ich muss mir auch das PDF mal in Ruhe durchlesen, wenn dann ja gleich das ganze packerl für die Comfoair machen..)
                            P.S.: Das sind z.B. Sachen, die in C einfacher sind als in Höchstsprachen wie Perl, wo ständig magic konvertiert wird.. Aber natürlich lösbar..

                            Makki
                            EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
                            -> Bitte KEINE PNs!

                            Kommentar


                              #59
                              so,

                              die Anlage ist jetzt mal am WG. @Makki, das bedeutet, dass das Thema SML erstmal bei mir abgeklemmt ist, mangels USB-Hub.
                              Aber das tut nur Deinem Kopf gut...

                              Als nächstes werd' ich jetzt Patricks Zeilen in das Gerät bannen...

                              Was ich an der Stelle noch Bemerken wollte:
                              Offensichtlich gibt es Probleme wenn die KWL an der Seriellen Schnitstelle gleichzeitig mit dem Bedienpanel Comfo EASE (???) betrieben wird, welches ebenso über serielle SS kommuniziert.
                              Dazu müsste sich Christian einschalten da, wie ich vermute er langzeitergebnisse liefern könnte...

                              Kommentar


                                #60
                                so und hier nun das Ergebnis
                                Angehängte Dateien

                                Kommentar

                                Lädt...
                                X