Werte aus einem Log auf den Sollwert des Homematic Heizkörper Reglers schreiben

Begonnen von cchuck, 03 Januar 2017, 14:27:18

Vorheriges Thema - Nächstes Thema

cchuck

Hallo zusammen,

ich mache da schon Wochen herum. Aber ich werde wohl zu doof dazu sein.
Wie kann ich Werte aus einem Log (das von einem anderen System geschrieben wird) auf den Sollwert eines Homematic Reglers schreiben?

Bin für jede Hilfe dankbar

Grüße und danke

dev0

Das logfile via tail in ein awk script pipen, das daraus ein fhem tauglichen set Befehl baut. Den Befehl via telnet an FHEM schicken. Oder mit dem perl Modul File::ReadBackwards eine Funktionieren schreiben, die die letzte Zeile auswertet und dann ebenfalls den gewünschten Befehl aufruft.

cchuck

Hallo Dev0,

danke für deine Antwort,
Leider fange ich damit nicht viel an. Wäre es möglich ein Beispiel zu machen?

Danke

dev0

Ein shell script sähe in etwa so aus, ungestet:


tail -n 1 -f logfile | awk -F " " '{print "set HM_HEIZUNG desired-temp " $2 ;}' | fhem.pl 7072


In diesem Beispiel wäre $2 der 2. Begriff in der Logzeile, der durch ein Space getrennt ist. Details zu tail und awk findest Du in den man pages. Der 'fhem.pl 7072' Aufruf ist in der commandref dokumentiert. Alternativ zum fhem.pl Aufruf kann man auch telnet, curl, wget, ... verwenden.

Irgendwo im Forum findet sich auch ein Beispiel zur Verwendung von File::ReadBackwards.

cchuck

Ich denke, dass ich mit meinen Kenntnissen nicht weiter komme. Ich bin eben ein Windows-Mensch.
Mein FHEM habe ich seit Jahren in Betrieb, aber ohne Specials.

Wenn ich dein Commando verwende :
tail -n 1 -f logfile | awk -F " " '{print "set HM_HEIZUNG desired-temp " $2 ;}' | fhem.pl 7072

bekomme ich den Fehler:

Unknown command tail

dev0

Zitat von: cchuck am 04 Januar 2017, 11:28:21
Ich denke, dass ich mit meinen Kenntnissen nicht weiter komme.

Du hast alle nötigen Informationen zur Verfügung, Dich nicht einarbeiten zu wollen ist Deine Entscheidung.

darkness

Zitat von: cchuck am 04 Januar 2017, 11:28:21
Unknown command tail

Das Programm muss auch installiert sein.
Stichwort Paketinstallation