Ankündigung

Einklappen
Keine Ankündigung bisher.

Dreambox Message senden

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

    #16
    Zitat von mac29 Beitrag anzeigen
    Hallo zusamen
    Mit dem Browser ist dies kein Problem, aber über den EIBPC habe ich es nicht hinbekommen.
    Mach doch mal einen Versuch mit Wireshark: Was geht den vom PC raus, wenn der kommuniziert? In diesem Fall das Protokoll mit dem EibPC gleich aufbauen. Wie schaut denn Dein Code aus?
    offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
    Enertex Produkte kaufen

    Kommentar


      #17
      Bitte mal so probieren:
      [highlight=epc]
      sendtcp(80u16,192.168.1.2,$GET /cgi-bin/message?DieseNachrichtisteinTest HTTP/1.1$,0x0Du08,0x0Au08,0x0Du08,0x0Au08)
      [/highlight]

      Das CR LF muss als Zahl übertragen werden und keinesfalls als $\r\n$. Außerdem muss es doppelt gesendet werden. Das erste mal als Abschluss des GET-Kommandos, das zweite ist der Abschluss der HTTP-Anfrage.
      Firma: Enertex Bayern GmbH, Ebermannstädter Straße 8, 91301 Forchheim
      Amazon: KNXnet/IP Router
      , KNXnet/IP Interface

      Kommentar


        #18
        Zitat von SnowMaKeR Beitrag anzeigen
        Wenn ich mich recht erinnere, dann wurde im E2 das "cgi-bin" durch "web" ersetzt...
        Hoi

        Versuch mal: [highlight=epc]
        sendtcp(80u16, 192.168.1.2, $/web/message?text=DieseNachrichtisteinTest&type=1&timeo ut=60$);
        [/highlight]
        [highlight=epc]
        sendtcp(DreamPort, DreamIP, $GET /web/message?text=DieseNachrichtisteinTest&type=1&a mp;timeout=60 HTTP/1.1$,0x0Du08,0x0Au08,0x0Du08,0x0Au08);
        [/highlight]
        Edit: ging auch nicht.
        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


          #19
          @ Bodo:
          Das GET und das Zeilenende musst du schon dazu machen, sonst wird das sicher nichts Ist ja sonst kein HTTP-Request mehr.
          Firma: Enertex Bayern GmbH, Ebermannstädter Straße 8, 91301 Forchheim
          Amazon: KNXnet/IP Router
          , KNXnet/IP Interface

          Kommentar


            #20
            Also ich habe mit Wireshark aufgezeichnet, was weggeht, wenn ich eine Message über den Browser an die Box sende. Die funktioniert so problemlos (der Pfad von Bodo ist auch richtig).

            Meine Frage: Braucht es einen Connecttcp zu Beginn oder reicht direkt ein sendtcp?
            Falls connecttcp erforderlich, folgt dann ja ein readtcp und erst dann kann ich den sendtcp machen.

            Ich habe beides versucht, kein Ergebnis.

            Code1:
            Code:
            if change("EG Essen Esstischlampe E/A-1/2/10") then {
              write ("EG Wohnzimmer Deckenlampen hinten Sofa E/A-1/2/13",EIN);
              sendtcp(80u16,192.168.1.40,$GET /web/message?text=dies%20ist%20ein%20test&type=2&timeout=5 HTTP/1.1$,0x0Du08,0x0Au08,0x0Du08,0x0Au08)
            }endif
            (Der write Befehl ist nur dazu da, dass ich sicher weiss, dass er in die if-Abfrage geht :-))
            Code2:
            Code:
            if change("EG Essen Esstischlampe E/A-1/2/10") then connecttcp(80u16,192.168.1.40) endif
            if event(readtcp(Port,IP,IR_command)) then {
                  sendtcp(80u16,192.168.1.40,$GET /web/message?text=dies%20ist%20ein%20test&type=2&timeout=5 HTTP/1.1$,0x0Du08,0x0Au08,0x0Du08,0x0Au08)
            }endif
            Ich muss nun mal schauen, was wirklich an der Box ankommt. Da ich aber ein geswichtes Netzwerk habe, muss ich da etwas verkabeln.

            Vielleicht sieht ja jemand gerade einen Fehler.
            Angehängte Dateien

            Kommentar


              #21
              Zitat von mac29 Beitrag anzeigen
              Meine Frage: Braucht es einen Connecttcp zu Beginn oder reicht direkt ein sendtcp?
              Falls connecttcp erforderlich, folgt dann ja ein readtcp und erst dann kann ich den sendtcp machen.
              Ja, erst ein connecttcp machen. Ein readtcp brauchst du nicht.
              Firma: Enertex Bayern GmbH, Ebermannstädter Straße 8, 91301 Forchheim
              Amazon: KNXnet/IP Router
              , KNXnet/IP Interface

              Kommentar


                #22
                Hoi

                Also im Browser funzt das:
                HTML-Code:
                http://10.0.1.6/web/message?text=Die%20Sonne%20ist%20gerade%20aufgegangen&type=1&timeout=60
                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


                  #23
                  So, jetzt funktioniert es bereits teilweise. Wenn ich das erste Mal die Esszimmerlampe einschalte (Auslöser für die Message) macht er den Connect.
                  Wenn ich das zweite mal den Schalter betätige, dann wird die Meldung angezeigt.

                  Braucht es zwischen Connect und senttcp einen gewisse Wartezeit?

                  Grüsse Mac29

                  Code:
                  if change("EG Essen Esstischlampe E/A-1/2/10") then {
                    connecttcp(80u16,192.168.1.40);
                    write ("EG Wohnzimmer Deckenlampen hinten Sofa E/A-1/2/13",EIN);
                    sendtcp(80u16,192.168.1.40,$GET /web/message?text=dies%20ist%20ein%20test&type=2&timeout=5 HTTP/1.1$,0x0Du08,0x0Au08,0x0Du08,0x0Au08);
                    closetcp(80u16,192.168.1.40)
                  }endif

                  Kommentar


                    #24
                    So, es ist vollbracht, eine Timeout von 1 Sekunde, und alles funktionert bei mir:

                    Code:
                    if change("EG Essen Esstischlampe E/A-1/2/10") then {
                      connecttcp(80u16,192.168.1.40)
                    }endif
                    if (after("EG Essen Esstischlampe E/A-1/2/10"==EIN,1000u64)) then{
                      write ("EG Wohnzimmer Deckenlampen hinten Sofa E/A-1/2/13",EIN);
                      sendtcp(80u16,192.168.1.40,$GET /web/message?text=dies%20ist%20ein%20test&type=2&timeout=5 HTTP/1.1$,0x0Du08,0x0Au08,0x0Du08,0x0Au08);
                      closetcp(80u16,192.168.1.40)
                    }endif
                    Grüsse Mac29

                    Kommentar


                      #25
                      Zitat von mac29 Beitrag anzeigen
                      Braucht es zwischen Connect und senttcp einen gewisse Wartezeit?
                      Ja. Das connecttcp baut die Verbindung auf und das wird im LAN für gewähnlich ein paar ms dauern. Ne halbe Sekunde Wartezeit sollte völlig ausreichen.
                      Firma: Enertex Bayern GmbH, Ebermannstädter Straße 8, 91301 Forchheim
                      Amazon: KNXnet/IP Router
                      , KNXnet/IP Interface

                      Kommentar


                        #26
                        Lasst den Closetcp weg.
                        Der EIBPC beendet die Sitzung eh nach ein paar Sekunden (waren mal 30).
                        Gruß
                        Volker

                        Wer will schon Homematic?

                        Kommentar


                          #27
                          Hoi

                          Naja ich hab's versucht. Klappt aber leider nicht.
                          [highlight=epc]
                          // Dreambox

                          if ("Deckenlicht Zimmer 1-1/0/19" == EIN) then connecttcp(80u16,10.0.1.6) endif
                          if (after("Deckenlicht Zimmer 1-1/0/19" == EIN,1000u64)) then {
                          sendtcp(80u16,10.0.1.6,$GET /web/message?text=Diese%20Nachricht%20ist%20ein%20Test& type=2&timeout=30 HTTP/1.1$,0x0Du08,0x0Au08,0x0Du08,0x0Au08)
                          }endif
                          [/highlight]
                          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


                            #28
                            Zitat von mac29 Beitrag anzeigen
                            Also ich habe mit Wireshark aufgezeichnet, was weggeht, wenn ich eine Message über den Browser an die Box sende.
                            Kannst Du mal den Wireshark aufklappen, sodass man die "Rohdaten" sieht?
                            offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
                            Enertex Produkte kaufen

                            Kommentar


                              #29
                              Hoi

                              Hier mal das, was das Webif sendet:
                              Angehängte Dateien
                              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


                                #30
                                Hier die Rohdaten, wenn eine Message mit dem Browser von meinem PC an die Dreambox DM800 abgesetzt wird.

                                Grüsse Mac29
                                Angehängte Dateien

                                Kommentar

                                Lädt...
                                X