Ankündigung

Einklappen
Keine Ankündigung bisher.

- √ - eibd und KO-Gateway

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

    HS/FS - √ - eibd und KO-Gateway

    Hallo,

    ist es möglich mit eibd über das HS KO-Gateway auf den KNX Bus zuzugreifen?
    Hat das schon mal jemand gemacht?

    Der HS hängt über ein USB Interface am Bus. Ein Hardware IP-Interface gibt es nicht.

    Zum Schluss möchte ich enocean über fhem, eibd und HS KO-Gateway auf den Bus bringen

    #2
    AW: eibd und KO-Gateway

    Mittlerweile habe ich die Doku zur Kommunikation mit dem KO-Gateway gefunden:

    https://www.google.de/url?sa=t&rct=j...45921128,d.Yms

    (Ab S. 14)

    Ich vermute mal, das ist nicht das "normale" IP Interface?
    Damit klappte wohl nicht mit eibd... :-(


    Gesendet von meinem Nexus 7 mit Tapatalk 2

    Kommentar


      #3
      AW: eibd und KO-Gateway

      ...und mit diesem Post ist klar, dass EIBnet und das HS KO-Gateway unterschiedliche Implementierungen sind:
      https://knx-user-forum.de/knx-eib-fo...elegramms.html

      Schätze, ich werde mal schauen, ob ich einen"eibd" für das KO-Gateway bauen kann...

      Gesendet von meinem Nexus 7 mit Tapatalk 2

      Kommentar


        #4
        eibd und KO-Gateway

        Das SW Projekt ist angelegt und das erste Senden von Befehlen klappt auch schon mal

        https://sourceforge.net/projects/knxhsd/

        Kommentar


          #5
          Also FHEM habe ich jetzt mit EnOcean schon am laufen.
          Meinen EnOcean Taster bekomme ich auch über den Eibd auf den Bus und kann mit meinem HS-Monitor am PC den Schaltvorgang beobachten. Wenn ich jetzt aber über meinen Gira Home Server im QC den Schalter betätige sehe ich im HS-Monitor den Schaltvorgang, in fhem kann ich in nicht sehen.

          Deshalb werde ich dein hsd benötigen?

          Ich komme leider mit der Installation nicht wirklich klar.

          Mein Aufbau besteht aus

          QC / Gira Home Server / Gira IP Router / Raspberry Pi + FHEM + TCM 310 USB Stick / EnOcean Jung Taster Eltako Relais

          jetzt habe ich mir die Datei hsd_x86_v0.4.7 heruntergeladen und entpackt.
          den Ordner hsd per WinSCP in den Ordner opt geladen.

          Die init.d hsd Datei habe ich in den Ordner /etc/init.d geladen.

          Mir ist nicht klar wie ich jetzt den hsd starten kann damit ich die config bearbeiten kann.

          Kommentar


            #6
            Hi,
            schaue dir mal dieses hier an, da stehen Beispieldateien:
            https://knx-user-forum.de/diy-do-yourself/36722-enocean-via-fhem-und-hs-auf-knx-new-post.html

            ...allerdings, mit einem IP Router kannst du doch das ganz normale eibd verwenden. Einfach mal in der FHEM command ref nach KNX suchen...

            Kommentar


              #7
              so habe mal von meinem Wiregate den Eibd in die config genommen, damit funktioniert es. Wenn ich jetzt aber meinen selbst installierten Eibd auf dem py nehme, kann ich nur über FHEM eine Adresse auf dem Bus ansteuern aber nicht über den Bus etwas in FHEM.

              Was muss ich bei meinem Eibd noch konfigurieren damit beide Richtungen gehen ?

              Kommentar


                #8
                Poste mal die relevanten Passagen der fhem.cfg. Wie wird eibd konfiguriert?

                Kommentar


                  #9
                  ################################################## #######################
                  #KNX Eibd IP Gateway
                  define KNX TUL eibd:192.168.0.9 1.1.255
                  attr KNX icon cul
                  attr KNX room Adapter
                  ################################################## #######################


                  die IP ist die des Wiregates. SO funktioniert auch alles .

                  Wenn ich jetzt die IP meines Gira IP Router nehme geht nur noch ein Richtung also FHEM zu HS-Monitor funktioniert.
                  QC zu FHEM geht nicht.

                  Wie man den Eibd einstellt weis ich nicht. Habe einfach diese Anleitung befolgt KNX/EIB-Gateway in FHEM einbinden « www.meintechblog.de und per init.d in den Autostart genommen.

                  Kommentar


                    #10
                    Hi.

                    Ich bin mich gerade wieder am einfuchsen mit Linux (kenne von früher auch nur Suse) und hab mir für die Raspberry ein Smarthome.py image geladen. Dort möchte ich nun eibd austauschen gegen hsd. Visu und so brauch ich eigentlich nicht wegen HS, aber so hab ich schon alles schön installiert. Nur kommt die Meldung Syntax error: wird unexpected (expecting ")").

                    In den Dependencies hast du ja notiert, dass man QT4 benötigt. Muss ich das SDK installieren? M.W.n. ist nur QT5 bei dem Linux dabei.


                    Hintergrund ist, dass ich 2-3 1-Wire Sensoren verbauen möchte, mir aber nicht gleich das Wiregate kaufen (auch wenn es ein super Produkt ist).

                    Viele Grüße,
                    Nils

                    PS. Ist sicher eine einfache Frage, aber bin total raus aus der Materie und bevor ich meine SD voll knalle wollte ich mal lieber fragen.

                    PPS. Hab nun die qt4-core installiert und leider noch die gleiche Fehlermeldung.

                    Kommentar


                      #11
                      So habe es hinbekommen, Jubel!!!

                      Raspberry B mit Fhem, Eibd, Gira IP Router, Gira Homeserver 4: da muss in die fhem.cfg folgendes eingetragen werden:

                      Code:
                      #KNX Eibd IP Gateway
                      define tul TUL eibd:localhost 1.1.255
                      attr tul icon cul
                      attr tul room Adapter
                      Der Eibd kann mit verschiedenen Optionen gestartet werden. Diese müssen in der init.d Datei Eibd eingetragen werden:

                      Code:
                      eibd-D -T -S -d -i --pid-file=/var/run/eibd.pid ip:224.0.23.12"
                      in den meisten Beschreibungen wir ipt:<IP-der_IP-Schnittstelle> angegeben. Bei mir hat es erst funktioniert mit der Multicast Adresse und ip:224.0.23.12
                      Da ich einen IP Router habe

                      Code:
                      $ eibd --help
                      Usage: eibd [OPTION...] URL
                      eibd -- a communication stack for EIB
                      (C) 2005-2011 Martin Koegler <mkoegler@auto.tuwien.ac.at>
                      supported URLs are:
                      ft12:/dev/ttySx
                      ip:[multicast_addr[:port]]
                      ipt:router-ip[:dest-port[:src-port[:nat-ip[:data-port]]]]]
                      iptn:router-ip[:dest-port[:src-port]]
                      usb:[bus[:device[:config[:interface]]]]
                      
                      ft12 connects over a serial line without any driver with the FT1.2 Protocol to
                      a BCU 2
                      
                      ip connects with the EIBnet/IP Routing protocol over an EIBnet/IP gateway. The
                      gateway must be so configured, that it routes the necessary addresses
                      
                      ipt connects with the EIBnet/IP Tunneling protocol over an EIBnet/IP gateway.
                      The gateway must be so configured, that it routes the necessary addresses
                      
                      iptn connects with the EIBnet/IP Tunneling protocol over an EIBnet/IP gateway
                      using the NAT mode
                      
                      usb connects over a KNX USB interface
                      
                      -c, --GroupCache enable caching of group communication network
                      state
                      -d, --daemon[=FILE] start the programm as daemon, the output will be
                      written to FILE, if the argument present
                      -D, --Discovery enable the EIBnet/IP server to answer discovery
                      and description requests (SEARCH, DESCRIPTION)
                      -e, --eibaddr=EIBADDR set our own EIB-address to EIBADDR (default
                      0.0.1), for drivers, which need an address
                      -f, --error=LEVEL set error level
                      -i, --listen-tcp[=PORT] listen at TCP port PORT (default 6720)
                      --no-tunnel-client-queuing do not assume KNXnet/IP Tunneling bus
                      interface can handle parallel cEMI requests
                      -p, --pid-file=FILE write the PID of the process to FILE
                      -R, --Routing enable EIBnet/IP Routing in the EIBnet/IP server
                      -S, --Server[=ip[:port]] starts the EIBnet/IP server part
                      -t, --trace=LEVEL set trace level
                      -T, --Tunnelling enable EIBnet/IP Tunneling in the EIBnet/IP
                      server
                      -u, --listen-local[=FILE] listen at Unix domain socket FILE (default
                      /tmp/eib)
                      -?, --help Give this help list
                      --usage Give a short usage message
                      -V, --version Print program version
                      
                      Mandatory or optional arguments to long options are also mandatory or optional
                      for any corresponding short options.
                      $
                      Meine Eibd Datei aus dem init.d habe ich mir aus dem Foren zusammen gesucht.

                      Code:
                       #! /bin/sh
                       PATH=/sbin:/usr/sbin:/bin:/usr/bin
                       DESC="Description of the service"
                       NAME=eibd
                       DAEMON=/usr/local/bin/$NAME
                       DAEMON_ARGS="-D -T -S -d -i --pid-file=/var/run/eibd.pid ip:224.0.23.12"
                       PIDFILE=/var/run/$NAME.pid
                       SCRIPTNAME=/etc/init.d/$NAME
                       # Exit if the package is not installed
                       [ -x "$DAEMON" ] || exit 0
                       # Read configuration variable file if it is present
                       [ -r /etc/default/$NAME ] && . /etc/default/$NAME
                       # Load the VERBOSE setting and other rcS variables
                       . /lib/init/vars.sh
                       # Define LSB log_* functions.
                       # Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
                       . /lib/lsb/init-functions
                       #
                       # Function that starts the daemon/service
                       #
                       do_start()
                       {
                       # Return
                       # 0 if daemon has been started
                       # 1 if daemon was already running
                       # 2 if daemon could not be started
                       start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
                       || return 1
                       start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
                       $DAEMON_ARGS \
                       || return 2
                       # Add code here, if necessary, that waits for the process to be ready
                       # to handle requests from services started subsequently which depend
                       # on this one. As a last resort, sleep for some time.
                       }
                       #
                       # Function that stops the daemon/service
                       #
                       do_stop()
                       {
                       # Return
                       # 0 if daemon has been stopped
                       # 1 if daemon was already stopped
                       # 2 if daemon could not be stopped
                       # other if a failure occurred
                       start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
                       RETVAL="$?"
                       [ "$RETVAL" = 2 ] && return 2
                       # Wait for children to finish too if this is a daemon that forks
                       # and if the daemon is only ever run from this initscript.
                       # If the above conditions are not satisfied then add some other code
                       # that waits for the process to drop all resources that could be
                       # needed by services started subsequently. A last resort is to
                       # sleep for some time.
                       start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
                       [ "$?" = 2 ] && return 2
                       # Many daemons don't delete their pidfiles when they exit.
                       rm -f $PIDFILE
                       return "$RETVAL"
                       }
                       #
                       # Function that sends a SIGHUP to the daemon/service
                       #
                       do_reload() {
                       #
                       # If the daemon can reload its configuration without
                       # restarting (for example, when it is sent a SIGHUP),
                       # then implement that here.
                       #
                       start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME
                       return 0
                       }
                       case "$1" in
                       start)
                       [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
                       do_start
                       case "$?" in
                       0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
                       2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
                       esac
                       ;;
                       stop)
                       [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
                       do_stop
                       case "$?" in
                       0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
                       2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
                       esac
                       ;;
                       #reload|force-reload)
                       #
                       # If do_reload() is not implemented then leave this commented out
                       # and leave 'force-reload' as an alias for 'restart'.
                       #
                       #log_daemon_msg "Reloading $DESC" "$NAME"
                       #do_reload
                       #log_end_msg $?
                       #;;
                       restart|force-reload)
                       #
                       # If the "reload" option is implemented then remove the
                       # 'force-reload' alias
                       #
                       log_daemon_msg "Restarting $DESC" "$NAME"
                       do_stop
                       case "$?" in
                       0|1)
                       do_start
                       case "$?" in
                       0) log_end_msg 0 ;;
                       1) log_end_msg 1 ;; # Old process is still running
                       *) log_end_msg 1 ;; # Failed to start
                       esac
                       ;;
                       *)
                       # Failed to stop
                       log_end_msg 1
                       ;;
                       esac
                       ;;
                       *)
                       #echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
                       echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
                       exit 3
                       ;;
                       esac
                      dabei bin ich dieser Anleitung gefolgt:
                      Eibd - KNX/EIB - Lexikon - KNX-User-Forum

                      Kommentar

                      Lädt...
                      X