Script einfügen

Begonnen von commanderno1, 29 Januar 2014, 22:33:26

Vorheriges Thema - Nächstes Thema

commanderno1

Servus an alle,
ich bin neu hier hab schon seit etwa ½ Jahr mein FHEM auf einem Raspberry Pi laufen.
Da ich mir jetzt das Gateway für meine Solaranlage geleistet habe hab ich ein Problem.
Wie muss ich einen Script in mein System einfügen. Es geht um dieses hier.
Hauptsätzlich geht es mir um die Verzeichnisse. Wie muss ich das ganze ausführen?
Ich fang bei, ich bin am Terminal angemeldet und als Root aktive.
Hier der Script und FHEM ist natürlich klar.

Danke für die Hilfe.
Erik

FHEM Config:
define Photovoltaik dummy
define pv_timer at +*00:02:00 "/Users/akw/enecsys.sh"
Shell script:
#!/bin/sh
USERNAME="<EMAIL>"
PASSWORD="<PASSWORD>"
FILEPATH=/tmp

touch $FILEPATH/cookies.txt
curl -s https://monitor.enecsys.net/ews/InstallationService.asmx/GetCurrentInstallationStatus -b $FILEPATH/cookies.txt > $FILEPATH/soap.xml

grep -q "No valid installation id available in session" $FILEPATH/soap.xml

if [ "$?" = 0 ]; then
   echo "Session expired!"

   curl -s https://monitor.enecsys.net/default.aspx?q=login -c $FILEPATH/cookies.txt > $FILEPATH/page.html
   VIEWSTATE=$(cat $FILEPATH/page.html | awk -F\" '/__VIEWSTATE/ { print $8 }')
   EVENTVALIDATION=$(cat $FILEPATH/page.html | awk -F\" '/__EVENTVALIDATION/ { print $8 }')
   rm -f $FILEPATH/page.html

   echo "Posting login..."   
   curl -s https://monitor.enecsys.net/ -b $FILEPATH/cookies.txt -c $FILEPATH/cookies.txt \
      --data-urlencode "__VIEWSTATE=$VIEWSTATE" \
      --data-urlencode "__EVENTVALIDATION=$EVENTVALIDATION" \
      --data-urlencode "login1%24UserName=$USERNAME" \
      --data-urlencode "login1%24Password=$PASSWORD" \
      --data-urlencode "login1%24btnLogin=Login" > /dev/null
   
   echo "Loading loginChoice.aspx..."
   curl -s https://monitor.enecsys.net/Pages/loginChoice.aspx -b $FILEPATH/cookies.txt -c $FILEPATH/cookies.txt > /dev/null
     
   echo "Loading customerInstallations.aspx..."
   curl -s https://monitor.enecsys.net/Pages/customerInstallations.aspx -b $FILEPATH/cookies.txt -c $FILEPATH/cookies.txt > /dev/null
else
   POWER=$(cat $FILEPATH/soap.xml | awk -F"[<>]" '/<CurrentACPower>/ { print $3 }')
   rm -f $FILEPATH/soap.xml
   echo "W: $POWER"
   /Users/akw/src/fhem/fhem.pl 7073 "set Photovoltaik W: $POWER"
fi
   

Wernieman

Unter welcher Berechtigung läst Du fhem laufen? (root ist NICHT klar)
Dieser user muß das Script lesen und Ausführen können und den Pfad erreichen können
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

commanderno1

Zitat von: Wernieman am 30 Januar 2014, 07:53:34
Unter welcher Berechtigung läst Du fhem laufen? (root ist NICHT klar)
Dieser user muß das Script lesen und Ausführen können und den Pfad erreichen können
fhem hat volle Zugriffsrechte.

Wernieman

The same thn last year ....

ZitatUnter welcher Berechtigung läst Du fhem laufen? (root ist NICHT klar)

bitte sage den user und vergleiche Ihn mit dem user, dem das Script gehört
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

commanderno1

Ich stehe gerade auf dem schlauch. Kannst du mir sagen wie ich das heraus finde?

Danke

akw

Das Script ist nicht mehr nötig, um die Daten auszulesen, da man sie direkt aus dem Enecsys Gateway bekommen kann.
--> http://forum.fhem.de/index.php/topic,14414.msg144328.html
FHEM-SVN auf MacMini OSX 10.7.5

FS20,FHT,HMS,CUL_WS,CUL_HM,KS300,HUE,FB_DECT

FHEMobile: www.fhemobile.de