Ankündigung

Einklappen
Keine Ankündigung bisher.

neue Infos zur Vaillant KNX Anbindung

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

    Zu 1: Ich denke, ja. Die globalen vordefinierten Werte sind ja auch ohne "field".

    Welche Heizung hast Du denn?

    Bei mir kommt die "Outsidetemp" über "broadcast/outsidetemp/temp2". Meine Frage oben hat sich also beantwortet. Ich hatte einfach die falsche Outsidetemp und diese wird auch bei einer Änderung automatisch vom ebus auf knx geschickt.

    Ich habe jetzt ALLE meine Heizungswerte in Gruppenadressen geschmissen und werde das jetzt mal in meine Config einfügen. Mal sehen was so geht.

    Kommentar


      Bei mir werkelt eine auroMatic VRS 620/3 die eine ecoTec plus VC-226/5-5 steuert.
      Hast du die Zuweisung in der knx.cfg mit "broadcast/outsidetemp/temp2 = X/X/X" angegeben?
      Mir ist bewusst, dass die Außentemperatur über die vaillantspezifische broadcast.csv kommt. In dieser ist für die Außentemperatur kein "field" angegeben, sondern nur der Datentyp mit temp2.
      Code:
      # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m;s),type / templates,divider / values,unit,comment,field2,part (m;s),type / templates,divider / values,unit,comment,field3,part (m;s),type / templates,divider / values,unit,comment
      *b,broadcast,,,,"FE","B516",,,,,,,,,,,,,,,,,,,
      *wi,broadcast,,,,"FE","B516",,,,,,,,,,,,,,,,,,,
      b;wi,,vdatetime,Datum/Uhrzeit,,,,"00",time,,BTI,,,,date,,BDA,,,,,,,,,
      b,,outsidetemp,Außentemperatur,,,,"01",,,temp2,,,,,,,,,,,,,,,
      *b,broadcast,,,,"FE","B505",,,,,,,,,,,,,,,,,,,
      b,,hwcStatus,Status Warmwasser,,,,"27",,,onoff,,,,VF1,,temp0,,,,,,onoff,,,
      b,,load,Quick - WW Speicherladung,,,,"06",,,onoff,,,,,,,,,,,,,,,​

      Kommentar


        Hi,

        genau. Bei mir "broadcast/outsidetemp/temp2 = x/x/x".

        Ich bin übrigens begeistert. Es geht jetzt (fast) alles. Über KNX schreiben auch. Jetzt kann ich endlich vernünftig mit der Heizung arbeiten! Leider kommen nur sehr wenige Werte selbstständig über EBUS raus. Aber klar, warum sollte die Heizung via EBUS auch melden, dass jetzt die Heizkreispumpe angesteuert wird. Das muss ich halt "geschickt" abfragen.

        Dadurch, dass jetzt aber kein MQTT mehr dazwischen ist, ist die Performance super. Im Notfall könnte man auch via bash/cronjob manche Werte zyklisch direkt am EBUS-Client anstoßen. Dann brauchts keine Logik über KNX (in meinem Fall Edomi).

        Mit dem Parameter "Rage" in der ebus-Config habe ich jetzt keine guten Erfahrungen gemacht.

        Mit Rage Parameter:

        - Ich lese einen Wert über die ETS
        - Wert kommt und stimmt
        - Ich ändere den Wert über die VRC700
        - Ich lese den Wert
        - Der Wert stimmt nicht. Es ist noch der alte. Der neue Wert ist nicht lesbar.

        Ohne Rage Parameter:

        - Ich lese einen Wert über die ETS
        - Wert kommt und stimmt
        - Ich ändere den Wert über die VRC700
        - Ich lese den Wert
        - Der Wert kommt und stimmt.

        Noch was:
        Wie ich die "Arrays" aus dem EBUS auf KNX bringe habe ich noch nicht rausgefunden.
        Z.B. "bai Status02 = hwcmode=auto;temp0=60;temp1=45.0;temp0=80;temp1=62 .0"

        johnm: Hast Du da einen Tipp für mich? Oder Du Nico?

        Kommentar


          Es ist mir gelungen die Außentemperatur ebenfalls auf den Bus zu bekommen, indem ich /temp2 ergänzt habe. Warum das so sein muss, habe ich der Erklärung in der knx.cfg nicht verstanden?

          Ich hatte das Mapping "circuit/massage/field" so verstanden, dass man damit auch Werte aus den Arrays abfragen kann, wenn die einzelnen Teile mittels "field" definiert sind. Wie ich das in den folgenden Beispielen in meinen *.csv's gemacht habe um die einzelnen Felder über MQTT zu bekommen.
          Hier ein Beispiel aus der hwcmode.inc:
          Code:
          r,,Status,VorlaufSoll/UVStatus/Ist/SpeicherSoll,,,,0D,HWCTempDesired,,temp0,,,WW-Solltemperatur,LP/UV1ValveStatus,,onoff,,,LP/UV1-Status,TempStorage,,temp,,,WW-SpeicherIst,StorageTempDesired,,temp0,,,WW-SpeicherSoll
          Das sieht dann über HTML so aus:
          json.jpg
          und über MQTT so:
          MQTT.jpg
          Aber wie ich da einzelne Werte inx KNX bekomme habe ich noch nicht herausgefunden 🙃

          Am Schreiben scheitere ich aber ebenfalls noch...
          Angehängte Dateien
          Zuletzt geändert von Nico184; 13.10.2022, 21:03.

          Kommentar


            In meinem Beispiel gibt's aber leider temp0 und temp1 gleich zweimal....Sonst geht's wie Du geschrieben hast, richtig.

            Kommentar


              Ah sorry....ich habe am Handy den unteren Teil von Deinem Beitrag übersehen. Kannst Du die Werte lesen? Oder hast Du nur Probleme beim schreiben?

              Wenn Du die Werte lesen kannst: Wie versuchst Du die Werte zu schreiben?

              Kommentar


                Hallo Zusammen
                Ich habe auch mal angefangen die KNX Funktion zu testen, scheitere aber bei der Verbindung zum KNXD. Ich habe aktuell keinen KNX-IP Router und nutze ausschließlich den KNXD (für Node-Red und Homebridge). Programmieren in der ETS kann ich damit auch. Multicast sollte eigentlich funktionieren, da ich auch zum testen mal nen Shelly mit Tasmota-KNX laufen habe und der funktioniert (Das funktioniert ja auch mit Multicast, wenn ich das richtig verstanden habe).

                Wenn ich in der /etc/default/ebusd folgendes eintrage:

                EBUSD_OPTS="--scanconfig -c /etc/ebusd/ --mqtthost=10.0.5.77 --mqttport=1883 --mqttjson --mqtttopic=ebusd/%circuit/%name --knxurl=ip:10.0.5.77 --knxint=/etc/ebusd/knx.cfg"

                bekomme ich folgenden Log-Eintrag:

                2022-10-15 07:24:24.700 [knx error] multicast addr

                Anstelle der IP-Adresse habe ich es mit localhost versucht, kommt aber das Selbe raus.

                Dann habe ich einfach mal die ip weggelassen:

                EBUSD_OPTS="--scanconfig -c /etc/ebusd/ --mqtthost=10.0.5.77 --mqttport=1883 --mqttjson --mqtttopic=ebusd/%circuit/%name --knxurl --knxint=/etc/ebusd/knx.cfg"

                und bekomme folgenden Log-Eintrag:

                2022-10-15 07:30:15.532 [knx notice] connected to KNXnet/IP multicast

                Allerdings kommt nichts auf dem Bus an und auf Lese-Anfragen aus der ETS wird auch nicht reagiert.
                des Weiteren ist in dieser Konstellation der KNXD auch nicht mehr in der ETS erreichbar (nutze dann meine USB-Schnittstelle)

                Zur Vollständigkeit hier noch meine Konfiguration des KNXD:

                KNXD_OPTS="-e 1.1.1 -E 1.1.150:50 -c -n knxd -D -T -R -S -b tpuarts:/dev/knx


                Falls jemand eine Idee hat, wäre ich sehr dankbar. Vielleicht habe ich aber auch etwas grundsätzlich nicht richtig verstanden :-(

                Viele Grüße
                Andreas

                Kommentar


                  Wenn du eine Multicast Verbindung hast, benötigst du den knxd nicht. Musst aber in der knx.cfg eine physikalische Adresse angeben.
                  Dann solltest du die ebusd global Variablen mit passenden Gruppenadressen versehen und auch ggf. die Filtertabellen in Kopplern aktualisieren. Dann solltest du beim Start von ebusd auch die globalen Infos auf dem Bus sehen.
                  Ich habe auch laaaange probiert

                  Kommentar


                    Er hat keinen IP-Router. Deshalb braucht er knxd. Zumindest wenn ich es richtig verstanden habe.

                    Andreas, hast Du oben gelesen was John mir geschrieben hat als ich meine Fehlerversuche hatte? Zwecks ebus mit knxd kompilieren, etc..? Ich habs ja auch nicht ganz verstanden. Aber da solltest Du evtl. was rauslesen können.

                    Kommentar


                      Ja, das habe ich mehrmals gelesen, aber ehrlich gesagt nicht ganz verstanden.

                      Den KNXD habe ich schon lange laufen.
                      Ebusd habe ich nicht neu kompiliert, sondern
                      via apt upgrade auf die neueste Version gehoben.
                      Weißt du was damit gemeint war? Muss ich ggf noch etwas nachinstallieren?

                      eine physikalische Adresse habe ich aber auch in der knx.cfg vergeben. Hat leider keine Änderung gebracht.

                      Kommentar


                        Zitat von Nico184 Beitrag anzeigen
                        1. Frage:
                        Nach Definition muss in der knx.cfg die ebusd Nachricht mit circuit/message/field mit der Gruppenadresse verknüpft werden. Nun haben nicht alle ebusd Nachrichten eine Bezeichnung für field, kann diese auch weggelassen werden?
                        Das Feld muss zwingend angegeben werden wegen der Zuordnung. Hat ein Feld einer Message keinen Namen (z.B. laut "ebusctl find -f ..."), dann lässt sich das Feld via Index nutzen, also einer Zahl ab 0 aufsteigend.

                        Zitat von Nico184 Beitrag anzeigen
                        2. Frage:
                        Wie ist das KNX debug Log zu verstehen? Ich kann die Einträge in der Logdatei nicht deuten.
                        Code:
                        2022-10-12 21:18:10.898 [knx debug] received unsubscribed write from 100d to 9212, len 2
                        ...
                        2022-10-12 21:18:12.070 [knx debug] received unsubscribed write from 100c to 9204, len 2
                        ​
                        naja also erstmal ist es ein debug log, sprich normalerweise hat man das nicht aktiv, wenn ebusd in Betrieb ist. Anyway, es wird in diesem Level auch von KNX empfangener Traffic protokolliert und man kann daran z.B. sehen, wenn read oder write von KNX zwar ankommen, aber mangels Zuordnung zu eBUS Nachrichten nicht von ebusd beantwortet werden wie in den beiden beispielhaften Zeilen oben. "unsubscribed" ist der Hinweis auf KNX Nachrichten ohne die Zuordnung zu eBUS.

                        Kommentar


                          Zitat von woerdi2000 Beitrag anzeigen
                          Ich habe auch mal angefangen die KNX Funktion zu testen, scheitere aber bei der Verbindung zum KNXD. Ich habe aktuell keinen KNX-IP Router und nutze ausschließlich den KNXD (für Node-Red und Homebridge). Programmieren in der ETS kann ich damit auch. Multicast sollte eigentlich funktionieren, da ich auch zum testen mal nen Shelly mit Tasmota-KNX laufen habe und der funktioniert (Das funktioniert ja auch mit Multicast, wenn ich das richtig verstanden habe).

                          Wenn ich in der /etc/default/ebusd folgendes eintrage:

                          EBUSD_OPTS="--scanconfig -c /etc/ebusd/ --mqtthost=10.0.5.77 --mqttport=1883 --mqttjson --mqtttopic=ebusd/%circuit/%name --knxurl=ip:10.0.5.77 --knxint=/etc/ebusd/knx.cfg"

                          bekomme ich folgenden Log-Eintrag:

                          2022-10-15 07:24:24.700 [knx error] multicast addr

                          Anstelle der IP-Adresse habe ich es mit localhost versucht, kommt aber das Selbe raus.
                          Also nochmal: es gibt entweder die Möglichkeit via IP multicast anzubinden, dann kann man ein ebusd Release verwenden. Oder man nimmt die ebusd Quellen und kompiliert mit knxd Support, dann kann man auch eine TCP Verbindung zu knxd verwenden.
                          Das spiegelt sich entsprechend in der KNX URL wieder. Übrigens hilft es durchaus, "ebusd --help" aufzurufen, denn da sieht man, welche URLs prinzipiell möglich sind.

                          Beim ebusd release ist das laut Hilfe ausschließlich
                          Code:
                          "[multicast][@interface]" for KNXnet/IP
                          , also optional Multicastadresse gefolgt von optional "@" plus Interface Adresse. Die ist wichtig, wenn der Host mehr als ein IP Interface hat und das Routing für Multicast nicht oder nicht richtig konfiguriert ist. Also bspw. wenn "ip a" auf dem Host zeigt, dass es neben dem localhost Interface noch zwei Interfaces mit Adressen bspw. 192.168.1.100 und 172.29.1.100 gibt und der KNX/ip multicast Router im Netz von 172.29... hängt, dann würde man "--knxurl=@172.29.1.100" verwenden müssen.

                          Bei einem selbst kompilierten ebusd mit knxd Support hat man dann zusätzlich noch die Möglichkeit, direkt den knxd TCP Port zu verwenden (normalerweise auf Port 6720), d.h. dann könnte man via "--knxurl=ip:10.10.10.10" mit knxd auf dem Host mit Adresse 10.10.10.10 verbinden (statt KNX/ip Multicast) oder sogar dessen Unix Domain Socket ansprechen via "--knxurl=local:/run/knx", sofern knxd auf dem lokalen Host läuft und dessen Socket offen ist.

                          Zitat von woerdi2000 Beitrag anzeigen
                          Dann habe ich einfach mal die ip weggelassen:

                          EBUSD_OPTS="--scanconfig -c /etc/ebusd/ --mqtthost=10.0.5.77 --mqttport=1883 --mqttjson --mqtttopic=ebusd/%circuit/%name --knxurl --knxint=/etc/ebusd/knx.cfg"

                          und bekomme folgenden Log-Eintrag:

                          2022-10-15 07:30:15.532 [knx notice] connected to KNXnet/IP multicast

                          Allerdings kommt nichts auf dem Bus an und auf Lese-Anfragen aus der ETS wird auch nicht reagiert.
                          des Weiteren ist in dieser Konstellation der KNXD auch nicht mehr in der ETS erreichbar (nutze dann meine USB-Schnittstelle)
                          ​äh, wie jetzt genau? Meinst Du mit "meine USB Schnittstelle" das KNX Interface? Damit kann ebusd natürlich nichts anfangen (ist ja schließlich kein knxd), also unbedingt mit "-d /dev/tty..." das richtige Device für ebusd konfigurieren. So ist es klar, dass knxd kein KNX mehr machen kann, wenn Du dem sein Device wegnimmst. Ich vermute stark, dass /dev/knx ein Symlink auf /dev/ttyUSB0 ist.
                          Somit gibts natürlich auch keinen KNX Traffic mehr. Also bissl genauer hinschauen bitte

                          Kommentar


                            Zitat von johnm Beitrag anzeigen
                            äh, wie jetzt genau? Meinst Du mit "meine USB Schnittstelle" das KNX Interface?
                            Nein, da hast du mich falsch verstanden. Damit meinte ich meine separate Gira USB Schnittstelle, mit der ich in der ETS den Bus beobachtet habe.
                            Den KNXD habe ich nicht angefasst, der hat seine eigene Schnittstelle zum KNX.

                            Ich denke ich habe es jetzt verstanden. Ich werde ebusd nochmal neu kompilieren.
                            Muss ich beim selbst kompilieren noch etwas beachten, damit ich die Version mit dem knxd Support erhalte?
                            Wird zukünftig das Release auch den KNXD Support erhalten?

                            Danke und Grüße
                            Andreas

                            Kommentar


                              Hallo zusammen,

                              ich habe letze Woche meinen ebus3 WIFI Adapter bekommen und der läuft mit ebusd problemlos. Jetzt bin ich dabei zu versuchen die Daten direkt auf den KNX Bus zu senden, allerdings kommt auf dem Bus nichts an. Eine Verbindung scheint es aber zu geben, denn ich sehe im log (/var/log/ebusd.log) folgende Meldung, wenn ich in der ETS die GA lesen will:

                              022-11-15 13:56:31.531 [knx notice] received read request from ff01 to 2a01 for broadcast/datetime/outsidetemp
                              2022-11-15 13:56:31.531 [bus error] prepare message part 0: ERR: invalid argument​
                              Ich habe einen Enertex KNXnet/IP Router.

                              Vielleicht hat ja jemand einen Tipp oder sieht sofort wo ich einen Fehler gemacht habe.

                              Meine /etc/default/ebusd sieht wie folgt aus:

                              cat /etc/default/ebusd
                              # /etc/default/ebusd:
                              # config file for ebusd service.

                              # Options to pass to ebusd (run "ebusd -?" for more info):
                              #EBUSD_OPTS="--scanconfig"

                              EBUSD_OPTS="--scanconfig -d ens:10.10.20.39:9999 --knxurl="" --knxint=/etc/ebusd/knx.cfg --knxrage=9999"​
                              meine knx.cfg (gekürzt um es übersichtlicher zu halten):


                              address = 1.1.1

                              # the global value group assignments for running, version, signal, uptime, updatecheck, and scan.
                              # running: 1 bit, 1=running, DPT 1.002
                              ##global/running = 9/0
                              # version: 2 octets, major in MSB, minor in LSB, DPT 217.001 "DPT_Version"
                              ##global/version = 9/1
                              # signal: 1 bit, 1=signal acquired, DPT 1.002
                              ##global/signal = 9/2
                              # uptime: 4 octets int, seconds since start, sent once every hour, DPT 12.100
                              ##global/uptime = 9/3
                              # updatecheck: 1 bit, 1=update available, DPT 1.002
                              ##global/updatecheck = 9/4
                              # scan: 1 bit, 1=running, DPT 1.002
                              ##global/scan = 9/5

                              broadcast/datetime/outsidetemp = 5/2/1
                              und mein log wenn ich ebusd starte (auch nur ein kurzer auszug um es nicht unübersichtlich werden zu lassen):

                              2022-11-15 09:52:23.936 [main notice] ebusd 22.4.v22.4 started with auto scan on enhanced device 10.10.20.39:9999
                              2022-11-15 09:52:25.120 [bus notice] device status: resetting
                              2022-11-15 09:52:25.125 [bus notice] bus started with own address 31/36
                              2022-11-15 09:52:25.126 [knx notice] connected to KNXnet/IP multicast
                              2022-11-15 09:52:25.140 [bus notice] signal acquired
                              2022-11-15 09:52:25.447 [bus notice] device status: reset, supports info
                              2022-11-15 09:52:30.445 [bus notice] new master 10, master count 2
                              2022-11-15 09:52:30.507 [bus notice] new master 03, master count 3
                              2022-11-15 09:52:30.508 [update notice] received unknown MS cmd: 1008b5110101 / 093934500aff5d0000ff
                              2022-11-15 09:52:30.803 [update notice] received unknown MS cmd: 1052b5230103 / 0f9501008000800080f1019a01c87c00
                              2022-11-15 09:52:31.075 [bus notice] new master 71, master count 4
                              2022-11-15 09:52:31.075 [update notice] received unknown MS cmd: 1076b5110101 / 09ff34500aff5d0000ff
                              2022-11-15 09:52:31.345 [update notice] received unknown MS cmd: 1076b512030f0201 / 07ef020100800c05
                              2022-11-15 09:52:31.619 [update notice] received unknown MS cmd: 1008b51009000000ffffff070000 / 0101
                              2022-11-15 09:52:31.883 [update notice] received unknown MS cmd: 1052b523080100ff0000ffff00 / 0101
                              2022-11-15 09:52:32.132 [update notice] received unknown MS cmd: 1052b5230402010136 / 02010a
                              2022-11-15 09:52:32.405 [update notice] received unknown MS cmd: 1076b51009000000ffffff010000 / 0101
                              2022-11-15 09:52:35.380 [main error] scan config 08: ERR: read timeout
                              2022-11-15 09:52:37.597 [bus notice] scan 15: ;Vaillant;70000;0110;2103

                              Kommentar


                                Scroll mal nach oben. Genau das gleiche hatte ich auch....

                                Kommentar

                                Lädt...
                                X