Hallo,
mit folgender Anordnung lese ich Zaehlerstände von einem SiemensTD3511 per YPORTX (WLAN) aus :
define EHT_Zaehlerstand VOLKSZAEHLER 192.168.2.4 80 46412790-c159-11e5-ae2f-3f2b5edecf9d average 120
das funktioniert auch sehr gut. Ab und zu - manchmal nur 1 mal in der Woche - stoppt das Auslesen ???
Dann logge ich mich per Browser auf dem YPORTX ein - mache einen Neustart - und es läuft wieder.
Wie könnte man das automatisieren ? Ist es möglich aus FHEM heraus einen regelmäßigen Neustart einzuleiten ?
Habe das zwar von der Konsole aus versucht - aber ohne Erfolg.
Über Hilfe würde ich mich freuen.
Gruß Peter
Hi,
ich würde es mit einem Perl Script versuchen. Such mal nach LWP und/oder LWP::UserAgent.
Evtl. geh da was.
:)
linuxpaul
Hallo linuxpaul,
danke für Deine schnelle Antwort, da ich null Ahnung von Programmieren habe und dies mit 70 auch kaum noch schaffen werde möchte ich mein Problem etwas genauer beschreiben.
mit ssh kann die Verbindung zum YPORT auf der Konsole hergestellt werden und dieser verlangt das Passwort
danach führe ich das "/sbin/reboot" aus, was ja auch funktioniert.
$ ssh root@192.168.2.xxx
root@192.168.2.xxx's password:yyyyy
root@YPORT:~#/sbin/reboot
aber wie bekommt man das in ein automatisch auszuführendes skript ?
Gruß Peter
Du kommt mit ssh drauf?
Dann wird das viel einfacher :)
google mal nach dem linux Kommando expect.
:)
linuxpaul
Beispiel:
#!/usr/bin/expect
set addr "192.168.2.xxx"
set login "root"
set pw "password"
set timeout -1
spawn ssh root@192.168.2.xxx
expect "$login@$addr\'s password:"
send "$pw\r"
expect "root@YPORT"
send /sbin/reboot
Sollte der YPORT eine ssh Anmeldung via Cert ermöglichen,
geht das auch ohne expect.
:)
linuxpaul
Hallo linuxpaul,
hat bei mir etwas länger gedauert, aber ich habe es auch geschafft, bestimmt nicht nach Regeln - schau es mal an :
#!/usr/bin/expect
set host [lindex $argv 0]
set timeout 2
spawn /usr/bin/ssh root@192.168.2.146
expect "(yes/no)? " {
send "yes\r"
}
expect "password:"
send "admin\r"
expect "#"
send "cd /sbin\r"
send "reboot\r"
interact
es funktioniert, habe es in einem 2.Terminal mit ping beobachtet.
Natürlich werde ich Dein professionelles skript übernehmen, bin aber trotzdem ein bisschen stolz.
Werde Dir berichten wenn ich Deines übernommen habe.
Gruß Peter
Ole, Ole,
Hast'e doch Gut gemacht.
Andere Lösungen müssen nicht immer besser oder schlechter sein,
sie zeigen allenfalls die Anforderung aus einem anderen Blickwinkel.
Weiter so !!!
:)
linuxpaul
Hallo linuxpaul,
habe in Deinem skript noch 2 Sachen geändert und dann hat es auch funktioniert :
send "/sbin/reboot\r"
interact
einfach klasse, danke Dir für Deine Geduld.Wenn ich mit einem weiteren Problem um Hife fragen darf ?
Habe ein skript mit dem ich in Linux per playonlinux ein Excelmakro ablaufen lasse. Dieses skript läuft auf der Konsole ohne
Probleme, auch der Inhalt funktioniert so, aus crontab aber nicht.
mein skript :
/usr/bin/auto_open.sh
#!/bin/bash
#
/usr/share/playonlinux/playonlinux --run "Microsoft Excel 2010" /home/anlagenprotokoll/auto_open.xlsm
Habe natürlich schon in fhem und linux Foren um Rat gefragt, aber noch keine Lösung gefunden.
zur Zeit mache ich das mit :
watch -n86400 -x /usr/bin/auto_open.sh
das läuft jetzt auch schon einige Wochen, hat aber den Nachteil, daß bei einem Netzausfall das Kommando um 22:00 Uhr neu gestartet werden muss.
Also wenn es dich nicht zu sehr belastet, kannst es ja mal anschauen.
erstmal viele Grüße aus dem Nordschwarzwald von Peter
playonlinux? Cool, kenn ich noch gar nicht, schau ich mir mal an.
ich schick dir ein PN mit meiner mail Addresse, da das jetzt nichts mehr mit FHEM zu tun hat.
:)
linuxpaul