geänderte Wert sofort übernehmen

Begonnen von inter#79, 24 Januar 2017, 17:23:25

Vorheriges Thema - Nächstes Thema

inter#79

Hallo,

teste gerade einen at Befehl und möchte den Offset über eine Dummy Variable veränderbar machen. Leider ändert sich nicht sofort die neu errechnete Zeit bei folgendem Code:

define du_s_treppe dummy
attr du_s_treppe room Treppenaufgang_du
attr du_s_treppe webCmd on:off
define du_h_treppe dummy
attr du_h_treppe room Treppenaufgang_du
define du_treppe_on at *{sunset(ReadingsVal("du_delay","state","0"),"16:00","21:00")} set du_s_treppe on
attr du_treppe_on room Treppenaufgang_du
define du_treppe_off at *21:30:00 set du_s_treppe off
attr du_treppe_off room Treppenaufgang_du
define du_delay dummy
attr du_delay room Treppenaufgang_du


Wie lässt sich die Änderung des Dummys sofort in den du_treppe_on erzeugen?

igami

at unterstützt das nicht, aber guck dir mal DOIF an
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

betateilchen

@inter#79

Wie wäre es, wenn Du einfach mal anfangen würdest, grundlegende Doku zu fhem zu lesen und zu verstehen? Die meisten Deiner Fragen sind darin erschöpfend beantwortet.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

inter#79

Hallo,

habe folgendes versucht, jedoch auch ohne Erfolg:


define du_no_modify notify du_delay.* {fhem (modify du_treppe_on *{sunset(ReadingVal ("du_delay","state","0"),"16:00","21:00")}


Das du_delay.*  reagiert doch auf eine Änderung oder? Habe dieses aus einem anderen Beitrag. Und mit dem modify müstte es doch auch funktionieren oder?

franky08

Siehe betateilchen und commandref, was modify macht. Das sind wirklich fhem Grundlagen, darum guck dir diese mal an!
Ansonsten gibt es im WIKI oder hier im Forum bestimmt etliche Beiträge zu deinem Problem. Die fertige Lösung wird dir bestimmt keiner posten, dass ist für dich wahrscheinlich unverständlich und wird dich ärgern aber nur so wirst du dich intensiver mit fhem beschäftigen ( müssen) und das bringt dich weiter.
Also lesen und verstehen

VG
Frank
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

inter#79

Hallo,

ich habe die Commandref und die grundlegenden Dokus gelesen, sowie diverse Themen hier gelesen. Jedoch komme ich nicht voran, da auch teilweise in den Dokus als auch in der Commandref keine Beispiele gefunden habe.

Habe auch schon etliches versucht und zumindest bei Änderung des Wertes in du_Relay wird der Wert in du_licht_toggle mit dem notify geschrieben.


define du_delay dummy
attr du_delay event-on-change-reading state
attr du_delay room Treppenaufgang_du

define du_licht_toggle dummy
attr du_licht_toggle room Treppenaufgang_du


define du_not_offste notify du_delay:.* set du_licht_toggle $EVENT
attr du_not_offste room Treppenaufgang_du


Aber warum geht der modify nicht? Übersehe ich etwas? Habe es auch schon mit Semikolon versucht, auch kein Erfolg


define du_no_atoff notify du_relay:.* {fhem(modify du_at  at 18:00 set du_h_licht on)}
attr du_no_atoff room Treppenaufgang_du





franky08

Warum gehst du hier auf Perl Ebene???
{fhem(modify du_at  at 18:00 set du_h_licht on)}

Sie dir mal modifyTimeSpec und at Definitionen an.

VG
Frank
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

inter#79

Vielen Dank.
Da im Timespec der Button Modify war, habe ich mich im modify gesucht. Das werde ich versuchen. Danke