Ankündigung

Einklappen
Keine Ankündigung bisher.

neue Infos zur Vaillant KNX Anbindung

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

    Hi Bernd,

    Zitat von gibsonrocker Beitrag anzeigen
    Hi John,

    Dann habe ich es so verstanden, dass ich ihn der "/etc/default/ebus" - Config die folgende Ergänzung machen muss:

    Alt: EBUSD_OPTS="--scanconfig=full -d enh:192.168.1.155:9999 --configpath=http://ebusd.eu/config/"
    Neu: EBUSD_OPTS="--scanconfig=full -d enh:192.168.1.155:9999 --configpath=http://ebusd.eu/config/ --knxurl=ip:localhost --knxint=/etc/ebusd/knx.cfg"

    Habe ich das richtig verstanden? Wenn ja, dann startet mein EBUSD nicht mehr wenn ich die Zeile so ergänze. An dieser Stelle komme ich leider nicht weiter.
    soweit richtig. schau doch mal was im Logfile steht, irgendwas scheint dann an der config nicht zu passen.
    ach so, http ist deprecated und der angegebene config path ebenso. Du kannst "--configpath=http://ebusd.eu/config/" einfach weglassen, denn ebusd hat das mit https schon als default auf der neuen Adresse, also in Summe:
    EBUSD_OPTS="--scanconfig=full -d enh:192.168.1.155:9999 --knxurl=ip:localhost --knxint=/etc/ebusd/knx.cfg"

    und inzwischen ist der code auch im master Branch und vsl. heute gibts ne neue Release

    Kommentar


      Hi John....

      ok. Danke Dir! Heute habe ich leider keine Zeit. Falls Du mit der neuen Version schneller bist dann mache ich alles noch einmal neu und schau ob der Fehler dann evtl. schon damit erledigt ist. Schaffst Du es auch die neue Funktion auch in die Version ins Debian Repository zu bringen?



      Danke für Deine Arbeit!

      vg, Bernd

      Kommentar


        Hi John....

        ich habe die aktuelle Version am Laufen. Jetzt passt alles. Ich bekomme aber nichts zu KNX raus. Ich weiß nicht ob ich das Config-File richtig verstehe. Sollte die Outsidetemp nicht mindestens ausgegeben werden OHNE Anpassungen im Configfile (/etc/ebusd/knx.cfg)?

        "broadcast/datetime/outsidetemp = 9/6"

        Soll "9/6" die Gruppenadresse sein? Die Sollte ja eher */*/* aussehen. Also bei mir z.B. 4/0/100. Egal was ich mache. Es kommt nix raus. Ich steig nicht durch.....

        Zusatzfrage: Muss ich eigentlich wenn ich an der KNX-Config was ändere einen Service neu starten? Reicht es den ebusd Service neu zu starten?

        Ich hoffe, Du kannst mir helfen.

        vg, Bernd

        Kommentar


          Guten Tag Zusammen,
          darf ich mal fragen was ihr da genau plant?

          Welche Teile braucht man wenn "später" alles fertig ist? Pi? Platine?
          Software?

          Wäre echt cool, wenn das so einfach wie möglich wäre

          Danke und lg

          Kommentar


            Zitat von gibsonrocker Beitrag anzeigen
            Ich bekomme aber nichts zu KNX raus. Ich weiß nicht ob ich das Config-File richtig verstehe. Sollte die Outsidetemp nicht mindestens ausgegeben werden OHNE Anpassungen im Configfile (/etc/ebusd/knx.cfg)?
            ich würde erstmal mit Status vom ebusd anfangen, also z.B. https://github.com/john30/ebusd/blob...sd/knx.cfg#L22

            Zitat von gibsonrocker Beitrag anzeigen
            Soll "9/6" die Gruppenadresse sein? Die Sollte ja eher */*/* aussehen. Also bei mir z.B. 4/0/100.
            Du kannst sowohl zweistufige als auch dreistufige GA verwenden. "9/6" ist die Notation für zweistufig.

            Zitat von gibsonrocker Beitrag anzeigen
            Egal was ich mache. Es kommt nix raus. Ich steig nicht durch.....
            was hast Du denn für einen Endpunkt, also hast Du einen KNX Router im Netz hängen oder knxd am Laufen?
            Du musst auf jeden Fall "--knxurl=" als Startparameter zu ebusd hinzufügen, sonst wird KNX gar nicht aktiviert.

            Zitat von gibsonrocker Beitrag anzeigen
            Zusatzfrage: Muss ich eigentlich wenn ich an der KNX-Config was ändere einen Service neu starten? Reicht es den ebusd Service neu zu starten?
            ja, ebusd muss dann neu gestartet werden.


            Kommentar


              Zitat von Burgerking Beitrag anzeigen
              Guten Tag Zusammen,
              darf ich mal fragen was ihr da genau plant?

              Welche Teile braucht man wenn "später" alles fertig ist? Pi? Platine?
              Software?

              Wäre echt cool, wenn das so einfach wie möglich wäre
              geplant ist, ebusd via ETS programmieren zu können, um dann die gewünschten Nachrichten vom eBUS in KNX zu haben und umgekehrt, also quasi ein Gateway.
              Dazu braucht man dann ein Interface ala https://adapter.ebusd.de/, ebusd auf irgendnem Rechner laufend (z.B. RPi) und natürlich einen Zugangspunkt zu KNX (bspw. knxd oder was anderes KNXnet/IP multicast routing kompatibles)

              Kommentar


                Zitat von johnm Beitrag anzeigen
                was hast Du denn für einen Endpunkt, also hast Du einen KNX Router im Netz hängen oder knxd am Laufen?
                Du musst auf jeden Fall "--knxurl=" als Startparameter zu ebusd hinzufügen, sonst wird KNX gar nicht aktiviert.
                Ich habe gedacht mit der neuen Version brauche ich kein KNXD mehr auf der Maschine. Aber was heißt "oder"? Brauche ich gar keinen KNXD wenn ich einen IP-Router im Netz habe? Ich habe einen KNX-Router (MDT SCN-IP100.02) im Netz. Meine ebusD Config Zeile sieht jetzt so aus:

                Code:
                EBUSD_OPTS="--scanconfig=full -d enh:192.168.1.155:9999 --knxurl=ip:192.168.1.100 --knxint=/etc/ebusd/knx.cfg"
                Die 192.168.1.100 ist mein KNX IP Router von MDT.

                Die Gruppenadresse überwache ich mit der ETS. Kommt aber nie was an.

                ebusD läuft super. Die Daten kommen von der Heizung an.

                Kommentar


                  Zitat von gibsonrocker Beitrag anzeigen
                  Code:
                  EBUSD_OPTS="--scanconfig=full -d enh:192.168.1.155:9999 --knxurl=ip:192.168.1.100 --knxint=/etc/ebusd/knx.cfg"
                  Die 192.168.1.100 ist mein KNX IP Router von MDT.
                  "ip:192.168.1.100" wäre das Format für eine knxd Verbindung.
                  Standardmäßig (wenn Du ebusd nicht selbst compiliert hast), steht aber nur Routing zur Verfügung, d.h. Dein Router muss Multicast Routing können (sollte er). Damit wäre dann der Parameter auf "--knxurl=" (ja, wirklich leer!) zu setzen, wenn dein Host, auf dem ebusd läuft, nur 1 IP Interface hat. Bei mehreren muss stattdessen "--knxurl=@IP" genommen werden, wobei statt "IP" die IP Adresse des Hosts in dem Netzsegment mit dem KNX Router einzusetzen ist.

                  Kommentar


                    Hi John,

                    Danke für Deine schnelle Antwort und die Hilfe bei den Einstellungen. Das mit Multicast erklärt schon mal einen Teil. Ich habe die Clients unter Virtual Box und da geht wohl Multicast nicht "einfach so". Das schaue ich mir aber die Tage noch an. Wenn nicht, dann mache ich es einfach über knxd. Dann sollte es auf jeden Fall gehen.

                    Ich werde berichten! Danke Dir....

                    vg, Bernd

                    Kommentar


                      Hi johnm, bzw. alle anderen (falls es jemand am laufen hat)...

                      Ich kriege es nicht hin. Irgendwas versteh ich scheinbar nicht richtig. Ich habe das Gefühl, dass ich die EBUS->KNX-Config nicht verstehe. Ich habe mir das File schon zig-mal durchgelesen. Aber ich werde nicht 100% schlau aus dem "Mapping" der ebus-Daten zu den KNX Kommunikationsobjekten.

                      Ich fange mal von vorne an:
                      Das mit dem Multicast sollte jetzt passen. Ich habe knxd auf der gleichen Maschine und eine Verbindung zu KNX.

                      Wenn ich hier schaue habe ich Daten von KNX:

                      Code:
                      Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
                      permitted by applicable law.
                      Last login: Fri Sep 23 10:02:05 2022 from 192.168.1.22
                      root@debian:~# knxtool groupsocketlisten local:
                      Write from 1.1.250 to 8/1/27: 01
                      Write from 1.1.48 to 5/0/182: 00 00
                      Write from 1.1.30 to 5/1/31: 01
                      Write from 1.1.250 to 8/1/40: 01
                      Write from 1.1.33 to 5/1/232: 0F 6C
                      Write from 1.1.34 to 4/2/0: 0C 22
                      Write from 1.1.30 to 5/1/31: 00
                      ​
                      ebusctl find -v, spuckt mir Werte aus. Also läuft ebus.

                      Code:
                      root@debian:~# ebusctl read outsidetemp
                      10.688​
                      Also sollte knxd und ebus laufen. Es werden aber keine Daten auf KNX geschickt.

                      Anbei meine Configs:

                      knxd.conf

                      Code:
                      # configuration for knxd.service
                      # KNXD_OPTS="-e 0.0.1 -E 0.0.2:8 -u /tmp/eib -b ip:"
                      
                      KNXD_OPTS="-e 0.0.1 -E 0.0.2:8 -c -b ip:224.0.23.12"
                      
                      # configuration for knxd.service using new configuration format in /etc/knxd.ini
                      # use only this line if you used knxd_args to convert your old startup options
                      # KNXD_OPTS=/etc/knxd.ini
                      
                      # The default options are "-u /tmp/eib -b ip:"
                      # which tell knxd to route between all of
                      #  /tmp/eib (legacy socket (-u))
                      #  multicast client (-b ip:).
                      # knxd's own bus address is 0.0.1; it will assign 0.0.2…0.0.9 to clients.
                      # The knxd.socket file also tells knxd to listen to
                      #  /run/eib (socket activation via systemd)
                      #  TCP port 6720 (socket activation via systemd)
                      # You *need* the -e option. Clients cannot connect without "-E".
                      
                      # You can read knxd's logs with
                      # $ journalctl -u knxd --since "10 min ago"
                      # (or whatever). See the manpage for details.
                      # You need to be a member of the "adm" group.
                      # Add "-f9 -t1023" to the beginning of the command line for extensive logging.
                      
                      # *** DO NOT use "-u" / "-u /run/knx" or "-i" / "-i 6720" here.
                      # Systemd already does that on behalf of knxd, via 'knx.socket'.
                      
                      # *** DO NOT use both "-RS" and "-b ip:" (unless you specify a
                      # different multicast address on one of them). You'd create a loop.
                      
                      # If you have KNX hardware on a serial port or USB, add the appropriate
                      # "-b TYPE:…" option. In this case, you probably want to set up a multicast
                      # server, not a client (i.e. use "-D -T -R -S", not "-b ip:").
                      # DO NOT use both.
                      #
                      # If your KNX hardware is a KNX/IP gateway that doesn't do multicast,
                      # use "-b ipt:192.168.1.2" (or its DNS name) to talk to it.
                      #
                      # KNX MUST NOT have more than one path between any two devices. Thus,
                      # you need to make sure that the KNX/IP gateway does not route multicast
                      # before you use both "-S" and "-b ipt:".
                      
                      # The default bus address of knxd is 0.0.1. If that's in use in your KNX
                      # network (or if you run more than one knxd on your network), set a
                      # different address, for example "-e 7.0.99".
                      
                      # You should have a block of free addresses on your KNX bus which knxd can
                      # assign to clients: "-E 7.0.100:28" will use 7.0.100 through 7.0.127.
                      # If no such range is given, or if it's full, knxd uses its own address.
                      # That mostly works, but separate addresses are much better.
                      
                      # Run `knxd --help` to get a complete list of available options and drivers.
                      
                      ## DO NOT use the following options:
                      ## -i           -- /lib/systemd/system/knxd.socket does this for us
                      ## -u /run/knx  -- likewise
                      ## -d           -- /lib/systemd/system/knxd.service expects knxd to run in the foreground
                      ## -p PIDFILE   -- please use systemctl to control knxd
                      
                      ###############################################################################
                      # This file is ignored when NOT using systemd: edit /etc/default/knxd instead #
                      ###############################################################################
                      ​
                      /etc/default/ebusd

                      Code:
                      # /etc/default/ebusd:
                      # config file for ebusd service.
                      
                      # Options to pass to ebusd (run "ebusd -?" for more info):
                      # EBUSD_OPTS="--scanconfig"
                      
                      # EBUSD_OPTS="--scanconfig=full -d enh:192.168.1.155:9999 --knxurl= --knxint=/etc/ebusd/knx.cfg"
                      
                      EBUSD_OPTS="--scanconfig=full -d enh:192.168.1.155:9999 --knxurl= --knxint=/etc/ebusd/knx.cfg"
                      
                      # MULTIPLE EBUSD INSTANCES WITH SYSV
                      # In order to run multiple ebusd instances on a SysV enabled system, simply
                      # define several EBUSD_OPTS with a unique suffix for each. Recommended is to
                      # use a number as suffix for all EBUSD_OPTS settings. That number will then be
                      # taken as additional "instance" parameter to the init.d script in order to
                      # start/stop an individual ebusd instance instead of all instances.
                      # Example: (uncomment the EBUSD_OPTS above)
                      #EBUSD_OPTS1="--scanconfig -d /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A50285BI-if00-port0 -p 8888 -l /var/log/ebusd1.log"
                      #EBUSD_OPTS2="--scanconfig -d /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A900acTF-if00-port0 -p 8889 -l /var/log/ebusd2.log"
                      #EBUSD_OPTS3="--scanconfig -d /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A900beCG-if00-port0 -p 8890 -l /var/log/ebusd3.log"
                      
                      # MULTIPLE EBUSD INSTANCES WITH SYSTEMD
                      # In order to run muiltiple ebusd instances on a systemd enabled system, just
                      # copy the /lib/systemd/system/ebusd.service file to /etc/systemd/system/
                      # with a different name (e.g. ebusd-2.service), remove the line starting with
                      # 'EnvironmentFile=', and replace the '$EBUSD_OPTS' with the options for that
                      # particular ebusd instance.
                      ​
                      /etc/default/knxd

                      Code:
                      # Defaults for knxd initscript
                      # sourced by /etc/init.d/knxd
                      # installed at /etc/default/knxd by the maintainer scripts
                      
                      ########################################################################
                      # This file is ignored when using systemd: edit /etc/knxd.conf instead #
                      ########################################################################
                      
                      # start knxd when /etc/init.d/knxd start is run
                      # by default knxd does NOT start. set to YES to enable
                      START_KNXD=NO
                      
                      # Additional options that are passed to the Daemon.
                      #
                      # sane default: route between local KNX clients and multicast
                      DAEMON_ARGS="-e 0.0.1 -E 0.0.2:8 -u /tmp/eib -u /var/run/knx -i -b ip:"
                      
                      # The default options are "-e 0.0.1 -E 0.0.2:8 -u /tmp/eib -b ip:"
                      # which tell knxd to route between all of
                      #  /tmp/eib (legacy socket (-u))
                      #  multicast client (-b ip:).
                      # knxd's own bus address is 0.0.1; it will assign 0.0.2…0.0.9 to clients.
                      # The knxd.socket file also tells knxd to listen to
                      #  /run/eib (socket activation via systemd)
                      #  TCP port 6720 (socket activation via systemd)
                      
                      # You *need* the -e option. Clients cannot connect without "-E".
                      # *** DO NOT use "-u" / "-u /run/knx" or "-i" / "-i 6720" here.
                      # Systemd already does that on behalf of knxd, via 'knx.socket'.
                      
                      # DO NOT use "-RS" and "-b ip:" at the same time (unless you specify a
                      # different multicast address on one of them). You'd create a loop.
                      
                      # If you have KNX hardware on a serial port or USB, add the appropriate
                      # "-b TYPE:…" option. In this case, you probably want to set up a multicast
                      # server, not a client (i.e. use "-D -T -R -S", not "-b ip:").
                      # DO NOT use both.
                      #
                      # If your KNX hardware is a KNX/IP gateway that doesn't do multicast,
                      # use "-b ipt:192.168.1.2" (or its DNS name) to talk to it.
                      #
                      # KNX MUST NOT have more than one path between any two devices. Thus,
                      # you need to make sure that the KNX/IP gateway does not route multicast
                      # before you use both "-S" and "-b ipt:".
                      
                      # The default bus address of knxd is 0.0.1. If that's in use in your KNX
                      # network (or if you run more than one knxd on your network), set a
                      # different address (-e 15.0.99).
                      
                      
                      # Run `knxd --help` to get a complete list of available options and drivers.
                      
                      ## DO NOT use the following options:
                      ## -d           -- /etc/rc.d/knxd aleady does that for us
                      ## -p PIDFILE   -- /etc/rc.d/knxd aleady does that for us
                      /etc/ebusd/knx.cfg

                      Code:
                      # Configuration file for ebusd KNX integration with knxd (https://github.com/knxd/knxd).
                      
                      # Use this file with ebusd to establish a bridge between KNX and eBUS for a set of messages.
                      # The commandline options to ebusd should contain e.g.:
                      # --knxurl=ip:localhost --knxint=/etc/ebusd/knx.cfg
                      
                      # Currently only reading from and writing to group addresses as defined here is supported.
                      # Setting the addresses via ETS is not (yet) possible as well as setting the physical address.
                      # All entries are set to group address flags as follows:
                      # - for read and passive write messages: "Read", "Transmit"
                      # - for active write messages: "Write", "Read" (only answered when value was written before via KNX or eBUS), no "Update"
                      
                      # The physical address depends on how knxd is configured and might change each time ebusd and/or knxd is restarted when
                      # a range of possible client addresses were configured on knxd side (which is recommended when there is more than one
                      # client using knxd).
                      
                      # the own individual address (only relevant when running in KNXnet/IP mode)
                      # 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 = 4/0/100
                      # version: 2 octets, major in MSB, minor in LSB, DPT 217.001 "DPT_Version"
                      global/version = 4/0/101
                      # signal: 1 bit, 1=signal acquired, DPT 1.002
                      global/signal = 4/0/102
                      # uptime: 4 octets int, seconds since start, sent once every hour, DPT 12.100
                      global/uptime = 4/0/103
                      # updatecheck: 1 bit, 1=update available, DPT 1.002
                      global/updatecheck = 4/0/104
                      # scan: 1 bit, 1=running, DPT 1.002
                      global/scan = 4/0/105
                      
                      
                      # the message field value group assignments by circuit/message/field name.
                      # the value coding depends on the field datatype and currently only numeric datatypes are supported.
                      # the mapping is as follows:
                      # - BI0:1 - BI7:1, length 1: 1 bit, DPT 1
                      # - without divisor:
                      #   - BI0 - BI6, length >1: 1 octet, unsigned, DPT 5.010
                      #   - UCH: 1 octet, unsigned, DPT 5.010
                      #   - SCH, D1B: 1 octet, signed, DPT 6.010
                      #   - UIN, UIR, PIN: 2 octet, unsigned, DPT 7.001
                      #   - SIN, SIR: 2 octet, signed, DPT 8.001
                      #   - U3N, U3R, ULG, ULR: 4 octet, unsigned, DPT 12.001
                      #   - U3N, U3R, SLG, SLR: 4 octet, signed, DPT 13.001
                      # - with divisor:
                      #   - BI0 - BI6, length >1: 2 octet, signed float, DPT 9.*
                      #   - UCH, SCH, D1B, UIN, UIR, SIN, SIR: 2 octet, signed float, DPT 9.*
                      #   - U3N, U3R, ULG, ULR, SLG, SLR: 4 octet, signed float, DPT 14.*
                      # - with or without divisor:
                      #   - D1C, D2B, D2C, FLT, FLR: 2 octet, signed float, DPT 9.*
                      #   - EXP, EXR: 4 octet, signed float, DPT 14.*
                      #
                      # note: the float conversion from ebus to KNX may loose precision due to the KNX DPT 9 not being able to carry more than
                      # two digits after the decimal point and having a mantissa of only 11 bits.
                      # Consequently, when writing a 2-octet float to ebusd, a consecutive read on the same group address is likely to reveal
                      # a different value if it was using more than two digits after the decimal point or exceeding the KNX float mantissa
                      # range, e.g.:
                      # - an ebus D2B value of 10.004 will read as 10.00 2-octet float on KNX,
                      # - an ebus UIN with divisor 100 (like heating curve) value of 655.34 will read as 655.04 2-octet float on KNX,
                      # - writing a KNX 2-octet float value of 12.34 to an ebus UIN with divisor 10 will actually write 12.3 and read as 12.3.
                      #
                      # note: writing to ebus via KNX currently is only possible if the ebus message contains a single field respectively at
                      # most one non-ignored field. this is due to otherwise the value to be set for the other fields would have to be
                      # determined first which is mostly not possible. Group associations to write messages not fulfilling this requirement
                      # are silently ignored.
                      #
                      # note: the mapping for reads/writes from KNX is done as follows:
                      # - for KNX read, the precedence on picking the ebus message is: active read, passive read+write.
                      # - for KNX write, the precedence on picking the ebus message is: active write only.
                      
                      broadcast/datetime/outsidetemp = 4/0/106
                      ​
                      Der Witz ist, dass wenn ich die Gruppenadresse 4/0/106 (Outsidetemp) abfrage dann kommt in der ebusd.log auch ein Fehler. Die Verbindung zu KNX sollte also da sein. Deshalb glaube ich, ich check das Mapping nicht. Der Fehler "invalid argument" könnte ja auf einen Fehler im Datentyp hindeuten. Ich weiß es aber leider nicht. Ich komme nicht drauf.

                      Code:
                      2022-09-27 12:18:02.668 [update notice] received unknown MS cmd: 1008b5120204ff / 00
                      2022-09-27 12:18:02.892 [update notice] received update-read broadcast outsidetemp QQ=10: 10.688
                      2022-09-27 12:18:10.551 [update notice] received read bai Status01 QQ=10: 30.0;-;13.688;0.0;49.0;off
                      2022-09-27 12:18:10.835 [update notice] received update-write bai SetMode QQ=10: auto;27.0;50.0;-;0;0;0;0;0;0
                      2022-09-27 12:18:20.585 [update notice] received read bai Status01 QQ=10: 30.0;-;13.688;0.0;49.0;off
                      2022-09-27 12:18:20.866 [update notice] received update-write bai SetMode QQ=10: auto;27.0;50.0;-;0;0;0;0;0;0
                      2022-09-27 12:18:25.030 [knx notice] received read request from 11fc to 206a for broadcast/datetime/outsidetemp
                      2022-09-27 12:18:25.030 [bus error] prepare message part 0: ERR: invalid argument
                      2022-09-27 12:18:30.568 [update notice] received read bai Status01 QQ=10: 30.0;-;13.938;0.0;49.0;off​
                      Kannst Du mir bitte noch einmal helfen? Ich habe echt alles versucht.

                      vg, Bernd

                      Kommentar


                        Zitat von gibsonrocker Beitrag anzeigen
                        ...
                        Also sollte knxd und ebus laufen. Es werden aber keine Daten auf KNX geschickt.
                        ich vermute, dass Deine knxd Config nicht passt, da mit "-b ip:" nur ein Multicast Client aktiviert wird. Um Traffic von IP auf TP zu routen braucht man aber das Routing Feature von knxd. Oder hast Du ebusd jetzt mit knxd Support compiliert?

                        Aber nochmal von vorne:
                        Wenn ich das jetzt richtig sehe, hast Du knxd lediglich für ebusd angeworfen, richtig?
                        Dein Endpoint ist aber eigentlich ein KNX Device, das regulär IP multicast kann, korrekt?
                        Dann brauchst Du keinen knxd und das macht dir eigentlich nur alles unnötig komplizierter.

                        Was in der ebusd/knx.cfg auf jeden Fall fehlt ist die Zuweisung der Adresse mittels "address = ...", da über IP Multicast sonst keine Adresse zugewiesen ist.

                        Zitat von gibsonrocker Beitrag anzeigen
                        broadcast/datetime/outsidetemp = 4/0/106
                        das passt

                        Zitat von gibsonrocker Beitrag anzeigen
                        Der Witz ist, dass wenn ich die Gruppenadresse 4/0/106 (Outsidetemp) abfrage dann kommt in der ebusd.log auch ein Fehler. Die Verbindung zu KNX sollte also da sein. Deshalb glaube ich, ich check das Mapping nicht. Der Fehler "invalid argument" könnte ja auf einen Fehler im Datentyp hindeuten. Ich weiß es aber leider nicht. Ich komme nicht drauf.
                        das ist ja schon mal gut, dass bei ebusd die Anfrage von KNX ankommt. Wundert mich jetzt allerdings, weil ebusd in der Konfiguration bei Dir jetzt gar keine eigene Adresse in KNX haben dürfte und insofern auch gar nicht antworten kann. Aber das klärt sich vielleicht mit den Antworten auf meine Fragen oben.

                        Allerdings hast Du noch einen kleinen Fehler in ebusd aufgedeckt, nämlich dass broadcast Nachrichten ja nicht aktiv vom eBUS abgerufen werden können. Das hab ich übersehen. Als Workaround müsstest Du ebusd noch einen Startparameter "--knxrage=9999" oder so mitgeben, damit der Cache für die Antwort erstmal reicht.

                        VG John

                        Kommentar


                          Hi John, Danke für Deine Antwort. Ich melde mich in den nächsten Tagen. Ich muss/will mir dafür Zeit nehmen. Ich versuche so schnell wie möglich alles zu checken.

                          Danke Dir.
                          vg, Bernd

                          Kommentar


                            Hallo John,

                            entschuldige die verspätete Rückmeldung. Es funktioniert jetzt seit 2 Tagen! Das Hauptproblem dürfte gewesen sein, dass ich die Adresse nicht vergeben hatte.

                            Ich habe mich in dem Zuge auch entschieden komplett von meinem Windows-Host mit Virtual Box weg zu gehen und habe jetzt einen ProxMox-Server und ebusD in einem LXC-Container laufen und Debian.

                            Seither läuft es. Das Grundproblem war aber sicher mein Unwissen über das Zusammenspiel ebusD <-> knxD. Und die Fehler die Du mir genannt hast.

                            Danke für Deine Hilfe!

                            Leider bin ich nur ein Stück weiter bzw. ich habe noch Fragen.

                            1.
                            Ich kann im knx.cfg-File Gruppenadressen eintragen und diese auch per ETS abfragen. Es kommt dann auch die "richtige" Antwort aus dem ebus zu KNX. Sehr cool!

                            Die Outsidetemperatur wird ja ständig im EBUS "geupdatet". Der Wert geht aber nicht "von alleine" Richtung KNX. Abrufen geht. Von selbst kommt nichts.

                            Sollten nicht auch Daten von selbst Richtung KNX geschrieben werden wenn diese vom EBUS kommen?

                            2.
                            Wie kann ich Daten von KNX auf den EBUS schreiben? Schreibe ich nur den Wert über die Gruppenadresse und EBUSD macht dann den Rest? Also z.B. bei "Speicher-Wunschtemperatur" schreibe ich auf die KNX-Gruppenadresse "nur" eine "50" (wenn ich 50 Grad will). Muss ich noch was beachten?

                            vg, Bernd

                            Kommentar


                              Zitat von gibsonrocker Beitrag anzeigen
                              1.
                              Die Outsidetemperatur wird ja ständig im EBUS "geupdatet". Der Wert geht aber nicht "von alleine" Richtung KNX. Abrufen geht. Von selbst kommt nichts.

                              Sollten nicht auch Daten von selbst Richtung KNX geschrieben werden wenn diese vom EBUS kommen?
                              eigentlich schon, allerdings auch nur, wenn sich der Wert wirklich ändert.

                              Zitat von gibsonrocker Beitrag anzeigen
                              2.
                              Wie kann ich Daten von KNX auf den EBUS schreiben? Schreibe ich nur den Wert über die Gruppenadresse und EBUSD macht dann den Rest? Also z.B. bei "Speicher-Wunschtemperatur" schreibe ich auf die KNX-Gruppenadresse "nur" eine "50" (wenn ich 50 Grad will). Muss ich noch was beachten?
                              genau so. man muss natürlich auf den Datentyp achten. Am einfachsten mal nen Wert abholen, dann sieht man ja schon das Format.

                              Kommentar


                                Hallo,
                                ich hänge mich mal hier mit rein, da ich auch gerade versuche den ebusd mit KNX zum kommunizieren zu bringen.
                                Als erstes nochmal vielen Dank für die hervorragende Arbeit an diesem Projekt!

                                Ich nutze dafür IP/muticast.
                                Leider gelingt es mir nicht, die Kommunikation von selbst verknüpften Gruppenadressen und Ebus-Nachrichten in Gang zu bekommen.
                                Die Kommunikation der globalen Ebusd Infos (running/Version...) funktioniert. Beim Start des ebusd sehe ich diese auf dem KNX, auch das Lesen vom KNX funktioniert.
                                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?
                                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
                                2022-10-12 21:18:12.106 [knx debug] received unsubscribed write from 100c to 9206, len 2
                                2022-10-12 21:18:12.142 [knx debug] received unsubscribed write from 100c to 9208, len 2
                                2022-10-12 21:18:12.177 [knx debug] received unsubscribed write from 100c to 920a, len 2
                                2022-10-12 21:18:12.212 [knx debug] received unsubscribed write from 100c to 920c, len 2
                                ...
                                2022-10-12 21:18:12.247 [knx debug] received unsubscribed write from 100c to 9210, len 2
                                2022-10-12 21:18:12.284 [knx debug] received unsubscribed write from 100c to 9200, len 2
                                2022-10-12 21:18:12.320 [knx debug] received unsubscribed write from 100c to 9202, len 2
                                2022-10-12 21:18:12.533 [knx debug] received unsubscribed write from 100d to 9214, len 2
                                2022-10-12 21:18:12.556 [knx debug] received unsubscribed write from 1065 to 8100, len 4
                                ...
                                2022-10-12 21:18:13.684 [knx debug] received unsubscribed write from 1036 to 9309, len 2
                                2022-10-12 21:18:13.720 [knx debug] received unsubscribed write from 1036 to 930b, len 2
                                ...
                                2022-10-12 21:18:17.413 [knx debug] received unsubscribed write from 1036 to 9301, len 2
                                ...
                                2022-10-12 21:18:19.838 [knx debug] received unsubscribed write from 1101 to 1101, len 4
                                ...
                                2022-10-12 21:18:19.939 [knx debug] received unsubscribed write from 1101 to 110b, len 4
                                2022-10-12 21:18:20.040 [knx debug] received unsubscribed write from 1101 to 1115, len 4
                                ...
                                2022-10-12 21:18:24.417 [knx debug] received unsubscribed write from 1036 to 9305, len 2
                                ....
                                2022-10-12 21:18:26.573 [knx debug] received unsubscribed write from 1036 to 9302, len 2
                                2022-10-12 21:18:26.662 [knx debug] received unsubscribed write from 1008 to 8106, len 3
                                2022-10-12 21:18:27.571 [knx debug] received unsubscribed write from 1036 to 9307, len 2
                                ...
                                2022-10-12 21:18:27.928 [knx debug] received unsubscribed write from 10a9 to 8c01, len 4
                                2022-10-12 21:18:28.236 [knx debug] received unsubscribed write from 100d to 9216, len 2
                                ...
                                2022-10-12 21:18:30.096 [knx debug] received subscribed read from 10fb to 0a04, len 2
                                2022-10-12 21:18:30.096 [knx debug] sent response, dest 0a04, len 4
                                2022-10-12 21:18:30.601 [knx debug] received unsubscribed write from 1036 to 930e, len 2
                                ...
                                2022-10-12 21:18:30.925 [knx debug] received unsubscribed write from 100d to 9212, len 2
                                ....
                                2022-10-12 21:18:32.071 [knx debug] received unsubscribed write from 100c to 9204, len 2
                                2022-10-12 21:18:32.106 [knx debug] received unsubscribed write from 100c to 9206, len 2
                                2022-10-12 21:18:32.142 [knx debug] received unsubscribed write from 100c to 9208, len 2
                                2022-10-12 21:18:32.177 [knx debug] received unsubscribed write from 100c to 920a, len 2
                                2022-10-12 21:18:32.213 [knx debug] received unsubscribed write from 100c to 920c, len 2
                                2022-10-12 21:18:32.248 [knx debug] received unsubscribed write from 100c to 9210, len 2
                                2022-10-12 21:18:32.285 [knx debug] received unsubscribed write from 100c to 9200, len 2
                                2022-10-12 21:18:32.321 [knx debug] received unsubscribed write from 100c to 9202, len 2
                                2022-10-12 21:18:32.561 [knx debug] received unsubscribed write from 100d to 9214, len 2
                                ...
                                2022-10-12 21:18:33.692 [knx debug] received unsubscribed write from 1036 to 9309, len 2
                                2022-10-12 21:18:33.729 [knx debug] received unsubscribed write from 1036 to 930b, len 2
                                ...
                                2022-10-12 21:18:36.969 [knx debug] received unsubscribed write from 100f to 930f, len 2
                                ....
                                2022-10-12 21:18:44.437 [knx debug] received unsubscribed write from 1036 to 9305, len 2
                                ....
                                2022-10-12 21:18:46.591 [knx debug] received unsubscribed write from 1036 to 9302, len 2
                                2022-10-12 21:18:47.444 [knx debug] received unsubscribed write from 1036 to 9301, len 2
                                ...
                                2022-10-12 21:18:48.249 [knx debug] received unsubscribed write from 100d to 9216, len 2
                                ...
                                2022-10-12 21:18:50.938 [knx debug] received unsubscribed write from 100d to 9212, len 2
                                ...
                                2022-10-12 21:18:52.079 [knx debug] received unsubscribed write from 100c to 9204, len 2
                                2022-10-12 21:18:52.115 [knx debug] received unsubscribed write from 100c to 9206, len 2
                                2022-10-12 21:18:52.150 [knx debug] received unsubscribed write from 100c to 9208, len 2
                                2022-10-12 21:18:52.185 [knx debug] received unsubscribed write from 100c to 920a, len 2
                                2022-10-12 21:18:52.222 [knx debug] received unsubscribed write from 100c to 920c, len 2
                                2022-10-12 21:18:52.258 [knx debug] received unsubscribed write from 100c to 9210, len 2
                                2022-10-12 21:18:52.293 [knx debug] received unsubscribed write from 100c to 9200, len 2
                                2022-10-12 21:18:52.330 [knx debug] received unsubscribed write from 100c to 9202, len 2
                                2022-10-12 21:18:52.574 [knx debug] received unsubscribed write from 100d to 9214, len 2
                                
                                ​
                                Hier die KNX.cgf (gekürzt)
                                Code:
                                # Configuration file for ebusd KNX integration with knxd (https://github.com/knxd/knxd).
                                [...]
                                # the own individual address (only relevant when running in KNXnet/IP mode)
                                address = 2.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 = 1/2/3
                                # version: 2 octets, major in MSB, minor in LSB, DPT 217.001 "DPT_Version"
                                global/version = 1/2/4
                                # signal: 1 bit, 1=signal acquired, DPT 1.002
                                global/signal = 1/2/5
                                # uptime: 4 octets int, seconds since start, sent once every hour, DPT 12.100
                                global/uptime = 1/2/6
                                # updatecheck: 1 bit, 1=update available, DPT 1.002
                                global/updatecheck = 1/2/7
                                # scan: 1 bit, 1=running, DPT 1.002
                                global/scan = 1/2/8
                                
                                # the message field value group assignments by circuit/message/field name.
                                # the value coding depends on the field datatype and currently only numeric datatypes are supported.
                                [...]
                                #
                                # note: the mapping for reads/writes from KNX is done as follows:
                                # - for KNX read, the precedence on picking the ebus message is: active read, passive read+write.
                                # - for KNX write, the precedence on picking the ebus message is: active write only.
                                broadcast/outsidetemp/ = 1/1/7
                                hc/sumflowsensor/ = 1/1/8
                                
                                ​

                                Kommentar

                                Lädt...
                                X