Samstag, 8. Dezember 2012

Auslesen der Geräteaktivität

Derzeit versuche ich die aufgezeichneten Daten der Geräte per Script abzurufen. Leider funktioniert das  noch nicht wie ich es mir vorgestellt habe.

Als erstes habe ich mir ein kleines Script gebaut, welches mittels curl die Daten abholen soll.



#!/bin/bash
# Log und Cookies löschen
rm log.txt
rm cookies.txt
#User und Pass
rwe_user=<User>
rwe_pass=<Pass>

# Cookies holen
curl -c cookies.txt --sessionid -A 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13 ( .NET CLR 3.5.30729)' -s https://mobile.rwe-smarthome.de/MobileWeb/Logon/Logon -o /dev/null --trace-ascii log.txt -D header.txt
#hiddendata=`cat Logon.html | grep value | grep __RequestVerificationToken | tr '=' ' ' | awk '{print $15}' | sed s/\"//g`==
rm Logon.html

# Daten für Login
postData=UserName=${rwe_user}'&'Password=${rwe_pass}'&'LoginButton=Anmelden


# Login
curl -d ${postData} -b cookies.txt -c cookies.txt --sessionid -A 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13 ( .NET CLR 3.5.30729)' -s https://mobile.rwe-smarthome.de/MobileWeb/Logon -o /dev/null --trace-ascii log.txt
# get Data
curl -b cookies.txt -c cookies.txt --connect-timeout 240 --sessionid -A 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13 ( .NET CLR 3.5.30729)' -s https://mobile.rwe-smarthome.de/MobileWeb/DeviceActivityLogging/Export  -o $(date +"%m%d%Y").csv --trace-ascii log.txt

Leider gibt es hier noch Probleme mit dem Login, so dass ich nach diesem sofort wieder abgemeldet werde und keine Daten abrufen kann.

4 Kommentare:

  1. Hey, soweit so gut, bist du hier schon weitergekommen? Ich würde gern die Sensoren auslesen (Temperatur und Luftfeuchtigkeit), dazu muss ich auf https://mobile.rwe-smarthome.de/MobileWeb/OverviewAndControl zugreifen und kann dann (wenn ich das einmal gecurlt hab) da alles raussammeln. benutze ich dein script und ändere bei getdata den link zu meinem ziel, bekomme ich eine "object has moved" info samt link wo's weitergeht, schnapp ich mir diesen an selber stelle, bekomme ich als output eine erromeldung dass javascript nicht unterstützt wird und das rwe zeugs deswegen keine lust mehr hat ;) meine daten liegen da aber in ganz einfachen html tags rum, kann ich dem ganzen irgendwie javascript vorgaukeln?

    AntwortenLöschen
  2. Ich vermute, dass curl die Cookies nicht sauber speichert, weil jeder Zugriff nach dem Login abgewiesen wird.

    AntwortenLöschen
  3. wieso hast du den hiddendata Teil auskommentiert? denkst du nicht das man diesen VerificationToken beim post mit übergeben sollte?

    AntwortenLöschen
  4. Ich habe es in beiden Varianten probiert, ohne Erfolg. Die Informationen (__RequestVerificationToken), welche ich an dieser Stelle herausfiltere, stehen auch im Session-Cookie.

    AntwortenLöschen