HomeMatic - CCU-Historian

Status
Für weitere Antworten geschlossen.

CS407Rudi

Benutzer
Mitglied seit
20. Dez 2008
Beiträge
171
Punkte für Reaktionen
6
Punkte
24
Hallo Rookman

Danke für Deine Mühe. Ich habe ein paar Fragen dazu.
Zuerst habe ich IPKG installiert und das scheint funktioniert zu haben. Dann habe ich Dein Script für meine DS1010+ angepasst und habe erst einmal versucht das Script mit start stop restart zu testen. Der Start klappt einwandfrei, auch wenn ich die DS Kiste neustarte. Der Stop dagegen geht gar nicht. im Telnetfenster kann ich den Befehl nur mit CTRL C abbrechen. Restart geht demzufolge auch nicht weil der Stop Befehl nicht geht.

Meine Pfade lauten:
# Path Variablen
PATH_PROG="/volume5/CCU"
PATH_JAVA="/volume1/@appstore/java6/jre/bin"

Folgender Zweig wird korrekt ausgeführt, zweimaliger Start klappt mit der entsprechender Fehlermeldung nicht.

# nohup $PATH_JAVA/java -jar ccu-historian.jar 2>/dev/null &
$PATH_JAVA/java -jar ccu-historian.jar 2>/dev/null &
echo "*** ccu-historian wurde gestartet ***"
else
echo "*** ccu-historian laeuft schon ***"
fi
}

Der Stop Zweig enthält den Befehl /opt/bin/killall java 2>/dev/null
Wenn ich den Befehl auf der Telnet Kommandozeile ausführe wird er ohne Fehlermeldung akzeptiert. Aber CCU stoppt leider nicht.

Starte ich das Script mit dem Stop Schalter:
/opt/etc/init.d/S99_ccu-historian.sh stop
komme ich nicht mehr auf die Eingabezeile zurück. Das Script hängt und muß mit CTRL C abgebrochen werden.

Hierzu könnte ich etwas Hilfe gebrauchen.

Da die DS auch nicht mehr runterfährt, muß ich dieses Problem unbedingt lösen.

LG Rudi
 

Rookman

Benutzer
Mitglied seit
04. Mrz 2011
Beiträge
42
Punkte für Reaktionen
2
Punkte
8
Hallo Rudi,

wenn Du im Telnet auf der DS killall java eingibst, sollt der CCU-Historien beendet werden.

Schau auch mal ob bei deiner DS killall auch unter /opt/bin liegt wie bei mir.

Gruß Rookman
 

CS407Rudi

Benutzer
Mitglied seit
20. Dez 2008
Beiträge
171
Punkte für Reaktionen
6
Punkte
24
Hallo Rookman

Hallo Rudi,
wenn Du im Telnet auf der DS killall java eingibst, sollt der CCU-Historien beendet werden.
Schau auch mal ob bei deiner DS killall auch unter /opt/bin liegt wie bei mir.
Gruß Rookman

Nach ein wenig rumprobieren muß die Stop Zeile bei mir so heißen:
killall java -jar ccu-historian.jar 2>/dev/null dann funktioniert der Stop.

Trotzdem scheint der Stop Zweig nicht ganz "sauber" zu sein. Wenn ich bei laufender CCU das Script beende, erhalte ich die Meldung
*** ccu-historian ist schon beendet *** Es müßte eigentlich die andere Meldung kommen: *** ccu-historian wurde erfolgreich beendet ***. Die erste Meldung kommt auch wenn die CCU schon gestoppt ist, was wiederum richtig wäre
Komisch
Na ich werde noch ein wenig rumschrauben.
Danke erst einmal. So bin ich schon ein Stück weitergekommen.

LG Rudi
 

CS407Rudi

Benutzer
Mitglied seit
20. Dez 2008
Beiträge
171
Punkte für Reaktionen
6
Punkte
24
So jetzt klappts vernünftig. Mußte die Sleeptime im Stop Zweig etwas erhöhen (Siehe Rot)

