Ankündigung

Einklappen
Keine Ankündigung bisher.

Raspberry Image Version 2.2 mit SmarthomeNG 1.5.1

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

    Vor dem „Bitte committen oder stashen sie Ihre Änderungen bevor sie mergen! kommt ja normalerweise noch mehr Info.
    Aber wie gesagt, einfach Sicherheitskopie machen und dann git stash und dann die Updates ausführen.

    Kommentar


      Sisamiwe Ich habe bei mir das Mosquitto Logging übrigens umgestellt, da die Sekundenangabe im Log nervt.. Habe Folgendes in /etc/mosquitto/mosquitto.conf eingetragen:
      Code:
      log_dest syslog
      log_type notice
      log_facility 0
      log_timestamp false
      Und /etc/rsyslog.d/mosquitto.conf:
      Code:
      template(name="FileFormat_timestamp" type="string" string= "%TIMESTAMP% %HOSTNAME% %syslogtag%%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n")
              if $programname == 'mosquitto' or $msg contains 'Mosquitto' then {
                action(type="omfile" file="/var/log/mosquitto/mosquitto.log" template="FileFormat_timestamp")
                stop
              }
      rsyslog und mosquitto neu starten. Jetzt könnte man sich auch den Unterordner mosquitto für das Log sparen..

      Kommentar


        Sie haben neue Post in /var/mail/smarthome

        Woher kommt diese Meldung?

        Der genannte Pfad ist nicht vorhanden. Ich hab keine Ahnung wer die Post verteilt!
        Wer hat einen Hinweis für mich?

        Kommentar


          schloessl cat /var/mail/smarthome
          Dann siehst du den Inhalt. Ich vermute, dass hier der Log vom Reboot drin ist, du kannst die Datei auch einfach löschen.

          Kommentar


            Hallo!

            Vielen Dank für die ganze Arbeit mit dem neuen Image! Ich wollte endlich mal von smarthome.py auf NG umstellen und habe das aktuellste Image auf eine neue SD-Karte gepackt. Ich nutze das Ganze auf einem Raspberry 1 mit dem Busware KNX TPUART interface (sieht aber ein bisschen anders aus als die aktuelle Version auf busware.de).

            Leider bekomme ich den knxd nicht an den Start.

            Code:
             [smarthome@SmartHomeNG ~]$ sudo systemctl status knxd.service
            ● knxd.service - KNX Daemon
               Loaded: loaded (/lib/systemd/system/knxd.service; enabled; vendor preset: enabled)
               Active: activating (auto-restart) (Result: exit-code) since Wed 2018-01-03 23:53:15 CET; 6s ago
              Process: 757 ExecStart=/usr/bin/knxd $KNXD_OPTS (code=exited, status=2)
             Main PID: 757 (code=exited, status=2)
            
            Jan 03 23:53:15 SmartHomeNG systemd[1]: Failed to start KNX Daemon.
            Jan 03 23:53:15 SmartHomeNG systemd[1]: knxd.service: Unit entered failed state.
            Jan 03 23:53:15 SmartHomeNG systemd[1]: knxd.service: Failed with result 'exit-code'.
            Habe mich schon durch die Anleitungen gekämpft (https://sourceforge.net/p/smarthomen...age/wiki/knxd/ und http://smarthomeng.de/user/installat...-konfigurieren), komme aber nicht weiter.

            Aktuelle knxd.ini:
            Code:
            KNXD_OPTS="-DTRS -t 0xffc -f 9 -b tpuarts:/dev/ttyKNX1"
            [A.tcp]
            server = knxd_tcp
            systemd-ignore = true
            [B.ipt]
            driver = ipt
            filters = C.pace
            ip-address = 10.0.0.101
            [C.pace]
            delay = 30
            filter = pace
            [main]
            addr = 1.1.75
            client-addrs=1.1.76:8
            cache = D.cache
            connections = A.tcp,B.ipt
            systemd = systemd
            Udevadm info zeigt folgendes - wird das Device überhaupt erkannt?
            Code:
             [smarthome@SmartHomeNG ~]$ sudo udevadm info -a /dev/ttyAMA0
            
            Udevadm info starts with the device specified by the devpath and then
            walks up the chain of parent devices. It prints for every device
            found, all possible attributes in the udev rules key format.
            A rule to match, can be composed by the attributes of the device
            and the attributes from one single parent device.
            
              looking at device '/devices/platform/soc/20201000.serial/tty/ttyAMA0':
                KERNEL=="ttyAMA0"
                SUBSYSTEM=="tty"
                DRIVER==""
                ATTR{close_delay}=="50"
                ATTR{closing_wait}=="3000"
                ATTR{custom_divisor}=="0"
                ATTR{flags}=="0x10000000"
                ATTR{io_type}=="2"
                ATTR{iomem_base}=="0x20201000"
                ATTR{iomem_reg_shift}=="0"
                ATTR{irq}=="81"
                ATTR{line}=="0"
                ATTR{port}=="0x0"
                ATTR{type}=="32"
                ATTR{uartclk}=="0"
                ATTR{xmit_fifo_size}=="16"
            
              looking at parent device '/devices/platform/soc/20201000.serial':
                KERNELS=="20201000.serial"
                SUBSYSTEMS=="amba"
                DRIVERS=="uart-pl011"
                ATTRS{driver_override}==""
                ATTRS{id}=="00241011"
                ATTRS{irq0}=="81"
            
              looking at parent device '/devices/platform/soc':
                KERNELS=="soc"
                SUBSYSTEMS=="platform"
                DRIVERS==""
                ATTRS{driver_override}=="(null)"
            
              looking at parent device '/devices/platform':
                KERNELS=="platform"
                SUBSYSTEMS==""
                DRIVERS==""

            Auf dem alten smarthome.py Image läuft das Interface (noch über eibd) problemlos. Da ist die Konfiguration auch ein bisschen einfacher...
            Code:
            EIB_ARGS="--daemon --Server --Tunnelling --Discovery --GroupCache --listen-tcp"
            EIB_ADDR="0.0.1"
            EIB_IF="tpuarts:/dev/ttyAMA0"
            Hier liefert Udevadm info übrigens folgendes:
            Code:
            admin@smarthome:/$ sudo udevadm info -a --name=/dev/ttyAMA0
            
            Udevadm info starts with the device specified by the devpath and then
            walks up the chain of parent devices. It prints for every device
            found, all possible attributes in the udev rules key format.
            A rule to match, can be composed by the attributes of the device
            and the attributes from one single parent device.
            
              looking at device '/devices/dev:f1/tty/ttyAMA0':
                KERNEL=="ttyAMA0"
                SUBSYSTEM=="tty"
                DRIVER==""
                ATTR{irq}=="83"
                ATTR{line}=="0"
                ATTR{port}=="0x0"
                ATTR{type}=="32"
                ATTR{flags}=="0x10002000"
                ATTR{iomem_base}=="0x20201000"
                ATTR{custom_divisor}=="0"
                ATTR{iomem_reg_shift}=="0"
                ATTR{uartclk}=="3000000"
                ATTR{xmit_fifo_size}=="16"
                ATTR{close_delay}=="50"
                ATTR{closing_wait}=="3000"
                ATTR{io_type}=="2"
            
              looking at parent device '/devices/dev:f1':
                KERNELS=="dev:f1"
                SUBSYSTEMS=="amba"
                DRIVERS=="uart-pl011"
                ATTRS{id}=="00341011"
                ATTRS{irq0}=="83"
            Um ein wenig Schützenhilfe wäre ich also dankbar!
            Ich schmeiß jetzt mal wieder die alte SD-Karte rein, sonst geht im Haus nur die Hälfte ;-)

            Vielen Dank!
            Zuletzt geändert von Acidrain; 04.01.2018, 00:13.

            Kommentar


              Die ini Datei ist mal falsch.. Die sollte so aussehen:
              Code:
              [A.tpuarts]
              debug = debug-A.tpuarts
              device = /dev/ttyKNX1
              driver = tpuart
              [debug-A.tpuarts]
              error-level = 0x9
              trace-mask = 0xffc
              [debug-server]
              name = mcast:knxd
              [main]
              connections = server,A.tpuarts
              systemd = systemd
              [server]
              debug = debug-server
              discover = true
              router = router
              server = ets_router
              tunnel = tunnel
              Hier müsstest du auch ein bisschen Hilfe finden:
              https://sourceforge.net/p/smarthomen...age/wiki/knxd/

              Gerade was die udev-Rule anlangt. Auch hier im Thread findest du Infos zum TPUART Interface.

              Kommentar


                Hallo Onkelandy (und andere interessierte Mitleser)

                Nach langem Herumprobieren hat es endlich geklappt.

                In etc/knxd.conf habe ich folgendes eingetragen:
                Code:
                KNXD_OPTS="-e 1.1.61 -E 1.1.62:8 -D -T -R -S -f9 -B log -t 1023 -b tpuarts:/dev/ttyAMA0"
                Das Mapping auf ttyKNX1 hat trotz aller Bemühungen nicht funktioniert. Daher habe ich das auf ttyAMA0 gelassen und alles ausgeschaltet, was sonst darauf gehen könnte, z.B. Getty

                Code:
                sudo systemctl disable serial-getty@ttyAMA0.service
                /etc/udev/rules.d/70-knxd.rules sieht nun wie folgt aus:
                Code:
                ACTION=="add", SUBSYSTEM=="tty", ATTRS{id}=="00241011", KERNELS=="20201000.serial", SYMLINK+="ttyKNX1", OWNER="knxd"

                Kommentar


                  Hi Acidrain

                  Das Disablen des serial-getty ist im Image eigentlich schon erledigt, siehe hier Zeile 113: https://github.com/smarthomeNG/ansib.../01_Tweaks.yml
                  Wenn du in den KNXD_OPTS nicht auf ttyKNX1 zugreifst, kannst du dir die Rule auch sparen

                  Welche Hardware nutzt du denn? Bitte um Link.
                  Offenbar wird bei dir der Kernel unter serial und nicht uart gelistet wie beim Beispiel im Wiki.
                  Gibt es das Device /dev/ttyKNX1? Es müsste, wenn du ls /dev/tty* machst, angezeigt werden und auf ttyAMA0 mit einem Pfeil verweisen. Hast du einen Neustart gemacht?

                  Deine Befehlszeile ist praktisch ident mit der aus meinem Wiki:
                  Code:
                  KNXD_OPTS="-DTRS -t 0xffc -f 9 -b tpuarts:/dev/ttyKNX1"
                  Die Frage ist, ob es das -e und -E unbedingt braucht. Falls ja, werde ich das im Wiki ergänzen.

                  Und was passiert jetzt genau, wenn du folgenden Befehl ausführst:
                  Code:
                  [B]/usr/lib/knxd_args [/B]-e 1.1.61 -E 1.1.62:8 -D -T -R -S -f9 -B log -t 1023 -b tpuarts:/dev/ttyAMA0
                  und das Resultat in die ini Datei schreibst?

                  Dann bitte noch in der conf Datei den alten Eintrag rein geben, damit auf die ini verwiesen wird.
                  Code:
                  KNXD_OPTS=/etc/knxd.ini
                  und knxd neu starten:
                  Code:
                  systemctl stop knxd.socket
                  systemctl stop knxd.service
                  systemctl start knxd.socket
                  systemctl start knxd.service
                  Zuletzt geändert von Onkelandy; 04.01.2018, 17:41.

                  Kommentar


                    Hi Onkelandy

                    Vielen Dank! Das mit der ini-Datei werde ich auf jeden Fall mal ausprobieren, habe aber vermutlich erst am Wochenende Zeit.

                    Zu deinen Fragen:

                    Zitat von Onkelandy Beitrag anzeigen
                    Welche Hardware nutzt du denn? Bitte um Link.
                    Den Vorgänger vom Busware-ROT, gekauft 2014: http://busware.de/tiki-index.php?page=ROT

                    Zitat von Onkelandy Beitrag anzeigen
                    Gibt es das Device /dev/ttyKNX1? Es müsste, wenn du ls /dev/tty* machst, angezeigt werden und auf ttyAMA0 mit einem Pfeil verweisen. Hast du einen Neustart gemacht?
                    Auch nach diversen Neustarts hat es nicht funktioniert. Weder gab es das Device /dev/ttyKNX1 noch die Weiterleitung auf ttyAMA0...

                    Zitat von Onkelandy Beitrag anzeigen
                    Die Frage ist, ob es das -e und -E unbedingt braucht. Falls ja, werde ich das im Wiki ergänzen.
                    Bei mir hat der knxd gemeckert (invalid arguments, address missing). Daher habe ich die entsprechenden Daten eingefügt.

                    Zu den anderen Sachen werde ich berichten, wenn ich getestet habe!

                    Kommentar


                      Alles klar, danke. Hab das Wiki entsprechend leicht abgeändert: https://sourceforge.net/p/smarthomen...age/wiki/knxd/
                      Vielleicht kannst du auch beim knxd Wiki anklopfen, dass die eine oder andere Anpassung nötig wäre.

                      Kommentar


                        So, ich hab jetzt mal mit diversen Settings rumprobiert.

                        Ich habe folgende knxd.ini Einträge generiert

                        Code:
                        [A.tpuarts]
                        debug = debug-A.tpuarts
                        device = /dev/ttyAMA0
                        driver = tpuart
                        filters = log
                        [debug-A.tpuarts]
                        error-level = 0x9
                        trace-mask = 0x3ff
                        [debug-server]
                        name = mcast:knxd
                        [main]
                        addr = 1.1.254
                        client-addrs = 1.1.255:8
                        connections = server,A.tpuarts
                        systemd = systemd
                        [server]
                        debug = debug-server
                        discover = true
                        router = router
                        server = ets_router
                        tunnel = tunnel
                        Da bekomme ich aber folgenden Fehler
                        Code:
                        -- Unit knxd.service has begun starting up.
                        Jan 06 22:41:03 SmartHomeNG knxd[1116]: E00000055: [ 1:main] There is no KNX addr= in section 'main'.
                        Jan 06 22:41:03 SmartHomeNG knxd[1116]: F00000000: [ 1:main] Error setting up the KNX router.
                        Jan 06 22:41:03 SmartHomeNG systemd[1]: knxd.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
                        Jan 06 22:41:03 SmartHomeNG systemd[1]: Failed to start KNX Daemon.
                        Daher wieder umgestellt auf knxd.conf
                        Code:
                        KNXD_OPTS="-e 1.1.254 -E 1.1.255:8 -D -T -R -S -f9 -B log -t 1023 -b tpuarts:/dev/ttyAMA0"
                        (kannst du evtl. im Wiki aktualisieren, die Adressbereiche 1.1.254-255 sind denke ich als Dummywerte in jeder Installation noch frei...

                        Zur Device Frage und den udev rules, ist das evtl ein Problem, dass hier schon ein Redirect existiert?
                        Code:
                        lrwxrwxrwx 1 root root           7 Jan  4 17:14 serial0 -> ttyAMA0
                        Viele Grüße
                        Dominik

                        Kommentar


                          Der andere Symlink kann kein Problem sein. Der addr Fehler kommt mir sonderbar vor. Im Prinzip ist ja alles kein wirkliches Problem, aber vielleicht postest du deinen letzten Beitrag auch noch in den knxd Thread von Smurf.

                          Kommentar


                            Onkelandy
                            Eine kurze Frage:

                            Kann man knxd damit immer noch auf den neuesten Stand bringen?

                            Code:
                            If you feel the urge to update follow these steps:
                            [B]sudo -i
                            git clone [URL]https://github.com/knxd/knxd.git[/URL]
                            cd /root/knxd
                            dpkg-buildpackage -b -uc
                            cd ..
                            sudo dpkg -i knxd_*.deb knxd-tools_*.deb
                            [/B]


                            Und wenn ja, wärst Du so nett, und kannst Du mir das kurz erklären was da passiert? Ich habe unter /root/ keinen Ordner knxd
                            Oder war das bei den vorherigen Images anders?

                            Kommentar


                              schuma in früheren Versionen war das Prozedere leicht anders, aber das Konzept ist das Gleiche..
                              sudo -i -> du kannst Befehle als root ausführen, ansonsten gibt es Rechteprobleme.
                              git clone -> Es wird die aktuellste Version vom Online-Repo von smurf gezogen. Das Verzeichnis knxd wird automatisch im Ordner root angelegt.
                              dpkg-build -> es wird der Sourcecode zu einem Debianpackage (Installationsdatei) kompiliert
                              sudo dpkg -i -> Es werden die Installationsdateien installiert, alte Versionen von knxd werden überschrieben.

                              Kommentar


                                Ok, vielen Dank.
                                kannst Du Dich noch erinnern ab welchem Image diese Vorgehensweise anzuwenden ist?
                                Ich weiß nicht mehr welches ich da zuletzt genommen habe. Ist auf jeden Fall schon KNXD 14.xxx

                                Kommentar

                                Lädt...
                                X