Ankündigung

Einklappen
Keine Ankündigung bisher.

OpenWRT - EIBD - Linknx - PHP

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

    #76
    Init 2 und init3 sind die entsprechenden runlevel (http://de.wikipedia.org/wiki/Runlevel)

    Je nach dem, in welchem RL dein Script gestartet werden soll (oder gar global - in allen RL) muss es in die entsprechenden rc.conf rein (heissen bei fast jeder Distri anders - ich arbeite mit OpenSuSe.)

    Kommentar


      #77
      Zitat von cni Beitrag anzeigen
      Was genau hat sich bei der Version eigentlich geändert (und ist das auch schon dokumentiert)?
      Extract from the Changelog:
      * Add logging capabilities
      * Add support for SMTP auth
      * Move config and persistence files to FHS compliant locations
      * Allow user to tell if/where the config is written when linknx is stopped
      * Added linknx.spec file to be able to build rpm with command "rpmbuild -ta linknx-0.0.1.22.tar.gz"
      * Allow comparisons (<, >, >=, <=, <>, ==) for conditions on object values

      Now, config and persistence files are stored under /var/lib/linknx by default. This has no impact on your system if you specify it on the command line.
      Previously, a file lastconfig.xml was written in the current directory when linknx was stopped. Now you can control if/where it's written with the -w command line option.
      I also added a functionality allowing to log object values in files (one file by group object)
      Unfortunately, I didn't have the time to document everything in the wiki.

      The full changelog can be found here:
      http://linknx.cvs.sourceforge.net/li...og?view=markup


      Zitat von cni Beitrag anzeigen
      Wann kommt Support für MySQL Datenbanken?
      What should this Mysql driver do exactly?
      What I could do with a reasonably small effort is put the object value in a table everytime it changes. More or less like the logfile functionality introduced in 0.0.1.22, but in a database table with a structure like "timestamp - object_id - string_value".

      Kind regards,

      Jean-François

      Kommentar


        #78
        Zitat von NetFritz Beitrag anzeigen
        Vielleicht kannst Du ja mal auch ein Paket für "fsg3v4" und N148 IP machen.
        Dann kann ich mal die neue firmeware 4.3.8 für das FSG3 aufspielen.
        Hallo,

        Ich habe Paket für fsg3v4 probieren zu machen, aber leider ohne Erfolg.
        Wenn ich "crosstool" compiliert hab ich die folgende Fehler:
        /home/jef/dvp/optware/fsg3v4/toolchain/crosstool/build/armv5b-softfloat-linux/gcc-3.3.5-glibc-2.2.5/gcc-core-prefix/lib/gcc-lib/armv5b-softfloat-linux/3.3.5/../../../../armv5b-softfloat-linux/bin/ld: unrecognised emulation mode: armelf_linux
        Supported emulations: armelfb_linux armelfb
        collect2: ld returned 1 exit status

        Keine ahnung was falsch ist. Ich habe alles wie für fsg3 gemacht. :-(
        Wie mann Pakete macht ist hier erklärt (ersetzt ds101 durch fsg3v4):
        http://linknx.wiki.sourceforge.net/C...g+with+Optware

        Gruss,

        Jean-François

        Kommentar


          #79
          Zitat von jef2000 Beitrag anzeigen
          What should this Mysql driver do exactly?
          What I could do with a reasonably small effort is put the object value in a table everytime it changes. More or less like the logfile functionality introduced in 0.0.1.22, but in a database table with a structure like "timestamp - object_id - string_value".
          Hallo jef,

          ja genau so etwas ware gut!
          Die Werte, der Gruppenadressen, die empfangen werden, sollen in eine MySQL Datenbank-Tabelle abgelegt werden.
          Genau so, wie im Log-File.
          Die MySQL Zugangsdaten der Datenbank und der Tabellen-Name sollte in der linknx.xml Config-Datei mit untergebracht sein!

          Somit hat man die Möglichkeit, historische Werte des EIB auszuwerten, zB. für ein Temperatur-Verlauf Diagramm!
          Danke

          Gruß
          Christian

          Mein EIB-Projekte:
          EIB-Interface -> Siemens N148/21 IP-Schnittstelle
          EIBD -> FritzBox 7170 WLAN Router
          linKNX -> Synology DS101j NAS
          Visu -> eigene PHP-Seiten

          Kommentar


            #80
            Hallo
            @ Jean-François
            Ich habe Paket für fsg3v4 probieren zu machen, aber leider ohne Erfolg.
            Zu der Fehlermeldung kann ich auch nichts sagen.
            Werde sie mal im FSG3 Forum posten.

            @ cni
            Somit hat man die Möglichkeit, historische Werte des EIB auszuwerten, zB. für ein Temperatur-Verlauf Diagramm!
            Dafür kann ich Dir nur RRD-Tool empfehlen.
            RRD-Tool
            RRD-Tools speichert die Daten in einer eigenen Datenbank ab.
            Ich mache das so, das die Objekte die im Diagramm erscheinen sollen
            über cron jede Minute in der RRD-DB gespeichert werden.

            Gruss NetFritz
            KNX & Wago 750-849 ,Wiregate u. Cometvisu, iPad 3G 64GB.
            WP Alpha-Innotec WWC130HX (RS232-Moxa-LAN),Solaranlage für Brauchwasser und Heizung.
            PV-Anlage = SMA Webbox2.0 , SunnyBoy 4000TL, Sharp 4kWP

            Kommentar


              #81
              Zitat von cni Beitrag anzeigen
              Hallo jef,

              ja genau so etwas wäre gut!
              Die Werte, der Gruppenadressen, die empfangen werden, sollen in eine MySQL Datenbank-Tabelle abgelegt werden.
              Genau so, wie im Log-File.
              Die MySQL Zugangsdaten der Datenbank und der Tabellen-Name sollte in der linknx.xml Config-Datei mit untergebracht sein!
              Hallo,

              Ein test pakete mit mysql (kompiliert für Mysql 4.1.20) findest du hier:
              http://ouaye.net/linknx/optware-DS101/mysql-test/

              Im XML config:
              <persistence type="mysql" host="localhost" user="linknxtest" pass="" db="linknx_test" table="" logtable="log"/>

              Query executed by linknx is:
              INSERT INTO `<log_table>` (ts, object, value) VALUES (NOW(), '<object_id>','<value>');

              I tested it on a PC, works fine, but never tested on a router/NAS.
              Mysql tables I used for the test:
              CREATE TABLE `log` (
              `id` int(10) unsigned NOT NULL auto_increment,
              `ts` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
              `object` varchar(256) character set utf8 default NULL,
              `value` varchar(256) character set utf8 default NULL,
              PRIMARY KEY (`id`),
              KEY `object` (`object`)
              )

              Gruss,

              Jean-François

              Kommentar


                #82
                ich zuck' noch aus....

                Langsam bin ich am Verzweifeln...

                Ich bringe die eibd nicht zum Laufen auf meinen OpenWrt...

                Ich habe die serielle Schnittstelle nachgerüstet, einen RS232 Pegelwandler und wenn ich
                Code:
                echo "Test" > /dec/tts/0
                ausführe, habe ich am Terminal eine Reaktion und kann den Text sehen-> die schnittstelle funktioniert
                Ich will über die Schnittstelle und NICHT über einen IP/EIB Router zugreifen

                Setserial habe ich installiert, mit serial erhalte ich
                Code:
                root@OpenWrt:~# more /proc/tty/driver/serial
                serinfo:1.0 driver:5.05c revision:2001-07-08
                0: uart:16550A port:B8000300 irq:3 baud:19200 tx:23744 rx:16 brk:16 RTS|DTR
                1: uart:16550A port:B8000400 irq:3 baud:19171 tx:6324 rx:0 RTS|CTS|DTR|DSR|CD
                eibd ist gestartet, die lib's sind geladen
                Code:
                root@OpenWrt:~#  ldd /opt/usr/bin/eibd
                        libpthsem.so.20 => /lib/libpthsem.so.20 (0x2aaee000)
                        libuClibc++.so.0 => /lib/libuClibc++.so.0 (0x2ab41000)
                        libc.so.0 => /lib/libc.so.0 (0x2abad000)
                        libm.so.0 => /lib/libm.so.0 (0x2ac53000)
                        ld-uClibc.so.0 => /lib/ld-uClibc.so.0 (0x2aaa8000)
                und ps zeigt:
                Code:
                 1177 root        548 S   /opt/usr/bin/eibd -i -e 1.4.253 -d ft12:/dev/tts/0
                ist also gestartet und lauft...

                WIE ?? kann ich jetzt einen Wert auf den Bus senden, nach dem Wiki sollte es so funktionieren:
                Code:
                root@OpenWrt:~# # groupswrite ip:127.0.0.1  1/4/11 1
                Der Befehl wird komentarlos ausgeführt, am Busmonitor ist aber nichts zus ehen

                Ich finde auch die datei
                Code:
                "./vbusmonitor1"
                nirgends...

                Kann mir jemand einen Tip geben WAS ich zumTeu*fel falsch mache, oder fehlt noch irgendetwas....

                Ich möchte zuerst eibd korrekt installiert haben, bevor ich mit Linknx weitergehe, sonst ist die Fehlerdiagnose noch schwerer, aus diesem Grund habe ich auch die Schnittstelle zuerst installiert und getestet...
                EPIX
                ...und möge der Saft mit euch sein...
                Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

                Kommentar


                  #83
                  nicht verzweifeln!

                  Servus Epix,

                  nimm doch zum Fehlersuchen mal das -d aus Deinem eibd Startkommando (schaltet den Daemon ab, eibd bleibt im Vordergrund), um im Shell die eibd Nachrichten zu sehen. Probier's mal hiermit:

                  /usr/bin/eibd -i ft12:/dev/tts/0 -S -D -T -t5

                  Dann einfach eine neue SSH Sitzung zum WRT aufbauen und im neuen Shell Dein Groupwrite Kommando absetzen. Nimm doch einfach mal eine GA, die ein Licht schaltet, dann siehst Du sofort, ob's klappt.

                  Welchen WRT hast Du?

                  SG,
                  Bernhard

                  Kommentar


                    #84
                    alternativ den Daemon laufen lassen und auf einer anderen konsole ein tail aufs Log.

                    Kommentar


                      #85
                      oh es gibt noch Hoffnung?

                      Folgendes Ergebnis
                      Code:
                      root@OpenWrt:~# /opt/usr/bin/eibd -i ft12:/dev/tts/0 -S -D -T -t5
                      Layer 2(1002CA40,478A4F3E) Open
                      Layer 2(1002CA40,478A4F3E) Opened
                      Layer 2(1002CA40,478A4F3E) OpenL2
                      Layer 0(1001C6B0,478A4F3E) Send(004): 10 40 40 16
                      ....
                      Layer 0(1001C6B0,478A5027) Send(004): 10 40 40 16
                      Layer 0(1001C6B0,478A5028) Send(004): 10 40 40 16
                      und das läuft dann immer weiter... (und zählt hoch)

                      Ich habe dann eine 2. Sizung geöffnet und das groupwrite Kommando eingegeben - in der anderen Sitzung zeigte ich keine Reaktion!

                      Frage: passt der Befehl?
                      Code:
                      root@OpenWrt:~# # groupswrite ip:127.0.0.1 1/4/11 0
                      root@OpenWrt:~#
                      Die leere Konsole lautet
                      Code:
                      root@OpenWrt:~#
                      d.h. der Befehl beginnt mit # ist das OK? (ohne # gehts aber nicht, zumindest nicht so...)

                      Ich habe einen Asus 500Gx mit eine USB-Stick (2gb)

                      Netstat gibt folgende AUskunft: kann "no support " das Problem sein?
                      Code:
                      root@OpenWrt:~# netstat
                      Active Internet connections (w/o servers)
                      Proto Recv-Q Send-Q Local Address           Foreign Address         State
                      tcp        0      0 192.168.1.80:22         192.168.1.1:6265        ESTABLISHED
                      tcp        0      0 192.168.1.80:22         192.168.1.1:2888        ESTABLISHED
                      tcp        0      0 192.168.1.80:22         192.168.1.1:2887        ESTABLISHED
                      netstat: no support for `AF INET6 (tcp)' on this system.
                      netstat: no support for `AF INET6 (udp)' on this system.
                      netstat: no support for `AF INET6 (raw)' on this system.
                      Active UNIX domain sockets (w/o servers)
                      Proto RefCnt Flags       Type       State         I-Node Path
                      unix  7      [ ]         DGRAM                    150    /dev/log
                      unix  2      [ ]         DGRAM                    659
                      unix  2      [ ]         DGRAM                    631
                      unix  2      [ ]         DGRAM                    614
                      unix  3      [ ]         STREAM     CONNECTED     585
                      unix  3      [ ]         STREAM     CONNECTED     584
                      unix  2      [ ]         DGRAM                    230
                      unix  2      [ ]         DGRAM                    154
                      @EIBfreak: tut mir leid, aber ich verstehe deinen Tip nicht - sorry
                      EPIX
                      ...und möge der Saft mit euch sein...
                      Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

                      Kommentar


                        #86
                        Zitat von EPIX Beitrag anzeigen
                        Frage: passt der Befehl?
                        Code:
                        root@OpenWrt:~# # groupswrite ip:127.0.0.1 1/4/11 0
                        root@OpenWrt:~#
                        Die leere Konsole lautet
                        Code:
                        root@OpenWrt:~#
                        d.h. der Befehl beginnt mit # ist das OK? (ohne # gehts aber nicht, zumindest nicht so...)
                        Also die 2. Raute (#) musst du auf jedenfall weg lassen. Was wird dir dann angezeigt?
                        Gruß Dirk

                        Kommentar


                          #87
                          Zitat von EPIX Beitrag anzeigen
                          Setserial habe ich installiert, mit serial erhalte ich
                          Code:
                          root@OpenWrt:~# more /proc/tty/driver/serial
                          serinfo:1.0 driver:5.05c revision:2001-07-08
                          0: uart:16550A port:B8000300 irq:3 baud:19200 tx:23744 rx:16 brk:16 RTS|DTR
                          1: uart:16550A port:B8000400 irq:3 baud:19171 tx:6324 rx:0 RTS|CTS|DTR|DSR|CD
                          eibd ist gestartet, die lib's sind geladen
                          Code:
                          root@OpenWrt:~#  ldd /opt/usr/bin/eibd
                                  libpthsem.so.20 => /lib/libpthsem.so.20 (0x2aaee000)
                                  libuClibc++.so.0 => /lib/libuClibc++.so.0 (0x2ab41000)
                                  libc.so.0 => /lib/libc.so.0 (0x2abad000)
                                  libm.so.0 => /lib/libm.so.0 (0x2ac53000)
                                  ld-uClibc.so.0 => /lib/ld-uClibc.so.0 (0x2aaa8000)
                          und ps zeigt:
                          Code:
                           1177 root        548 S   /opt/usr/bin/eibd -i -e 1.4.253 -d ft12:/dev/tts/0
                          ist also gestartet und läuft...
                          Ich habe eibd über /dev/tts/1 :
                          /usr/bin/eibd -i -e 0.1.100 -d ft12:/dev/tts/1

                          root@OpenWrt:~# more /proc/tty/driver/serial
                          serinfo:1.0 driver:5.05c revision:2001-07-08
                          0: uart:16550A port:B8000300 irq:3 baud:113636 tx:277 rx:0 RTS|CTS|DTR|DSR|CD
                          1: uart:16550A port:B8000400 irq:3 baud:19230 tx:228570 rx:1357912 RTS|CTS|DTR|DSR|CD

                          Versucht mal eibd mit -t5 und ohne -d su starten, wie BEN vorgeschlagen hat.

                          Gruss,

                          Jean-François

                          Kommentar


                            #88
                            Epix,

                            die Befehlssyntax ist korrekt. Was passiert denn?

                            Kannst Du von einem anderen Rechner den groupswrite Befehl an den Asus senden? Eibd muss auf diesem anderen Rechner installiert sein.

                            Meine Eibd Installation auf einem WRT54GL hat die groupwrite, etc... Befehle nicht mitbekommen. Ich kann daher nur von einem anderen Rechner aus testen.

                            PS: Die "no support..." Meldungen von netstat beziehen sich auf IPv6, ist dem eibd also vollkommen egal.

                            Kommentar


                              #89
                              Zitat von EPIX Beitrag anzeigen
                              Folgendes Ergebnis
                              Code:
                              root@OpenWrt:~# /opt/usr/bin/eibd -i ft12:/dev/tts/0 -S -D -T -t5
                              Layer 2(1002CA40,478A4F3E) Open
                              Layer 2(1002CA40,478A4F3E) Opened
                              Layer 2(1002CA40,478A4F3E) OpenL2
                              Layer 0(1001C6B0,478A4F3E) Send(004): 10 40 40 16
                              ....
                              Layer 0(1001C6B0,478A5027) Send(004): 10 40 40 16
                              Layer 0(1001C6B0,478A5028) Send(004): 10 40 40 16
                              und das läuft dann immer weiter... (und zählt hoch)
                              Das meint, dass eibd Befehle an BCU sendet, aber nichts zuruck bekommt.

                              Jean-François

                              Kommentar


                                #90
                                ...

                                @alle: Danke vorerst für die vielen Tip's
                                (man hat das Gefühl nicht gaaaaanz allein zu sein )

                                Ich habe eibd ohne -d Parameter gestartet, die Reaktion ist im obigen Posting zu sehen...

                                was mir auffällt:
                                mein Asus
                                0: uart:16550A port:B8000300 irq:3 baud:19200 tx:23744 rx:16 brk:16 RTS|DTR
                                Jeff's
                                1: uart:16550A port:B8000400 irq:3 baud:19230 tx:228570 rx:1357912 RTS|CTS|DTR|DSR|CD

                                könnte das auf ein Problem der Schnittstelle hinweisen?

                                Andererseits wird der Wert bei rx hochgesetzt, also es wird etwas empfangen...

                                Ich werde ev. heute abend (wahrscheinlich aber erst morgen abend) die Tips nocheinmal probieren und dann berichten...

                                @Jeff: wie hast du die Schnittstelle 1 konfiguriert? mit setserial? - welche Parameter?

                                @Ben: & Dirk
                                ich habe eibd so gestartet, wie du geraten hast-> die Reaktion ist im Posting von "Gestern, 17:00" zu sehen - er senden und zählt hoch...
                                Wenn ich den Befehl "# groupswrite ip:127.0.0.1 1/4/11 0" eingebe - passiert gar nichts
                                wenn ich jedoch nur "groupswrite ip:127.0.0.1 1/4/11 0" eingebe erhalte ich die Fehlermeldung "...not found"


                                Ratlos...
                                EPIX
                                ...und möge der Saft mit euch sein...
                                Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

                                Kommentar

                                Lädt...
                                X