stop() {
VAR_PS2=$(ps | grep java | grep -v grep | wc -l)
if [ $VAR_PS2 -eq 0 ]
then
echo "*** ccu-historian ist schon beendet ***"
else
killall java 2>/dev/null
sleep 5
VAR_PS3=$(ps | grep java | grep -v grep | wc -l)
if [ $VAR_PS3 -eq 0 ]
then
echo "*** ccu-historian wurde erfolgreich beendet ***"
else
sleep 1
stop
fi
fi
}

LG Rudi
 

Rookman

Benutzer
Mitglied seit
04. Mrz 2011
Beiträge
42
Punkte für Reaktionen
2
Punkte
8
Super das freud mich :)

Ich habe auch noch mal geschaut, komischerweise habe ich zwei killall Binaries auf meiner DS, IPKG schein seine Eigene zu installieren.
Die zum Betriebssystem gehörende ist unter "/usr/bin/" ich habe mein Script entsprechend angepasst, bei mir hat es ohne den kpl. Path nämlich nicht funktioniert.

Gruß Rookman
 

mosmutzel

Benutzer
Mitglied seit
17. Dez 2007
Beiträge
15
Punkte für Reaktionen
0
Punkte
0
Hallo,
ich versuche nun ach seid einiger Zeit Java auf meiner alten Dame (DS 207+) zu installieren.
Da auf der DS207+ nur der DSM 3.2 läuft habe ich nicht die Möglichkeit links zu reposity packages anzugeben.
Bin auf der Suche nach Java für die DS207+ auf diese Seite gestoßen und konnte mir dort ein .spk für die 1.7er Java Version herunter laden: http://packages.missilehugger.com/

Dieses Paket habe ich auch erfolgreich in der Paketverwatung der DS Installieren können:
http://packages.missilehugger.com/spks/java-88f5281-1.7.0_06-1.spk

Zusätzlich habe ich von oracle dieses Java Paket geladen und im Verzeichniss /volume1/puplic abgelegt.
ejre-7u10-fcs-b18-linux-arm-sflt-headless-28_nov_2012.tar.gz

eine Verknüpfung liegt in /usr/bin/
Rich (BBCode):
   0 lrwxrwxrwx    1 root     root            32 Dec 18 12:14 java -> /volume1/@appstore/java/bin/java

gehe ich in das Verzeichnis und rufe java auf bekomme ich folgende Fehlermeldung:
Rich (BBCode):
DiskStation> cd /volume1/@appstore/java/bin
DiskStation> ls -ls
   4 ---x--x--x    1 root     root          3368 Aug 10 05:11 java
   4 -rwxrwxrwx    1 root     root          3468 Aug 10 05:11 keytool
DiskStation> java
-ash: java: not found

Soweit zum ersten Versuch.

Zweiter Versuch....
das oracle Paket entpackt und hier abgelegt:
Rich (BBCode):
DiskStation> cd /usr/local/java/ejre1.7.0_10/bin
DiskStation> ls -ls
   4 ---x--x--x    1 10       dovecot       3368 Nov 28 14:37 java
   4 -rwxr-xr-x    1 10       dovecot       3468 Nov 28 14:37 keytool
DiskStation> java
-ash: java: Permission denied

auch ein chmod a+c java hat nichts gebracht..

dritter Versuch:
über ipkg jamvm installiert..

Rich (BBCode):
DiskStation> cd /volume1/CCU-Historian 
DiskStation> jamvm -jar ccu-historian.jar
java.lang.ExceptionInInitializerError
   at org.codehaus.groovy.reflection.ReflectionCache.getCachedClass(ReflectionCache.java:107)
   at org.codehaus.groovy.reflection.ReflectionCache.<clinit>(ReflectionCache.java:52)
   at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.registerMethods(MetaClassRegistryImpl.java:161)
   at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.<init>(MetaClassRegistryImpl.java:83)
   at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.<init>(MetaClassRegistryImpl.java:61)
   at groovy.lang.GroovySystem.<clinit>(GroovySystem.java:29)
   at org.codehaus.groovy.runtime.InvokerHelper.<clinit>(InvokerHelper.java:49)
   at org.codehaus.groovy.runtime.callsite.CallSiteArray.createCallConstructorSite(CallSiteArray.java:71)
   at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:54)
   at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:182)
   at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:186)
   at mdz.ccuhistorian.Main.<clinit>(Main.groovy:12)
   at java.lang.VMClass.forName(Native Method)
   at java.lang.Class.forName(Class.java:233)
   at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:56)
   at java.lang.reflect.Method.invokeNative(Native Method)
   at java.lang.reflect.Method.invoke(Method.java:367)
   at jamvm.java.lang.JarLauncher.main(JarLauncher.java:50)
