Ankündigung

Einklappen
Keine Ankündigung bisher.

knxd.ini wird mit systemd nicht genutzt

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

    knxd.ini wird mit systemd nicht genutzt

    Hi,

    komm bei der Konfiguration von KNXD nicht weiter. KNXD Dienst wird per `systemd` nach einem Neustart gestartet. Aber wie man sieht nicht mit meiner Konfiguration aus knxd.ini sondern mit default Werten.

    Code:
    [root@Edomi ~]# systemctl status knxd
    ● knxd.service - KNX Daemon
       Loaded: loaded (/usr/lib/systemd/system/knxd.service; enabled; vendor preset: disabled)
       Active: active (running) since Fri 2024-05-24 14:58:56 CEST; 2min 44s ago
     Main PID: 342 (knxd)
        Tasks: 1 (limit: 204170)
       Memory: 3.2M
       CGroup: /system.slice/knxd.service
               └─342 /usr/local/bin/knxd -e 0.0.1 -E 0.0.2:8 -u /tmp/eib -b ip:
    
    Mai 24 14:58:56 Edomi systemd[1]: Starting KNX Daemon...
    Mai 24 14:58:56 Edomi systemd[1]: Started KNX Daemon.
    [root@Edomi ~]#​
    Code:
    [root@Edomi ~]# knxd --version
    knxd 0.14.61​
    /etc/knxd.conf
    Code:
    KNXD_OPTS=/etc/knxd.ini
    /etc/knxd.ini
    Code:
    [main]
    addr = 1.0.200
    client-addrs = 1.0.201:5
    connections = server,A.tcp,interface
    background = true
    
    [A.tcp]
    server = knxd_tcp
    
    [server]
    server = ets_router
    tunnel = tunnel
    router = router
    discover = true
    name = knxd
    debug = debug-server
    
    [debug]
    error-level = warning
    
    [interface]
    driver = ipt
    ip-address = 192.168.0.5
    filters = single
    
    [debug-server]
    name = mcast:knxd​
    Wenn ich den Service beende:
    `systemctl stop knxd.socket`
    `systemctl stop knxd.service`

    Und manuell starte:
    `knxd /etc/knxd.ini` wird meine `/etc/knxd.ini` genutzt und die Schnittstelle wird in der ETS gefunden.

    Was habe ich falsch gemacht?
    Zuletzt geändert von GermanSniper; 27.05.2024, 12:08.

    #2
    Wie lautet denn der Pfad für EnvironmentFile in deinem /usr/lib/systemd/system/knxd.service ?
    EIB/KNX, VISU mit knxd + linknx + knxweb, Steuerbefehle via SMS und Email mit postfix + procmail

    Kommentar


      #3
      Zitat von Tru Beitrag anzeigen
      Wie lautet denn der Pfad für EnvironmentFile in deinem /usr/lib/systemd/system/knxd.service ?
      EnvironmentFile war nicht richtig. Hab den Pfad auf mein knxd.conf angepasst.

      Code:
      [Unit]
      Description=KNX Daemon
      After=network.target knxd.socket
      Requires=knxd.socket
      
      [Service]
      EnvironmentFile=/etc/knxd.conf
      ExecStart=/usr/local/bin/knxd $KNXD_OPTS
      User=knxd
      Group=knxd
      Type=notify
      
      Restart=on-failure
      RestartSec=10
      
      [Install]
      WantedBy=multi-user.target network-online.target
      Also=knxd.socket​
      Nun erhalte ich einen Fehler beim Start des Service:

      Code:
      [root@Edomi bin]# systemctl status knxd
      ● knxd.service - KNX Daemon
         Loaded: loaded (/usr/lib/systemd/system/knxd.service; enabled; vendor preset: disabled)
         Active: activating (auto-restart) (Result: exit-code) since Fri 2024-05-24 19:35:39 CEST; 756ms ago
        Process: 1384 ExecStart=/usr/local/bin/knxd $KNXD_OPTS (code=exited, status=2)
       Main PID: 1384 (code=exited, status=2)
      
      Mai 24 19:35:39 Edomi systemd[1]: knxd.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
      Mai 24 19:35:39 Edomi systemd[1]: knxd.service: Failed with result 'exit-code'.
      Mai 24 19:35:39 Edomi systemd[1]: Failed to start KNX Daemon.​
      `$KNXD_OPTS` sollte er sich nun aus `/etc/knxd.conf` holen. Sollte ich mit `echo $KNXD_OPTS` den hinterlegten Wert erhalten?

      Kommentar


        #4
        Du hast im /etc/knxd.conf: KNX_OPTS=/etc/knxd.ini - das passt nicht auf $KNXD_OPTS
        EIB/KNX, VISU mit knxd + linknx + knxweb, Steuerbefehle via SMS und Email mit postfix + procmail

        Kommentar


          #5
          Zitat von Tru Beitrag anzeigen
          Du hast im /etc/knxd.conf: KNX_OPTS=/etc/knxd.ini - das passt nicht auf $KNXD_OPTS
          Hab die Datei angepasst.

          /etc/knxd.conf
          Code:
          KNXD_OPTS=/etc/knxd.ini
          Erhalte aber immer noch den Fehler. Mir wird der Wert der Variable auch nicht angezeigt.

          Code:
          [root@Edomi ~]# $KNXD_OPTS
          [root@Edomi ~]#​
          Code:
          [root@Edomi ~]# systemctl status knxd
          ● knxd.service - KNX Daemon
             Loaded: loaded (/usr/lib/systemd/system/knxd.service; enabled; vendor preset: disabled)
             Active: activating (auto-restart) (Result: exit-code) since Mon 2024-05-27 13:06:53 CEST; 6s ago
            Process: 938 ExecStart=/usr/local/bin/knxd $KNXD_OPTS (code=exited, status=2)
           Main PID: 938 (code=exited, status=2)
          
          Mai 27 13:06:53 Edomi systemd[1]: knxd.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
          Mai 27 13:06:53 Edomi systemd[1]: knxd.service: Failed with result 'exit-code'.
          Mai 27 13:06:53 Edomi systemd[1]: Failed to start KNX Daemon.​

          Kommentar


            #6
            Du hast "systemctl daemon-reload" gemacht?

            Vielleicht verwendest du mal "journalctl -uknxd -n30" um auch anzeigen zu lassen was der knxd tatsächlich gemeckert hat, statt im Nebel herumzustochern?
            DistKV, Home Assistant, 1wire, KNX, Python, Asterisk, SMD-Lötkolben

            Kommentar


              #7
              Zitat von Smurf Beitrag anzeigen

              Vielleicht verwendest du mal "journalctl -uknxd -n30" um auch anzeigen zu lassen was der knxd tatsächlich gemeckert hat, statt im Nebel herumzustochern?
              Damit hab ich dann eine vernünftige Fehlermeldung erhalten. die Konfiguration in der knxd.ini war falsch. Hier nun die angepasste Version:


              Code:
              [main]
              addr = 1.0.200
              client-addrs = 1.0.201:5
              connections = server,interface
              
              [server]
              server = ets_router
              tunnel = tunnel
              router = router
              discover = true
              name = knxd
              debug = debug-server
              
              [debug]
              error-level = warning
              
              [interface]
              driver = ipt
              ip-address = 192.168.0.5
              filters = single
              
              [debug-server]
              name = mcast:knxd​
              Damit klappt der Zugriff mit ETS und mit EDOMI. Danke für die Unterstützung.

              Kommentar

              Lädt...
              X