Ankündigung

Einklappen
Keine Ankündigung bisher.

eibPC über Netzwerk-Befehle steuern

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

    eibPC über Netzwerk-Befehle steuern

    Hallo,

    ich bin gerade einwenig am tüfteln und überlegen, wie ich übers Netzwerk dem eibPC Befehle schicken kann, damit er dann die dementsprechenden Szenen ausführt oder Lichter ein und ausschaltet oder auch das Haustürschloss öffnet usw...

    Hintergrund ist der: Zum einen bekommen wir in 2 Monaten unsere Mobotix-Haustürstation, bei der man bei bestimmten Ereignissen über das Netzwerk Befehle/Telegramme absetzen kann. Wie kann ich damit beim eibPC darauf reagieren?

    Weiters hat meine Frau sich ein NFC Starterset gekauft. Jetzt muss ich ihr eine Android-App basteln, die dann dementdprechend auch was am eibPC ausführt... zB wenn sie beim Bettgegehen über so einen RFID Chip ihr handy drüber zieht, soll wenn nötig die Haustür zu gesperrt werden und der Strom im Hausabgechalten werden, etc.

    Jetzt frage ich mich, wie ich eine Verbindung zum eibPC aufbauen kann, diese dann ständig aufrecht erhalten wird (Stichwort 30sek idle) und dann der eibPC auf eingehende Telegramme reagieren kann.

    Javaseitig trau ich mir das schon zu, aber mit der ganzen TCP Thematik am eibPC fühl ich mich (noch) ein wenig hilflos.

    Kann mir da bitte von euch jemand helfen bzw. zeigen wie ich dem eibPC über TCP was schicken kann und am eibPC das dann abfragen kann und dann gezielt irgendwelche GAs ansprechen kann?

    Danke für eure Hilfe.

    lg, Peter

    #2
    Bernd hat eine Fernsteuerung per UDP realisiert:

    https://knx-user-forum.de/eibpc/2012...via-eibpc.html

    Kommentar


      #3
      Zitat von ppfeifer Beitrag anzeigen
      Javaseitig trau ich mir das schon zu, aber mit der ganzen TCP Thematik am eibPC fühl ich mich (noch) ein wenig hilflos.

      Kann mir da bitte von euch jemand helfen bzw. zeigen wie ich dem eibPC über TCP was schicken kann und am eibPC das dann abfragen kann und dann gezielt irgendwelche GAs ansprechen kann?
      Da gibt's schon einiges. Zum Ersten im Handbuch mal nachlesen, dann kannst du hier im Forum den Praxisbericht zum Command Fusion mit dem EibPC vertiefen oder die Makrosammlung durchforsten, z.b. die Wettermakros, UDP Sammlung vom Bernd (BMX).
      offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
      Enertex Produkte kaufen

      Kommentar


        #4
        Hallo,

        Zitat von enertegus Beitrag anzeigen
        Zum Ersten im Handbuch mal nachlesen...
        ja das hab ich andauernd offen.

        Nur frag ich mich immer noch, muss ich, wenn ich von einem anderen Gerät aus was zum eibPC schicke, auch connecttcp machen? Wenn ja warum? der eibPC weiss ja nicht wann was ankommt, sondern soll nur was entgegennehmen, wenn was an ihn geschickt wird.

        Ich seh mir mal die UDP Beispiele von Bernd an, danke.

        lg, Peter

        Kommentar


          #5
          Hallo,

          vielleicht kann mir ja von euch jemand behilflich sein.... ich bekomme bei der Verwendung von
          Code:
          UDPCommandInterface( RemotePort, RemoteIP, Password, TimeOut, OutPort, OutIP )
          mit diesen Werten
          Code:
          UDPCommandInterface(4806u16,192.168.1.138u32, $1234$, 3600u16, 4806u16, 192.168.1.138u32)
          beim kompilieren immer einen Syntaxfehler:
          Code:
          Syntaxfehler in Zeile:[1187] 
           >UDPCommandInterface(4806u16,192.168.1.138u32,$1234$,3600u16,4806u16,192.168.1.138u32)< in der Datei "/home/peter/eibPc/EibstudioData/tmpApp.txt"
           Gültig bis Spaltenposition: {19}
          ich verwende EibStudio 2.311

          Was ist da der Fehler, ich komm nicht drauf,

          lg, Peter

          Kommentar


            #6
            Hi Peter,

            Zitat von ppfeifer
            192.168.1.138u32
            lass mal bei den IP Adressen das u32 weg...

            Kommentar


              #7
              Hallo Bernd,
              Zitat von bmx Beitrag anzeigen
              lass mal bei den IP Adressen das u32 weg...
              Hat funktioniert. Leider heisst es jetzt:
              Code:
              Laufzeitfehler:
                ! Variable nicht definiert: >CR< !
              Das CR das ich gefunden habe, wird im Macro bei
              Code:
              UDPCI_posCR = find( UDPCI_Buffer, CR, 0u16);
              verwendet.

              Mit was soll ich es intialisieren, damits funktionniert?

              lg, Peter

              Kommentar


                #8
                Hallo Peter,

                lade Dir aus dem Downloadbereich mal die Konstanten-Datei runter...

                Gruß,
                Bernd

                Kommentar


                  #9
                  Hallo,
                  Zitat von bmx Beitrag anzeigen
                  Hallo Peter,

                  lade Dir aus dem Downloadbereich mal die Konstanten-Datei runter...

                  Gruß,
                  Bernd
                  Hallo.

                  Danke werd ich machen.

                  Ich schau mir gerade das Handbuch an. ich glaub, ich ich versteh das noch nicht ganz.

                  Wann muss ich ein connecttcp machen und wann nicht. Im Handbuch bei dem Beispiel, wird auf Seite 63 wird auf Änderungen bei einem IP Musicplayer reagiert.

                  Ich hätte jetzt einfach mal zum testen und zum Verständnis folgendes gemacht:
                  Code:
                  Port=0u16
                  IP=0u32
                  StringPlayer=$$
                  
                  if event(readudp(Port,IP,StringPlayer)) and (Port==4806u16) and (IP==192.168.1.138) then {
                  	write("KDL4  e/a-1/0/3", EIN)
                  } endif
                  192.168.1.138 ist mein lokaler PC und 192.168.1.131 der eibPC. Dann hätte ich per
                  Code:
                  echo test > nc 192.168.1.131 4806
                  versucht ein Telegramm an den eibPC zu senden.

                  Geht nicht so, oder?

                  lg, Peter

                  Kommentar


                    #10
                    Hoi

                    Wenn ich ohne Überprüfung ein telnet sende geht's
                    [highlight=epc]
                    // Extern ------------------------------

                    if event(readtcp(808u16,10.0.1.7,TCPsend)) then {
                    write("Deckenlicht Schlafzimmer-1/0/35",EIN)
                    }endif
                    [/highlight]
                    Und auf der Konsole
                    Code:
                    telnet 10.0.1.4 4809
                    irgendwas
                    Grüsse Bodo
                    Fragen gehören ins Forum, und nicht in mein Postfach;
                    EibPC-Fan; Wiregate-Fan; Timberwolf-Fan mit 30x 1-Wire Sensoren;

                    Kommentar


                      #11
                      Code:
                      echo test > nc 192.168.1.131 4806
                      Probiere es mal mit dem Parameter -u für UDP wenn Du am EibPC schon auf UDP hörst ...

                      Gruß,
                      Bernd

                      Kommentar


                        #12
                        Hoi

                        Dazu kommt dann noch ein Fehler im Handbuch.
                        (Erste Schritte bei der Programmierung S. 71 von 269)
                        if event(readtcp(Port,IP,StringPlayer)) and (Port==808u16) and IP=192.168.22.21) then \\
                        Da fehlt eine Klammer und ein =
                        Grüsse Bodo
                        Fragen gehören ins Forum, und nicht in mein Postfach;
                        EibPC-Fan; Wiregate-Fan; Timberwolf-Fan mit 30x 1-Wire Sensoren;

                        Kommentar

                        Lädt...
                        X