Hallo, blöder Titel, wusste aber nicht, wie besser beschreiben. Folgendes Scenario: Meine Wärmepumpe kann über ein sog. Internet-Gateway (ISG) über einen Browser programmiert werden. Man kann z.B. eine Absenkung in einem Wochenprogram hinterlegen, und wenn man auf Speichern klickt, wird das in die Steuerung zurückgeschrieben. Nun möchte ich aber neben der Absenkung zu den kältesten Stunden um 1 Grad auch eine Anhebung zu den wärmsten Stunden um 1 Grad programmieren, um die Wärmepumpen-Arbeitszahl etwas zu erhöhen (geringfügig). Das kann die Steuerung aber nicht. Die kann nur eine Tag und eine Nacht-Temperatur. Die Anhebung müsste man jeden Tag gezielt zur passenden Zeit automatisiert umstellen. Eigentlich müsste ich dazu nur einmal abfangen, was ich bei der angehobenen Periode als Vorgabe-Raumtemperatur einstellen möchte, und das dann per Software automatisiert schicken. Ein PC läuft immer, eine entsprechende Software hätte ich auch. Wie fange ich nun ab, was der Browser z.B. beim Drücken von Speichern nach Erhöhung der Solltemperatur um 1Grad an die ISG schickt? Wie kann man das mitschneiden? Dankbar für Hinweise. Grüsse
Was an den Server so gesendet wird, zeigt Dir Firefox in Firebug an. Wireshark braucht man für Webanwendungen nicht unbedingt.
Danke an Euch beide. Ich will mal den Firebug probieren. Den hab ich auch installiert und aktiviert, nur jetzt bin ich leicht überfordert. Ich lade also meine Seite, drücke den Button "Speichern", und nun? Bitte noch um einen weiterführenden Tip, bin leider in html/Java nicht allzu bewandert. Danke
Firebug öffnen Auf den Tab Netzwerk gehen, ggf. "Dauerhaft" anklicken Webseite öffnen + speichern Nun solltest du die Daten sehen die zum Server kommuniziert wurden. Gruß Roland
OK, danke. Ich sehe zunächst jede Menge GET's beim Laden der Seite. Damit holt er sich von der Heizung offensichtlich, was dort gespeichert ist. Wenn ich nun auf Speichern klicke, zeigt mir Firebug einen "POST save.php" an, bzw. wenn ich mit der Maus drübergehe, ein "http://heizung/save.php". Ein paar Verständnisfragen bitte noch: Als Detail sehe ich einen Antwort und Anfrage-Header. Der Anfrageheader wird wohl vom Browser generiert, nehm ich an: POST /save.php HTTP/1.1 Host: heizung User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0 Accept: text/plain, */*; q=0.01 Accept-Language: de,en-US;q=0.7,en;q=0.3 Accept-Encoding: gzip, deflate DNT: 1 Content-Type: application/x-www-form-urlencoded; charset=UTF-8 X-Requested-With: XMLHttpRequest Referer: http://heizung/?s=4,0 Content-Length: 194 Cookie: PHPSESSID=223c6cabdbe41318346e0259bec4ca57 Connection: keep-alive Pragma: no-cache Cache-Control: no-cache Weiterhin sehe ich unter Post: data [{"name":"val16","value":"21,0"},{"name":"val17","value":"20,0"},{"name" :"val25","value":"0,30"}] Das sind die Einstellungen. Reichte es dann, einfach den Post (also die Daten) zu schicken, oder muß ich diesen Anfrageheader irgendwie mit den Daten zusammenfahren? Sorry für die Dummy-Fragen, ich vermute, es ist ganz einfach. Wäre dankbar noch für den ein/anderen Tip. Wenn man nach html googled wird man als Laie erschlagen mit der Flut an Info. Grüsse
Hab noch mal weiterge-googled. Verstehe ich das richtig, ich müsste nur eine Zeile http://heizung/save.php&Zeile1&Zeile2&Zeile3& .... &LetzteZeile schicken, wobei die Zeilen zunächst der Anfrageheader und dann die Datenzeile ist? Grüsse
Beim Post gehören die Daten in den Body der Nachricht. Wie du es auch siehst. Das Anhängen an die URL macht man beim Get. (Oder auch zusätzlich beim Post, in diesem Fall jedoch scheinbar nicht.) Curl wäre das Schweizer Taschenmesser für so etwas, damit bekommt man auch Dinge wie vorher Anmelden und Cookies gelöst.
Hab ich schon Danke gesagt? Danke schön. Curl läuft schon mal, gibt zwar noch Probleme, aber bin noch am Probieren.
Ich würde einfach mal ausprobieren einen GET request zu benutzen. Also
1 | http://heizung/save.php?val16=21&val17=20&val25=0 |
Wenn du das Kommazeichen für Fließkommazahlen brauchst, musst du es in der URL durch einen entsprechenden Code (%2C) ersetzen. Vermutlich so:
1 | http://heizung/save.php?val16=21%2C0&val17=20%2C0&val25=0%2C3 |
:
Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.