Hauptmenü

at Zeitangabe

Begonnen von maci, 18 März 2017, 19:56:02

Vorheriges Thema - Nächstes Thema

maci

Hallo,

Ich habe mir mehrere Dummys angelegt wo ich vorgaben speichere.
Bei Zeitangaben mache ich es so:
define Pumpe_Ein dummy
attr Pumpe_Ein room 2.09_Heizung_Vorgaben
attr Pumpe_Ein setList state:AUS,03:00,03:15,03:30,03:45,04:00,04:15,04:30,04:45,05:00,05:15,05:30,05:45,06:00,06:15,06$
attr Pumpe_Ein sortby 10
attr Pumpe_Ein webCmd state


Wenn ich nun allgemeine Freigaben nach Zeit machen will hätte ich es so gemacht:
define HeizungspumpeON at *Pumpe_Ein set Freigabe_Heizungspumpe on
attr HeizungspumpeON room 9.05_interne_Schalter


Doch das will fhem nicht, denn ich bekomme diese Meldung:
Wrong timespec Pumpe_Ein: either HH:MM:SS or {perlcode} Unknown command defineHeizungspumpeOFF, try help.

Auch diese Variante funktioniert nicht:
define HeizungspumpeON at *[Pumpe_Ein] set Freigabe_Heizungspumpe on
attr HeizungspumpeON room 9.05_interne_Schalter


Dass ich das als Perl angebe, wird auch nicht gehen, denn der Dummyinhalt ist ja keine Perl Inhalt.

Lässt sich das lösen?
Fhem auf Dell Thinclient, Fhem auf Raspebrry Pi4,
UniPi Vers. 1.1 mit Raspberry Pi3, 1wire USB Adapter mit OWX
Netatmo Wetterstation + Regenmesser + Netatmo Thermostat
Homematic mit HMLan

KernSani

Readings eines devices kannst du mit den perl-Funktionen Value (für den state) bzw. ReadingsVal (für alle Readings) auslesen.

Gick mal hier
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

viegener

Ich denke die Angabe eines Zeitpunkts der in einem Dummy definiert ist geht am ehesten mit DOIF und in der commandref sieht man das auch in den Beispielen für Zeitsteuerung --> Achtung bei DOIF müssen dann doppelte [] stehen, einmal für Zeitsteuerung und einmal für den Device/reading

siehe einfach in der commandref für DOIF
https://fhem.de/commandref_DE.html#DOIF_Zeitsteuerung
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

maci

Zitat von: viegener am 18 März 2017, 22:00:46
Ich denke die Angabe eines Zeitpunkts der in einem Dummy definiert ist geht am ehesten mit DOIF und in der commandref sieht man das auch in den Beispielen für Zeitsteuerung --> Achtung bei DOIF müssen dann doppelte [] stehen, einmal für Zeitsteuerung und einmal für den Device/reading

siehe einfach in der commandref für DOIF
https://fhem.de/commandref_DE.html#DOIF_Zeitsteuerung

Ich habe das ganze ein DOIF eingebaut. Hier funktioniert es ohne Probleme.
Ich bin bei kurzen Tests draufgekomen, dass es an der anderen Stelle zu Fehlfunktionen gekommen wäre.
Fhem auf Dell Thinclient, Fhem auf Raspebrry Pi4,
UniPi Vers. 1.1 mit Raspberry Pi3, 1wire USB Adapter mit OWX
Netatmo Wetterstation + Regenmesser + Netatmo Thermostat
Homematic mit HMLan

Ellert

Zitat von: maci am 19 März 2017, 08:30:59
Ich habe das ganze ein DOIF eingebaut. Hier funktioniert es ohne Probleme.
Ich bin bei kurzen Tests draufgekomen, dass es an der anderen Stelle zu Fehlfunktionen gekommen wäre.

Du könntest die setList auch in das DOIF einbauen, etwa so:

define Pumpe_Ein DOIF ([[$SELF:P_ein]]) (set Freigabe_Heizungspumpe on) DOELSEIF  ([[$SELF:P_aus]]) (set Freigabe_Heizungspumpe off)
attr Pumpe_Ein readingList P_ein P_aus
attr Pumpe_Ein setList P_ein:03:00,03:15,03:30,03:45,04:00,04:15,04:30,04:45,05:00,05:15,05:30,05:45,06:00,06:15,06 P_aus:03:00,03:15,03:30,03:45,04:00,04:15,04:30,04:45,05:00,05:15,05:30,05:45,06:00,06:15,06
attr Pumpe_Ein webCmd P_ein:P_aus

viegener

Zitat von: maci am 19 März 2017, 08:30:59
Ich habe das ganze ein DOIF eingebaut. Hier funktioniert es ohne Probleme.
Ich bin bei kurzen Tests draufgekomen, dass es an der anderen Stelle zu Fehlfunktionen gekommen wäre.

Das verstehe ich nicht Du definierst doch ein at und kein DOIF oben, was heisst Du hast es in ein DOIF eingebaut und was für Fehlfunktionen?
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können