Ankündigung

Einklappen
Keine Ankündigung bisher.

HTTP Befehl Empfangen

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

    HTTP Befehl Empfangen

    Hallo
    Entweder denke ich so kompilziert oder gibt es wirklich keinen leichten Weg dafür.
    Ich würde gern per HTTP einen Befehlt schicken der einen Wert auf 1 setzt. Sende ich einen anderen Befehl zB 0 sollte der Wert wieder 0 werden und im Hintergrund eine Logik starten.

    Danke

    #2
    Hallo StoRmtec,


    schaue dir mal das Network Plugin an (http://mknx.github.io/smarthome/plugins/network.html)

    Damit gehts gaaannnzzzz einfach.

    Mit freundlichen Grüßen,
    Erik Kiel
    Angaben nach bestem Wissen und Gewissen (Inhalt und Rechtschreibung)

    Kommentar


      #3
      Hallo ErKi

      Herzlichen Dank für die Info. Habe es schon hinbekommen. Habe da komplett falsch verstanden das Plugin

      Kommentar


        #4
        Hi zusammen! Vielleicht kann mir mit dem Netzwerkplugin jemand helfen? Ich bekomme folgende Fehlermeldung:
        Code:
        2015-06-13 19:03:38,101 DEBUG    Main         Plugin: knxhttp -- plugin.py:__init__:43
        2015-06-13 19:03:38,189 DEBUG    Main         Adding listener on: tcp:10.0.0.150:2727 -- __init__.py:add_listener:151
        2015-06-13 19:03:38,280 DEBUG    Main         TCPDispatcher: binding to 10.0.0.150:2727 (TCP) -- connection.py:connect:160
        2015-06-13 19:03:38,285 DEBUG    Main         Adding listener on: udp:10.0.0.150:2727 -- __init__.py:add_listener:151
        2015-06-13 19:03:38,292 DEBUG    Main         UDPDispatcher: binding to 10.0.0.150:2727 (UDP) -- connection.py:connect:160
        2015-06-13 19:03:38,297 DEBUG    Main         Adding listener on: http:10.0.0.150:yes -- __init__.py:add_listener:151
        2015-06-13 19:03:38,310 ERROR    Main         HTTPDispatcher: problem binding 10.0.0.150:yes (TCP): [Errno -8] Servname not supported for ai_socktype -- connection.py:connect:156
        2
        Inweiterer Folge
        Code:
        2015-06-13 18:53:44,230 ERROR    Connections  HTTPDispatcher: problem binding 10.0.0.0:yes (TCP): [Errno -8] Servname not supported for ai_socktype -- connection.py:connect:156
        2015-06-13 18:53:44,241 ERROR    Connections  TCPDispatcher: problem binding 0.0.0.0:2727 (TCP): [Errno 98] Address already in use -- connection.py:connect:156
        2
        Meine plugin.conf:
        Code:
        [knxhttp]
            class_name = Network
            class_path = plugins.network
            ip = 10.0.0.150 #(auch schon mal ausgeblendet und andere probiert..)
            port = 2727
            tcp = yes
            # tcp_acl= 127.0.0.1 | 10.0.0.1
            udp = yes
            # udp_acl= *
            http = yes
        Google konnte mir soweit leider nicht helfen Vielen Dank!

        Kommentar


          #5
          statt http = yes musst Du einen http port setzen (z.B. http = 8090) und zwar einen anderen als 2727

          siehe auch readme:

          http: port to listen for HTTP GET request

          Kommentar


            #6
            Wer liest ist im Vorteil. Hm, thx&sry

            Kommentar


              #7
              Hi nochmals.. ich muss jetzt trotzdem nochmals nachhaken, weil das bei mir mit der Rückantwort irgendwie nicht zu funzen scheint... oder ich das Konzept nicht kapiere.

              Ich hätte das so verstanden, dass ich beispielsweise einfach im Browser die URL eintippen kann und dadurch das entsprechende Item gesetzt wird. Nun ja, eigentlich tut es das auch. Allerdings "hängt" die Seite dann einfach. Ich hätte hier erwartet, dass die Seite aufhört zu laden, sobald die Anfrage durch ist, bzw. am besten sogar noch eine Bestätigung angezeigt wird, dass es geklappt hat. Liege ich da falsch? Diese Funktionalität wäre für gewisse Aktionen schon super angenehm... Ab und an passiert es übrigens auch, dass das favicon.ico übertragen werden will?!

              Hier der Log-Auszug:
              Code:
              2015-06-21 13:06:13,788 DEBUG    Main         HTTPDispatcher: incoming connection from 10.0.0.150:54603 to 0.0.0.0:2728 -- connection.py:accept:187
              2015-06-21 13:06:23,785 DEBUG    Main         HTTPHandler: closing socket 10.0.0.150:54603 -- connection.py:close:309
              2015-06-21 13:07:16,469 DEBUG    Main         HTTPHandler: closing socket 10.0.0.1:56000 -- connection.py:close:309
              2015-06-21 13:07:16,502 DEBUG    Main         HTTPDispatcher: incoming connection from 10.0.0.1:56103 to 0.0.0.0:2728 -- connection.py:accept:187
              2015-06-21 13:07:16,508 INFO     Main         Ignoring input favicon.ico. Format not recognized. -- __init__.py:parse_input:180
              2

              Kommentar


                #8
                Hallo,

                Im Erfolgsfall anwortet das Plugin mit 200 als Code und schließt die Verbindung. Wenn es nicht funktioniert gibt es ein 400 Fehler.
                Anscheinend mag das Dein Browser aber nicht.
                Das favicon.ico wird vom Browser angefragt.

                Das Interface ist, von meiner Seite, auch nicht für Browser & User gedacht, sondern für Maschine 2 Maschine.

                Bis bald

                Marcus

                Kommentar


                  #9
                  @Onkelandy
                  Es ist zwar nicht primär für eine Browsersteuerung gedacht, aber teste mal das speech-Plugin, das sollte deine Anforderungen erfüllen. So kannst z.B. das Licht im Wohnzimmer per URL einschalten:
                  Code:
                  http://ip:2788/Licht%20im%20Wohnzimmer%20ein
                  Eine Rückmeldung wird auch generiert.

                  Kommentar


                    #10
                    Panzaeron, vielen Dank für den Tipp! Echt ne schöne Sache - hat prima funktioniert.

                    Kommentar

                    Lädt...
                    X