Ankündigung

Einklappen
Keine Ankündigung bisher.

eBus->USB->Plugin->KNX

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

    Sieht man sich die Doku im eBus-wiki an so müssten sämtliche Daten wirklich per eBus zur Verfügung stehen.
    Das wäre gut.

    Für mich stellt sich gerade die Frage, ob der Vaillant-Adapter wirklich direkt am ebus angeschlossen ist. Weiß das jemand bzw. redet der Adapter eventuell nur mit der Control Unit (0x10) ???

    Könnte man dieses Grundgrüst verwenden, um den vrDialog Adapter über das X6 Protokoll kommunizieren zu lassen? Oder ist vermutlich ein komplett neuer Ansatz notwendig?
    Ich bin für alles offen.

    Falls sich jemand am Code beteiligen will sollte das in ein svn oder git Repo rein.

    Kommentar


      Gestern schon im Chat, nur so als Tipp am Rande:
      bevor man da ewig rumtüdelt ist so ein Logicanalyzer (um sich einfach anzusehen, was die Original-SW mit dem Ding spricht) brutal praktisch.
      Und sowas gibts auch in bezahlbar: Saleae Logic. The logic analyzer you'll love to use.
      Ich bin zufrieden mit dem, geht - Dank Qt - unter Win, Linux, Mac nativ..

      Makki

      P.S.:Ich wünschte ich hätte diese Erkenntniss schon früher gehabt, das hätte z.B. bei meiner WP viele Stunden gespart..
      EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
      -> Bitte KEINE PNs!

      Kommentar


        Moin zusammen!

        Verfolge das Thema in diversen Foren schon lange und habe bis jetzt gehofft dass Vaillant oder ein Forum (Drittanbieter) es schafft ein KNX Modul anzubieten (PV Eigenverbrauchsoptimierung). Bei den Details verstehe ich immer nur Bahnhof, sprich kann nicht direkt weiterhelfen würde aber meine original Vaillant e-Bus USB Schnittstelle gerne zu Forschungszwecken bereitstellen.

        Thomas

        Kommentar


          Hier !!!!
          ich nehm die
          Umgezogen? Ja! ... Fertig? Nein!
          Baustelle 2.0 !

          Kommentar


            PN ist unterwegs

            Kommentar


              Morgen,

              verdammt, da war ich zu langsam :-)

              Code:
                  // 10_50_b5_09_04_0e - Vorgabe Heizkreis
                  if ( memcmp((const char *) &m_arruc_10_50_b5_09_04_0e[0],  pucEbusMsg, sizeof(m_arruc_10_50_b5_09_04_0e)) == 0 ) {
              
                      // 0x2b - Betriebsart
                      if (pucEbusMsg[6] == 0x2b) {
                          if (pucEbusMsg[8] == 0x01)
                              printf(" - Betriebsart: 01 - Heizen");
                          else if (pucEbusMsg[8] == 0x02)
                              printf(" - Betriebsart: 02 - Aus");
                          else if (pucEbusMsg[8] == 0x03)
                              printf(" - Betriebsart: 03 - Auto");
                          else if (pucEbusMsg[8] == 0x04)
                              printf(" - Betriebsart: 04 - Eco");
                          else if (pucEbusMsg[8] == 0x05)
                              printf(" - Betriebsart: 05 - Absenken");
                          else
                              printf(" - Betriebsart: ??? %02x", pucEbusMsg[8]);
                      }
              
                      // 0x32 - Raumsolltemperatur
                      if (pucEbusMsg[6] == 0x32) {
                          if (data1c_to_int(pucEbusMsg[8], &result_int) == 1)
                              printf(" - Raumsolltemperatur: %d", result_int);
                      }
              
                      // 0x33 - Absenktemperatur
                      if (pucEbusMsg[6] == 0x33) {
                          if (data1c_to_int(pucEbusMsg[8], &result_int) == 1)
                              printf(" - Absenktemperatur: %d", result_int);
                      }
              
              
                      if (pucEbusMsg[6] != 0x2b && pucEbusMsg[6] != 0x32 && pucEbusMsg[6] != 0x33) {
                          printf(" - Mischerkreis:  %02x %02x %02x", pucEbusMsg[6], pucEbusMsg[7], pucEbusMsg[8]);
                      }
              
                  }
              Der Aufbau ist noch tiefer

              Code:
              10 50 b5 09 04 0e >2b 00 >01 a4 00 - Betriebsart: 01 - Heizen
              10 50 b5 09 04 0e >2b 00 >02 a7 00 - Betriebsart: 02 - Aus
              10 50 b5 09 04 0e >2b 00 >03 a6 00 - Betriebsart: 03 - Auto
              10 50 b5 09 04 0e >2b 00 >04 a1 00 - Betriebsart: 04 - Eco
              10 50 b5 09 04 0e >2b 00 >05 a0 00 - Betriebsart: 05 - Absenken
              10 50 b5 09 04 0e >32 00 >2a d2 00 - Raumsolltemperatur: 21
              10 50 b5 09 04 0e >33 00 >26 c8 00 - Absenktemperatur: 19
              0e....Sollwert Wasser ???

              2b...Betriebsart: guckst du
              32...Raumsolltemperatur
              33...Absenktemperatur

              Kommentar


                Welche Befehle sind das? Werden die regelmäßig auf den Bus gesendet oder nur wenn Du die Werte änderst ?
                Als einmaligen Befehl kenne ich die aber nicht als regelmäßige Nachricht auf dem Bus.

                Ich fang heute mal mit der Befehlstabelle an ...

                Code:
                KOMMANDOS FUER VAILLANT WAERMEPUMPEN
                
                ########################
                Raum-Solltemperatur:
                encoding: DATA1b
                
                FF 50 B5 05 02 01 DB1 CRC
                				  ---
                				  Integer
                
                ########################
                Absenk-Solltemperatur:
                encoding: DATA1b
                
                FF 50 B5 05 02 0A DB1 CRC
                				  ---
                				  Integer			  
                
                ########################
                Heizkreis-Modus:
                encoding: keines
                
                FF 50 B5 05 02 02 DB1 CRC
                				  ---
                				  01=Heizbetrieb
                				  02=Aus
                				  03=Auto
                				  04=Eco
                				  05=Absenken
                				  
                ########################
                Party-Modus:
                encoding: keines
                
                FF 50 B5 05 02 05 DB1 CRC
                				  ---
                				  00=Partymodus aus
                				  01=Partymodus an
                
                ########################
                WW-Speicher max.
                encoding: DATA2c
                
                FF 25 B5 09 05 0E 82 00 DB4 DB5 CRC
                   --                   --- ---
                                         Integer as DATA2c
                Umgezogen? Ja! ... Fertig? Nein!
                Baustelle 2.0 !

                Kommentar


                  Das kommt nur wenn du direkt am Bedienelement der WP die Werte den jeweiligen Heizkreis änderst.

                  Nachdem ich 3 Heizkreise habe sieht das so aus

                  0x50 ... MK1 / Heizkreis 2 - interer Kreis der WP
                  0x52 ... MK1 a / VFa / Heizkreis 1 - über VR60
                  0x53 ... MK2 b / VFb / Heizkreis 2 - über VR60

                  Kommentar


                    Ja.. das sind die Befehle die das Bedienelement sendet:

                    RT = Raumtemperatur
                    HK = Heizkreis
                    WW = WarmWasser
                    AT_off = Aussentemp. Abschaltgrenze
                    HOL = Ferientemperatur/Zeitraum
                    ZH = Zusatzheizung

                    Code:
                    push @sets, { name => "RT_soll", 	GA => "0/5/101", 	QQ => "FF", ZZ => "50", PB => "B5", SB => "05", DB => "02", DB1 => "01", DB2 => "" };
                    push @sets, { name => "RT_min", 	GA => "0/5/102", 	QQ => "FF", ZZ => "50", PB => "B5", SB => "05", DB => "02", DB1 => "0A", DB2 => "" };
                    
                    push @sets, { name => "HK_mode",	GA => "0/5/110", 	QQ => "FF", ZZ => "50", PB => "B5", SB => "05", DB => "02", DB1 => "02", DB2 => "" };
                    push @sets, { name => "HK_party", 	GA => "0/5/111", 	QQ => "FF", ZZ => "50", PB => "B5", SB => "05", DB => "02", DB1 => "05", DB2 => "" };
                    push @sets, { name => "HK_spar", 	GA => "0/5/112", 	QQ => "FF", ZZ => "50", PB => "B5", SB => "05", DB => "02", DB1 => "07", DB2 => "" };
                    
                    push @sets, { name => "WW_mode", 	GA => "0/5/120", 	QQ => "FF", ZZ => "25", PB => "B5", SB => "09", DB => "04", DB1 => "0E", DB2 => "2B", DB3 => "00", DB4 => ""};
                    push @sets, { name => "WW_soll", 	GA => "0/5/121", 	QQ => "FF", ZZ => "25", PB => "B5", SB => "09", DB => "05", DB1 => "0E", DB2 => "82", DB3 => "00", DB4 => "", DB5 => "" };
                    push @sets, { name => "WW_min", 	GA => "0/5/122", 	QQ => "FF", ZZ => "25", PB => "B5", SB => "09", DB => "05", DB1 => "0E", DB2 => "82", DB3 => "00", DB4 => "", DB5 => "" };
                    push @sets, { name => "WW_load", 	GA => "0/5/123", 	QQ => "10", ZZ => "FE", PB => "B5", SB => "05", DB => "02", DB1 => "06", DB2 => "" };
                    
                    push @sets, { name => "HK_curve", 	GA => "0/5/131", 	QQ => "FF", ZZ => "50", PB => "B5", SB => "05", DB => "03", DB1 => "0B", DB2 => "", DB3 => "00" };
                    push @sets, { name => "AT_off", 	GA => "0/5/132", 	QQ => "FF", ZZ => "50", PB => "B5", SB => "09", DB => "04", DB1 => "0E", DB2 => "36", DB3 => "00", DB4 => "", DB5 => "00" };
                    push @sets, { name => "HK_int", 	GA => "0/5/133", 	QQ => "10", ZZ => "08", PB => "B5", SB => "05", DB => "05", DB1 => "0E", DB2 => "7C", DB3 => "00", DB4 => "", DB5 => "FF" };
                    
                    push @sets, { name => "HOL_temp", 	GA => "0/5/140", 	QQ => "FF", ZZ => "FE", PB => "B5", SB => "05", DB => "02", DB1 => "2A", DB2 => ""};
                    push @sets, { name => "HOL_date", 	GA => "0/5/141", 	QQ => "FF", ZZ => "FE", PB => "B5", SB => "0B", DB => "08", DB1 => "01", DB2 => "Nr", DB3 => "ST", DB4 => "SM", DB5 => "SJ", DB6 => "ET", DB7 => "EM", DB8 => "EJ"};###FIXME DATATYP
                    
                    push @sets, { name => "ZH_hk", 	        GA => "0/5/151", 	QQ => "FF", ZZ => "08", PB => "B5", SB => "09", DB => "04", DB1 => "0E", DB2 => "63", DB3 => "00", DB4 => "" };
                    push @sets, { name => "ZH_ww", 	        GA => "0/5/152", 	QQ => "FF", ZZ => "08", PB => "B5", SB => "09", DB => "04", DB1 => "0E", DB2 => "64", DB3 => "00", DB4 => "" };
                    push @sets, { name => "ZH_int", 	GA => "0/5/153", 	QQ => "FF", ZZ => "08", PB => "B5", SB => "09", DB => "04", DB1 => "0E", DB2 => "63", DB3 => "00", DB4 => "" }; #FIXME
                    push @sets, { name => "ZH_hys", 	GA => "0/5/154", 	QQ => "FF", ZZ => "08", PB => "B5", SB => "09", DB => "05", DB1 => "0E", DB2 => "7E", DB3 => "00", DB4 => "", DB5 => "00" }; #FIXME
                    Umgezogen? Ja! ... Fertig? Nein!
                    Baustelle 2.0 !

                    Kommentar


                      So, mein Adapter ist angekommen.

                      Jetzt habe ich gerade gesehen, das meine Solarsteuerung außen einen RJxx Anschluss hat....in der Anleitung steht dazu lediglich "Erweiterungs- und Diagnose Anschluss". Ich würde aber fast eine Wette eingehen, dass auf dieser Buchse auch der eBus liegt.

                      Gibt's da vielleicht irgendwo eine Anschlussbelegung?! Wäre super, wenn ich das von Außen anstecken könnte, denn noch haben wir seitens der Installationsfirma Garantie auf die Anlage...

                      Gruß, netsrac

                      Kommentar


                        Auf den mittleren Pins sollten ca 18 Volt als Grundpegel anliegen...die Spannung sackt immer wenn ein Telegramm verschickt wird ab. Da das häufig passiert sollte die Spannung dort imer zw. 14 und 18 V pendeln.
                        Also einfach mal nachmessen und dann gehts los. Der Adapter von eService ist verpolungssicher, also egal wie rum Du anschließt.
                        Umgezogen? Ja! ... Fertig? Nein!
                        Baustelle 2.0 !

                        Kommentar


                          So ... ich hab mal meine Zettel sortiert.
                          Hier die mir bekannten und dokumentierten eBus-Kommandos:

                          Damit jeder mithelfen kann hänge ich das mal txt mit ran.

                          Gruß

                          Code:
                          KOMMANDOS FUER VAILLANT WAERMEPUMPEN
                          Die Datenbytes (DBx) muessen durch die encodierten Bytes des zu sendenen Wert ersetzt werden.
                          Kommentare nach folgendem Schema: Befehl - Info zum Befehl (ggf. Beispiel) - Encoding
                          
                          10 -> 50 -> B5 -> 05 ->	02 -> 0A -> DB2		# Raum-Absenktemperatur - Ganzzahl - DATA1b
                          10 -> 50 -> B5 -> 05 ->	02 -> 01 -> DB2		# Raum-Solltemperatur - Ganzzahl - DATA1b
                          10 -> 50 -> B5 -> 05 ->	02 -> 02 -> DB2		# Heizkreis-Modus - 01=Ein 02=Aus 03=Auto 04=Eco 05=Absenken
                          10 -> 50 -> B5 -> 05 ->	02 -> 03 -> DB2		* Heizkurve - 0x14 = 200 entspricht Heizkurve 0.20 (Faktor 0.01) - DATA1b
                          10 -> 50 -> B5 -> 05 ->	02 -> 05 -> DB2		# Party-Modus - 00=Aus 01=An
                          10 -> 50 -> B5 -> 05 -> 02 -> 06 -> DB2		# Einmalige WW-Speicherladung - 01=Start 00=Abbrechen (Abbruch nur kurz nach Start mgl.)
                          10 -> 50 -> B5 -> 05 ->	02 -> 07 -> DB2		# Sparen bis - 0.5 Schritte 21.5 = 21:30Uhr - DATA1c
                          
                          10 -> 50 -> B5 -> 09 -> 05 -> 0E -> 35 -> 00 -> DB4 -> 00	# Heizkurve - 0x14 = 200 entspricht Heizkurve 0.20 (Faktor 0.01) - DATA1b
                          10 -> 50 -> B5 -> 09 -> 04 -> 0E -> 36 -> 00 -> DB4 		# Aussentemperatur-Abschaltung - 0x13 = 19¡C - DATA1b
                          
                          10 -> 25 -> B5 -> 09 -> 05 -> 0E -> 82 -> 00 -> DB4 -> DB5	# Warmwasser-Solltemperatur - 0x10 0x03 = 49C - DATA2c
                          10 -> 25 -> B5 -> 09 -> 05 -> 0E -> 83 -> 00 -> DB4 -> DB5	# Warmwasser-Minimaltemperatur - 0x20 0x02 = 34C - DATA2c
                          10 -> 25 -> B5 -> 09 -> 05 -> 0E -> 2B -> 00 -> DB4 -> DB5	# Warmwasser-Modus - 01=Ein 02=Aus 03=Auto
                          10 -> 25 -> B5 -> 09 -> 04 -> 0E -> 40 -> 00 -> DB4			* Legionellenschutz An/Aus - 00=Aus 01=An
                          10 -> 25 -> B5 -> 09 -> 04 -> 0E -> 7C -> 01 -> DB4			* Legionellenschutz Wochentag - 00=Mo 01=Di 02=Mi 03=Do ... 07=AUS 
                          
                          10 -> FE -> B5 -> 0B -> 08 -> 01 -> DB2 -> DB3 -> DB4 -> DB5 -> DB6 -> DB7 -> DB8	# Feriendaten - Blocknummer,Starttag,Startmonat,Startjahr,Endtag,Endmonat,Endjahr - DATA1b
                          10 -> FE -> B5 -> 05 -> 02 -> 2A -> DB2												# Ferien-Temperatur - Ganzzahl - DATA1b
                          
                          10 -> 08 -> B5 -> 09 -> 04 -> 0E -> 63 -> 00 -> DB4			# Zusatzheizung Heizkreis - 01=Ein 02=Aus
                          10 -> 08 -> B5 -> 09 -> 04 -> 0E -> 64 -> 00 -> DB4			# Zusatzheizung Warmwasser - 01=Ein 02=Aus
                          															* Zusatzheizung Energie-Integral
                          10 -> 08 -> B5 -> 09 -> 05 -> 0E -> 7C -> 00 -> DB4 -> FF	# Energie-Integral Heizkreis - 0xB0 = 80 entspricht EI -80 - DATA1b															
                          10 -> 08 -> B5 -> 09 -> 05 -> 0E -> 7E -> 00 -> DB4 -> 00	* Zusatzheizung Einschalt-Hysterese
                          
                          
                          # = ziemlich sicher
                          * = muesste ich nochmal pruefen
                          Angehängte Dateien
                          Umgezogen? Ja! ... Fertig? Nein!
                          Baustelle 2.0 !

                          Kommentar


                            Nur als Motivator: Auch wenn kein Feedback kommt: Weitermachen!

                            Das kam bei meiner WP auch erst Monate/Jahre später, weil es keine Alternative gab.. Dafür dann 1x/Woche..

                            Wenn das "rutscht" gehe ich auch gerne selbst an den Hersteller (mit ner tausender-Basis wird man ernster genommen..)
                            Das ist dann aber (Ausnahmsweise!) eher ein Thema für PN/eMail (letzteres bevorzugt)

                            Strategisch stehe ich bei, denn dafür wurde das WG eigentlich gemacht..

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

                            Kommentar


                              Danke Makki, und eine kurze Info für alle Mitleser.

                              ist ja nicht so dass nichts passiert. Mit yuhu haben wir einen guten Mann gefunden . Ich bin sicher dass es in nächster Zeit wachsen wird. Er hat einiges getan und in C portiert -> Danke! Das schöne ist die gemeinsame Wärmepumpe also mal eine gute Basis um auch parallel dran zu arbeiten.

                              Nur so nebenbei, ich denke das Interesse an einer Lösung für Vaillant ist größer als vermutet . Heute Abend schlägt ein wenig die Stunde der Wahrheit was alles möglich sein kann. Danach ist es Fleißarbeit und feilen an Details.

                              Gruß
                              Umgezogen? Ja! ... Fertig? Nein!
                              Baustelle 2.0 !

                              Kommentar


                                Jetzt mal ne richtig gute Nachricht, vrDialog kommuniziert über eBus.
                                Genauer kann ich mir das aber erst später ansehen. Seit dem die vrDialog läuft blinkt die eBus-Lampe wie wahnsinnig -> ergo werden alle Daten verfügbar sein.

                                Gruß
                                Umgezogen? Ja! ... Fertig? Nein!
                                Baustelle 2.0 !

                                Kommentar

                                Lädt...
                                X