Hallo,
wie kann ich einen Befehl absetzen, der mir einmalig die Heizung im Zimmer x heute um Uhrzeit Y auf Z Grad setzt?
Ich will das nicht im Plan haben sondern nur adhock schalten. Notfalls auch per (linux) Konsole.
Jan
Das "at" commando ohne "*" vor der Urzeit führt Befehle einmalig aus
Details in der Hilfefunktion von FHEM.
Chipmunk
In der FHEM (Web) Konsole oder das linux at ?
Jan
Am besten im FHEMWIKI durchlesen:
http://lmgtfy.com/?q=fhemwiki+at (http://lmgtfy.com/?q=fhemwiki+at)
Danke für den TIP.
Es ist aber ein wenig müssig, einen ellen langen Befehl eingeben zu müssen, um die Heizungstemperatur in einigen Zimmern temporär zu ändern.
Gibts da kein Möglichkeit, sich sowas in der "Oberfläche" an zu legen oder ein Script in der (Linux) Konsole laufen zu lassen?
Jan
Klar gibt es für beide Varianten diverse Möglichkeiten, von denen in commandref, Wiki und Forum sicher einige zu finden sind.
Es ist aber ein wenig müßig, immer einen ellenlangen Beitrag zu schreiben, um einem Fragesteller ohne Eigeninitiative (und konkreter Frage, die sich aus dem bisherigen Versuch mit Fehlermeldung und Codeschnipsel ergeben hat) eine Fertiglösung zu erstellen, zu der dann mangels Verständnis/Willen garantiert noch weitere Fragen kommen, weil es nicht einfach per copy&paste sofort zur Zufriedenheit funktioniert.
Moment, so ist es ja wohl nicht. Ich habe eine exakte Frage gestellt. Und von "keiner" Eigeninitiative kann ja wohl keine Rede sein.
Es war mir leider nicht ersichtlich, dass der Befehl "at" heissen würde. Nach zig Suchen über "Zeitgesteuerte Schaltvorgänge" oder ähnliches bin ich nicht auf ein Ergebnis gestossen.
Darüber hinaus - ich bitte vorsorglich um Entschuldigung für den direkten Ton: Du muss ja nicht Antworten, wenn dir die Frage "zu blöd" ist.
Das ist der Grund, warum in diversen -(OpenSource/Linux- Lösungen) Foren sich Niemand traut, eine Frage zu stellen (nicht fhem spezifisch).
Seis drum. Leider habe ich auch mit der neuerlichen Suche nichts passendes gefunden, um die Heizung temporär - und mit einfachen Mitteln (über vor definierte Links zum Beispiel) - zu bestimmten Zeiten an und aus zu schalten (ohne mir lange Eingaben merken zu müssen - klar es gibt c&p, dennoch müssig). Somit ist diese Funktion für mich nur unzureichend abgedeckt. Und da es "scheinbar" keine weitere Hilfe dazu gibt, auch nicht weiter zu verfolgen.
Schade.
Jan
Pack mal Deine ganzen Heizungen in eine Structure und dann schaltest Du einfach die gesamte Structure.
Und etwas klarer sollte Deine Anfrage schon sein, oder besser sich nicht ständig ändern.
Zitat
der mir einmalig die Heizung im Zimmer x heute um Uhrzeit Y auf Z Grad setzt?
klingt anders wie
Zitat
um die Heizungstemperatur in einigen Zimmern temporär zu ändern
Bei mir kam Deine Frage so an als wenn Du nur mal eben schnell heute eine Heizung anschmeißen willst.
1. Ansonsten wie gesagt Structure ist Dein Freund. Hier fasst Du Heizungen zu einer "Gruppe" zusammen und kannst sie entsprechend schalten.
2. Du kannst Dir ganz einfach mit readingsGroup ein paar schalter Bauen um schnell was zu machen http://fhem.de/commandref.html#readingsGroup (http://fhem.de/commandref.html#readingsGroup)
Eine structur mit "Heizungen" halte ich für nich sehr sinnvoll. Dafür sind oft genug die Heizanforderungen für verschiedene Räume zu unterschiedlich. Da würde ich eher mit sinnvollen Namen und Devspec oder alternativ mit userattr und Devspec arbeiten.
Er will ja auch nur mal temporär ändern.
Zu mindest die Absenk oder Wohlfühltemp könnte man ja so schalten :D
Darum gehts.
Abgesehen davon, habe ich für alle Thermostate bereits Gruppen.
Diese wetrden in der tempList gespeichert.
Aber diese templist will ich nicht generell ändern, sondern eben mal jetzt den Befehl senden, dass ausnahmsweise heute Abend die Heizung anders geregelt werden soll.
Das "Structure" und/oder "Devspec"schaue ich mir gerne an.
Diese beiden Wörter hätten ja schon gereicht. Den Rest versuche ich selbst heraus zu finden.
jan
was das RT bietet ist - denke ich - klar.
mit Party kann man einen Zeitraum umschlaten und kommt dann in den normal mode zurück.
Ist man im Auto und setzt die temp bleibt diese erhalten bis der nächste Schaltzeitpunkt kommt. Der RT kommt also selbst wieder zurück.
Man kann auch eine remote programmieren oder simulieren. dann sendet man einen press und die Heizung geht an oder aus. Habe ich bei mir: wenn ich in der Ruhezeit doch zu hause bin drücke ich den Button und die Temp geht auf "anwesend" - bei allen HKs die ich einbeziehe. Ebenso kann ich "away" drücken. Dazu brauche ich einen Button - kurz ist "zuhause" lang ist "binWeg". Beim nächsten Umschaltpunkt geht die Automatik wieder dran. Zentrale wird nicht benötigt (ausser zum setup).
Hi,
danke für deine Ausführungen.
das kannte ich bereits, jedoch musst du vor Ort sein, um die entsprechenden Buttons drücken zu können.
Mir geht es um Sonderfälle, wo ich unterwegs keinen Internetzugriff habe und die Heizung dennoch am Abend oder wann auch immer, eingeschalten haben möchte. Das zum nächsten Schaltzeitpunkt wieder zur Templist zurück gekehrt wird, ist völlig OK.
Und ich wünschte mir einen (Linux-) Konsolen Befehl, mit dem ich das steuern kann.
Das wäre optimal.
Jan
Soweit ich weiß, kann man mittels "FHEM set ...." in der Linuxkonsole Kommandos an FHEM schicken.
Das kann man auch in ein Shellscript einbauen, dann musst du das Fhem at-Kommando nicht eintippen und kannst auch mit den üblichen Shellvariablen arbeiten um z.B. Uhrzeit oder Temperatur zu übergeben.
Habe ich selbst noch nicht benötigt, aber das Grundlegende steht alles in der Doku.
Etwas Eigenrecherge hilft viel weiter!
Chipmunk
das wird schwer. Du bist unterwegs, die Buttons sind nicht am Mann oder ausser reichweite und kein Internet. Über welches Interface wolltest du FHEM erreichen?
Falls du doch Internet hast und auf FHEM kommst kannst du
set rt_remote press short Btn1
das ist fast identisch zum drücken des Btn1 (kurz). Unterschied: Falls der Button mit 2 oder mehr Aktoren verknüpft ist wird dennoch nur rt_remote reagieren. Die anderen musst du separat triggern. Alternativ dazu kannst du einen Virtuellen Button einbauen und den triggern. Der Button schreibt dann alle Peers an
Zitat von: bforpc am 06 November 2015, 11:42:47
...Mir geht es um Sonderfälle, wo ich unterwegs keinen Internetzugriff habe und die Heizung dennoch am Abend oder wann auch immer, eingeschalten haben möchte...
Was hat das noch mit der ursprünglichen Frage zu tun ???
Zitatwie kann ich einen Befehl absetzen, der mir einmalig die Heizung im Zimmer x heute um Uhrzeit Y auf Z Grad setzt?
Ich will das nicht im Plan haben sondern nur adhock schalten. Notfalls auch per (linux) Konsole.
Ohne Internetzugriff hast Du m.E. nur noch eine Möglichkeit: Telefonanruf und Auswertung wenn Fritzbox vorhanden ist
Mit Internet könntest Du ne APP nutzen oder per mail/whatsapp Deinem fhem Thermostat und Temperatur mitteilen.
ZitatUnd ich wünschte mir einen (Linux-) Konsolen Befehl, mit dem ich das steuern kann.
Das wäre optimal.
Von der Linux-Konsole kannst Du per telnet- oder http-Aufruf einen Befehl an FHEM absetzen; manuell, scriptgesteuert, per cronjob...
Grundfrage wäre erstmal, ob das auf verschiedenen oder dem selben System läuft.
Ich bleibe dabei... Einsteiger.pdf und commandref lesen.
Bisher kamen 0 Codeschnipsel und die Aufgabenstellung ist noch immer wischi-waschi; ich bin bei diesem Thread raus.
Vielleicht hilft das ja jetzt :-)
Ich sag immer zu meinen Kindern: Man kann sich auch blöd stellen und versuche alles "nicht" zu verstehen.
Mir haben die Ausführungen der Anderen genügt, um mein Aufgabenstellung zu bewältigen.
Antworten wie RTFM kann man sich hier wohl ersparen ;-)
Daher hier mein Ansatz für alle, die gern ein Beispiel möchten und kein "Klugscheisser-Wischi-Waschi" mögen:
#!/bin/bash
HZ[5]="1.julia.thermostat_Clima"
HZ[7]="1.multimedia.thermostat_Clima"
HZ[6]="1.selina.thermostat_Clima"
HZ[4]="eg.bad.thermostat_Clima"
HZ[3]="eg.esszimmer_Clima"
HZ[2]="eg.flur_Clima"
HZ[1]="eg.schlafzimmer_Clima"
zs=$(date +%H%M%S)
usage(){
echo " Usage:"
echo " heizung.sh [zimmer Nummer] [zeit] [temperatur]"
echo ""
echo " Zimmer:"
echo " 1 EG Schlafzimmer"
echo " 2 EG Flur"
echo " 3 EG Esszimmer"
echo " 4 EG Bad"
echo " 5 1.OG Julia"
echo " 6 1.OG Selina"
echo " 7 1.OG Multimedia"
echo ""
echo " Zeit (hh:mm) : 17:15"
echo " Temperatur (2 stellig) : 17"
echo ""
}
zimmer=$1
zeit=$2
temp=$3
if [ $# -ne 3 ]; then
usage
exit 0
fi
AUSGABE="define temp_set_$zs at $zeit:00 set ${HZ[$zimmer]} desired-temp $temp.0"
echo $AUSGABE
echo $AUSGABE|netcat localhost 7072
echo "Done."
Jan