Ankündigung

Einklappen
Keine Ankündigung bisher.

12736_CGI_Webserver

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

    HS/FS 12736_CGI_Webserver


    Baustein wartet auf Port 8440, es können beliebig viele Bausteine genutzt werden die jeweils unterschiedliche Pfade bedienen

    EN1: url /myapp
    EN2: Methode GET/POST ist drin
    EN3: User
    EN4: Pass
    EN5: Content-Type für die Antwort
    EN6: Antwort Data ( wird in utf-8) gewandelt

    AN1: JSON aller Get (Query Parameter) bzw. Post JSON/form-url-encoded Data


    https://www.paypal.com/cgi-bin/websc...=VY33EH7CBR6LW

    http://service.knx-user-forum.de/?co...nload&id=12736
    wenn vento66 freigibt
    Zuletzt geändert von NilsS; 23.09.2018, 09:38.
    Nils
    xxAPI² - HTML5 Client für den Gira Homeserver (Status: Beta / Visuclient = 80% / xxAPI¹ Funktionen = 100% / zusätzlich: Slider/Drehknöpfe/Balken/mausnahe Popups/.... ) - Installation: Logikbaustein nach Start Triggern / Startlink auf der Debugseite

    #2
    und noch n Update hinterher

    EN5: Content-Type für die Antwort
    EN6: Antwort Data ( wird in utf-8) gewandelt
    Nils
    xxAPI² - HTML5 Client für den Gira Homeserver (Status: Beta / Visuclient = 80% / xxAPI¹ Funktionen = 100% / zusätzlich: Slider/Drehknöpfe/Balken/mausnahe Popups/.... ) - Installation: Logikbaustein nach Start Triggern / Startlink auf der Debugseite

    Kommentar


      #3
      Nils, du bist schon der Hammer.

      Ich werde es morgen testen und dir was zukommen lassen.
      THX.
      Zuletzt geändert von larsrosen; 22.09.2018, 21:09.
      Wenn ich bei der Arbeit mit Computern eins gelernt habe, dann das ich einem Computer nur soweit traue, wie ich ihn werfen kann.

      Kommentar


        #4
        Was macht man den damit?
        Ab welcher HS Version geht der?

        Kommentar


          #5
          Es wird ein Webserver auf Port 8440 gestartet, alle Anfragen (Pfade) werden über Bausteine bedient.

          Legst du einen Baustein mit
          EN[1]: /projektid.py
          EN[2]: GET
          EN[5]: text/plain
          EN[6]: verbunden mit dem iko projektid

          kannst mit dem Browser http://meinHS:8440/projektid.py deine Projektnummer auslesen
          oder aber andersrum
          http://meinHS:8440/projektid.py?somedata=10
          gibt an Ausgang 1: "{"somedata" : "10"} aus

          EDIT: HS Version sollte eigentlich keine Rollen spielen
          Nils
          xxAPI² - HTML5 Client für den Gira Homeserver (Status: Beta / Visuclient = 80% / xxAPI¹ Funktionen = 100% / zusätzlich: Slider/Drehknöpfe/Balken/mausnahe Popups/.... ) - Installation: Logikbaustein nach Start Triggern / Startlink auf der Debugseite

          Kommentar


            #6
            Guten Morgen Nils,

            an dein neues Bild muss man sich erstmal gewöhnen....

            Ich bin heute dazu gekommen den LBS mal zu testen. Über die direkte Eingabe eines Urlparameters funktioniert das ganze.
            Wenn ich jetzt jedoch über einen Webhook von IFTTT eine Anfrage auslöse, wird mir die Übergabevariable oder der Body Inhalt nicht angezeigt. Er kommt lediglich die Remote IP.

            Ein Webhook ist so mit NC getraced:
            Code:
            POST /?TEST HTTP/1.1
            Content-type: text/plain
            host: lMEINE.de:8440
            content-length: 5
            x-newrelic-id: VwAOU1RRGwAFUFZUAwQE
            x-newrelic-transaction: PxRVVF8HXFVSVFBWUgFVXkYdUFIOFQZOEgBdAAFZUANRVVxVBVlSUAEUG0MEAl0CAwAHAxVs
            Connection: close
            
            Hallo
            Aufruf: IMEINE.de:8440/?TEST

            Text: Hallo


            Der Baustein lauscht auch tatsächlich auf /
            Zuletzt geändert von larsrosen; 24.09.2018, 07:05.
            Wenn ich bei der Arbeit mit Computern eins gelernt habe, dann das ich einem Computer nur soweit traue, wie ich ihn werfen kann.

            Kommentar


              #7
              schön das es Standards gibt oO
              POST sind eigentlich entweder application/x-www-form-urlencoded / multipart/form-data oder application/json
              Was soll ich denn aus text/plain machen ... einfach nur als String? {"Hallo"}
              Weil von der Variable Text: seh ich ja nix im Post.

              Lässt sich aber recht einfach einbauen, wenn du sagst was sinnvoll ist.

              Was ist mit dem Header? soll ich die Werte da auch als json raushauen? mit im gleichen? oder lieber konfigurierbar?


              Nils
              xxAPI² - HTML5 Client für den Gira Homeserver (Status: Beta / Visuclient = 80% / xxAPI¹ Funktionen = 100% / zusätzlich: Slider/Drehknöpfe/Balken/mausnahe Popups/.... ) - Installation: Logikbaustein nach Start Triggern / Startlink auf der Debugseite

              Kommentar


                #8
                Ohh Gott, wenn ich dich doch nur zu 50% verstehen würde....

                Also ich kann auch GET als Methode einstellen bei IFTTT, dies ändert aber nichts bei der Ausgabe.

                Ich kann ebenso das Content Typte auf application/json, application/x-www-form-urlencoded oder text/plain stellen.
                Ich habe POST und GET mit jeden der O.g Contents getestet. Ich bekomme weder den Body noch den Übergabeparameter angezeigt.

                Ideal wäre, wenn ich im Body(siehe Bild) einfach nur Schreibe Waschmaschine=1 und der LBS mit diesen String übergibt.
                Oder
                Body= Spülmaschine fertig
                Dann als LBS Ausgabe Spülmaschine fertig.

                Dann könnte man sämtliche Daten per Webhook schicken lassen und per Textvergleicher auswerten.

                Falls ich dich jetzt irgendwie falsch verstanden habe tut es mir wirklich leid...
                Angehängte Dateien
                Zuletzt geändert von larsrosen; 24.09.2018, 08:20.
                Wenn ich bei der Arbeit mit Computern eins gelernt habe, dann das ich einem Computer nur soweit traue, wie ich ihn werfen kann.

                Kommentar


                  #9
                  Ich geb dir ja nicht die Schuld was das Tool daraus macht ;-)

                  Ich habe das nur mit dem Browser (GET) bzw. mit dem sowieso gerade im anderen Thread entwickeltem Geofency (POST) getest.

                  Wenn du im Browser beim GET ?Wert=1 schickst dann kommt das doch auch am Ausgang raus oder?

                  Nils
                  xxAPI² - HTML5 Client für den Gira Homeserver (Status: Beta / Visuclient = 80% / xxAPI¹ Funktionen = 100% / zusätzlich: Slider/Drehknöpfe/Balken/mausnahe Popups/.... ) - Installation: Logikbaustein nach Start Triggern / Startlink auf der Debugseite

                  Kommentar


                    #10
                    Wenn ich im Browser GET ?Wert=1 sende, kommt es an.

                    Übers IFTTT nicht. Wo der Unterschied ist K.a.
                    Wenn ich bei der Arbeit mit Computern eins gelernt habe, dann das ich einem Computer nur soweit traue, wie ich ihn werfen kann.

                    Kommentar


                      #11
                      aktuelle Version 0.4 im Download

                      headers sind jetzt an Ausgang 2 als json
                      text/plain wird als rawdata im json ausgegeben.
                      Nils
                      xxAPI² - HTML5 Client für den Gira Homeserver (Status: Beta / Visuclient = 80% / xxAPI¹ Funktionen = 100% / zusätzlich: Slider/Drehknöpfe/Balken/mausnahe Popups/.... ) - Installation: Logikbaustein nach Start Triggern / Startlink auf der Debugseite

                      Kommentar


                        #12
                        Super, thx.

                        Dann warte ich bis der im DL freigeben ist und werde testen.
                        Wenn ich bei der Arbeit mit Computern eins gelernt habe, dann das ich einem Computer nur soweit traue, wie ich ihn werfen kann.

                        Kommentar


                          #13
                          Zitat von larsrosen Beitrag anzeigen
                          Wenn ich im Browser GET ?Wert=1 sende, kommt es an.

                          Übers IFTTT nicht. Wo der Unterschied ist K.a.
                          Versuchmal im IFTTT unter URL nur den Pfad einzugeben.
                          Die Werte dann im Body übergeben.

                          Gruss, Holger
                          ECMACOM GmbH
                          Konzeption, Planung, Implementation, Unterhalt
                          www.ecmacom.ch
                          www.knxshop4u.ch

                          Kommentar


                            #14
                            Halli, Hallo,

                            wir nähern uns allmählich den Daten an, die benötigt werden....

                            Der Header wird komplett übermittelt und ausgegeben, gibt es jetzt noch eine Möglichkeit ein 3 Ausgang zu machen, wo der body inhalt rauskommt?
                            Die Body Daten sehe ich in keinem der beiden Ausgängen.

                            Auf Ausgang 1 kommt immer: {"remote-addr":"XXXXX"}
                            Auf Ausgang 2 kommt
                            Code:
                            {"content-length": "9", "x-newrelic-id": "VwAOU1RRGwAFUFZUAwQE", "connection": "close", System "x-newrelic-transaction": "PxRWVAdUCVFUBwBWBgcEVkYdUFIOFQZOEgYIA10PVgMFV AAHU ldRAVAUG0MEAl0CAwAHAxVs", "host": "xxx.de:8440", "content-type": "application/json"}
                            Aber der body inhalt wäre super

                            eckerho1

                            Ja das habe ich alles versucht, der body inhalt wird nicht ausgegeben. Der Übergabeparameter auch nicht.
                            Zuletzt geändert von larsrosen; 25.09.2018, 08:28.
                            Wenn ich bei der Arbeit mit Computern eins gelernt habe, dann das ich einem Computer nur soweit traue, wie ich ihn werfen kann.

                            Kommentar


                              #15
                              Ich verwende in meinem Test den Body. Den kann ich in meinem Webhook empfangen.
                              Bin der Meinung, dass Json Data in den Body und nicht in die URL gehört.

                              Ist mit IFTTT aber super mühsam zu testen da es ewig geht bis die Aenderungen aktiv sind. Und die Fehlermeldungen (falls überhaupt vorhanden) meist nicht sehr helfreich sind.

                              Gruss, Holger
                              ECMACOM GmbH
                              Konzeption, Planung, Implementation, Unterhalt
                              www.ecmacom.ch
                              www.knxshop4u.ch

                              Kommentar

                              Lädt...
                              X