Caused by: java.lang.NullPointerException
   at java.lang.ref.Reference.<init>(Reference.java:125)
   at java.lang.ref.WeakReference.<init>(WeakReference.java:77)
   at org.codehaus.groovy.reflection.ClassInfo.<clinit>(ClassInfo.java:413)
   at org.codehaus.groovy.reflection.ReflectionCache.getCachedClass(ReflectionCache.java:107)
   ...17 more
java.lang.reflect.InvocationTargetException
   at java.lang.reflect.Method.invokeNative(Native Method)
   at java.lang.reflect.Method.invoke(Method.java:367)
   at jamvm.java.lang.JarLauncher.main(JarLauncher.java:50)
Caused by: java.lang.NoClassDefFoundError: org/codehaus/groovy/reflection/ReflectionCache
   at org.codehaus.groovy.runtime.dgmimpl.NumberNumberMetaMethod.<clinit>(NumberNumberMetaMethod.java:90)
   at java.lang.reflect.Constructor.constructNative(Native Method)
   at java.lang.reflect.Constructor.newInstance(Constructor.java:328)
   at java.lang.Class.newInstance(Class.java:1154)
   at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.createMetaMethodFromClass(MetaClassRegistryImpl.java:212)
   at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.<init>(MetaClassRegistryImpl.java:86)
   at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.<init>(MetaClassRegistryImpl.java:61)
   at groovy.lang.GroovySystem.<clinit>(GroovySystem.java:29)
   at org.codehaus.groovy.runtime.InvokerHelper.<clinit>(InvokerHelper.java:49)
   at org.codehaus.groovy.runtime.callsite.CallSiteArray.createCallConstructorSite(CallSiteArray.java:71)
   at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:54)
   at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:182)
   at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:186)
   at mdz.ccuhistorian.Main.<clinit>(Main.groovy:12)
   at java.lang.VMClass.forName(Native Method)
   at java.lang.Class.forName(Class.java:233)
   at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:56)
   at java.lang.reflect.Method.invokeNative(Native Method)
   ...2 more
DiskStation>

scheinbar unterstützt jamvm kein groovy..

wer kann wir weiterhelfen????

lg Rene
 

joku

Benutzer
Mitglied seit
06. Mrz 2011
Beiträge
6.664
Punkte für Reaktionen
2
Punkte
164
gehe ich in das Verzeichnis und rufe java auf bekomme ich folgende Fehlermeldung:
Rich (BBCode):
DiskStation> java
-ash: java: not found
Hallo Rene, im Verzeichniss immer mit ./
oder /da/wo/java /und/was/soll.jar
oder den PATH erweitern :)

Gruß Jo
 

mosmutzel

Benutzer
Mitglied seit
17. Dez 2007
Beiträge
15
Punkte für Reaktionen
0
Punkte
0
Code:
DiskStation> cd /volume1/@appstore/java/bin
DiskStation> ls
java     keytool
DiskStation> ./java
-ash: ./java: not found

auch kein Erfolg!
 

joku

Benutzer
Mitglied seit
06. Mrz 2011
Beiträge
6.664
Punkte für Reaktionen
2
Punkte
164
Als root natürlich.
Ok,. wenn ich das alles richtig verstehe, hast Du jetzt dreimal Java installiert.
Sind die Pfade und Variablen alles gesetzt und auf welcher Version?
Ich würde mich füer eine Version eintscheiden :)

Gruß Jo
 

mosmutzel

Benutzer
Mitglied seit
17. Dez 2007
Beiträge
15
Punkte für Reaktionen
0
Punkte
0
also ich habe alles bis auf die erste version via http://packages.missilehugger.com/spks/java-88f5281-1.7.0_06-1.spk
deinstalliert.

Code:
DiskStation> export
export HOME='/root'
export JAVA_HOME='/usr/bin/java'
export LOGNAME='root'
export MAIL='/var/mail/root'
export OLDPWD='/volume1/@appstore/java/bin'
export PAGER='more'
export PATH='/usr/bin/java/bin:/opt/bin:/opt/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/syno/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/syno/bin:/usr/syno/sbin:/usr/local/bin:/usr/local/sbin'
export PGDATA='/var/service/pgsql'
export PWD='/usr/bin'
export SHELL='/bin/ash'
export SSH_CLIENT='192.168.0.3 49437 22'
export SSH_CONNECTION='192.168.0.3 49437 192.168.0.10 22'
export SSH_TTY='/dev/pts/0'
export TERM='xterm-color'
export TZ='CET-1CEST,M3.5.0,M10.5.0/3'
export USER='root'
DiskStation> which java
/usr/bin/java
DiskStation> ./java
-ash: ./java: not found
DiskStation> cd /usr/bin
DiskStation> ls -l
lrwxrwxrwx    1 root     root            32 Dec 18 20:21 java -> /volume1/@appstore/java/bin/java
DiskStation> cd /volume1/@appstore/java/bin/
DiskStation> ls -l
-rwxrwxrwx    1 root     root          3368 Aug 10 05:11 java
-rwxrwxrwx    1 root     root          3468 Aug 10 05:11 keytool
 

MaCoM

Benutzer
Mitglied seit
06. Dez 2009
Beiträge
347
Punkte für Reaktionen
0
Punkte
0
hast du denn jetzt mal versucht CCU-Historien zu starten mit : ($JAVA_PATH/java -jar $TARGET_PATH/ccu-historian.jar) &

bei mir ist
$JAVA_PATH = /volume1/@appstore/java7/jre/bin
$TARGET_PATH = /opt/share/ccu-historian
das müsstest du natürlich an deine verhaeltnisse anpassen.

Ich habe das gefühl das du versuchst JAVA zu starten.
JAVA wird aber beim aufruf des CCU-Historien mitgestartet.
 

mosmutzel

Benutzer
Mitglied seit
17. Dez 2007
Beiträge
15
Punkte für Reaktionen
0
Punkte
0
das sieht alles gut aus, hast Du mal
/usr/bin/java
versucht ?
mit dem ./java bist Du in /usr/bin/ ?

Gruß Jo

Ich habe es in alles verlinkten Verzeichnissen und im /volume1/@appstore/Java/bin Verzeichnis versucht.
Warum Rufe ich Java direkt auf und nicht mit den Parametern für den CCU-historian.. Um erst mal zu sehen ob ich von Java eine Rückmeldung bekomme ob es läuft und ansprechbar ist.

Natürlich habe ich im Java Verzeichnis auch probiert: java -version

Ich bin mit meinen Kenntnissen erst mal am Ende :-(

Gruß René
 

MaCoM

Benutzer
Mitglied seit
06. Dez 2009
Beiträge
347
Punkte für Reaktionen
0
Punkte
0
ich bekomme das :

DS-209> /volume1/@appstore/java7/jre/bin/java -version
java version "1.7.0_10"
Java(TM) SE Embedded Runtime Environment (build 1.7.0_10-b18, headless)
Java HotSpot(TM) Embedded Client VM (build 23.6-b04, mixed mode)

beim aufruf !

alledings ist meines über den paketmanager unter " /volume1/@appstore/java7" installiert worden.

DS-209> set
HOME='/root'
JAVA_HOME='/volume1/@appstore/java7/jre'
 

joku

Benutzer
Mitglied seit
06. Mrz 2011
Beiträge
6.664
Punkte für Reaktionen
2
Punkte
164
alledings ist meines über den paketmanager unter " /volume1/@appstore/java7" installiert worden.
Hallo, danke für diese Info, nun sollte mosmutzel es so installieren wie Du. Gruß Jo
 

MaCoM

Benutzer
Mitglied seit
06. Dez 2009
Beiträge
347
Punkte für Reaktionen
0
Punkte
0
Ich glaube das genau das nicht geht bei ihm da er eine 207+ hat mit einem 3.2 DSM.
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat