Hauptmenü

Schon defined ?

Begonnen von AR@WR, 22 März 2014, 16:43:33

Vorheriges Thema - Nächstes Thema

AR@WR

Moin, moin,

ich habe in den 99_myUtils.pm eine Routine, in der ein at definiert wird:

{fhem ("define cool_kitchen at +00:15 set OG_Kueche_Soll desired-temp $eco_temp")}


Wenn die Routine vor Ablauf des at noch einmal aufgerufen wird, dann sehe ich im Logfile:
Zitat2014.03.22 16:15:00 3: define cool_kitchen at +00:15 set OG_Kueche_Soll desired-temp 17 : cool_kitchen already defined, delete it first

Wie macht man aus fhem heraus sozusagen ein "undefine" ?

Falls das nicht geht ,gibt es eine Möglichkeit festzustellen, ob z.B. ein at bereits defined ist ?
In diesem Fall könnte ich einfach mit modify den Zeitoffset von 15 Minuten noch mal neu setzen.

Gruß

Arno


Fhem info:
  Release  : 5.5
  Branch   : DEVELOPMENT

maxritti

Ein undefine gibt's nicht, dass lässt sich mit

delete cool_kitchen

erledigen.

Und die Abfrage, ob es den zu definierenden Wert schon gibt, sollte mit

if (Value("cool_kitchen") ne "") {..} zu erledigen sein.

AR@WR

Vielen Dank für die schnelle Antwort.

Die Version mit dem einfachen delete erzeugt ebenfalls Fehlermeldungen im Logfile, falls cool_kitchen noch nicht definiert war:

Zitat2014.03.22 17:34:51 3: delete cool_kitchen : Please define cool_kitchen first

Daher habe ich die zweite implementiert. Die Abfrage:
if (Value("cool_kitchen") ne "") {..}

erzeugt keine Fehlermeldungen, auch wenn es cool_kitchen gar nicht gibt. Da hat mich doch etwas verwundert.
Stecke leider noch nicht so tief in fhem drin, als daß ich verstehen kann, warum.

Na ja, Hauptsache, es funktioniert nach dem nächsten Update noch....

Gruß

Arno

maxritti

Zitat von: AR@WR am 22 März 2014, 18:07:19
Na ja, Hauptsache, es funktioniert nach dem nächsten Update noch....

Gruß

Arno
Immer schön auf "Save config" klicken, dann übersteht das auch ein Update  ;)

betateilchen

{ fhem("delete cool_kitchen") if $defs{cool_kitchen} }
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Bennemannc

Hallo,

irgendwie verstehe ich das nicht - warum definiert man etwas, löscht das um es neu anzulegen?
Ich weiß ja nicht was Du da programmieren willst. Ich könnte mir auch einen Dummy Device vorstellen, der über eine Statusänderung ein Notify auslöst, was dann für die 15 min schaltet.

Gruß Christoph
Cubietruck, Fhem 5.8
CC-RT-DN|LC-SW2-FM|RC-12|RC-19|LC-SW4-BA-PCB|LCp-SW1-BA-PCB|ES-PMSw1-Pl|LC-Bl1PBU-FM|PBI-4-FM|CC-VD|CC-TC|SEC-SC(2)|RC-KEY3-B|LC-Sw1PBU-FM|PB-2-FM|WDS100-C6-O|WDC7000|LC-Bl1-FM
Module: Dewpoint,FB_Callmonitor,HCS,Panstamp,at,notify,THRESHOLD,average,DOIF

betateilchen

Es gibt durchaus nachvollziehbare Gründe, sowas machen zu wollen. Es gibt zum Beispiel at Definitionen für einen zukünftigen Zeitpunkt, die man wieder vor Eintreten des Zeitpunktes wieder löschen möchte (muss).
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

AR@WR

Hallo Christoph,

während ich so morgens aus dem Koma erwache, drücke ich eine Taste an der Fernbedienung ->
Heizung im Schlafzimmer geht aus (ja, ich Frostbeule), im Bad wird auf eco gestellt (wird beim Duschen ohnehin noch wärmer; jaja, auch noch Warmduscher).
Heizung in der Küche soll aber erst eine Viertelstunde später auf eco gestellt werden, sonst ist es da nach dem Duschen schon wieder zu kalt.

Das könnte aber trotz der Verzögerung eintreten, falls das Erwachen (wie so oft) etwas länger dauert. Dann drücke ich einfach noch mal aufs Knöpfchen ->

Das Bad ist zwar dann schon was kälter (die gerechte Strafe für's Trödeln), aber wenigstens das Frühstück findet noch bei angenehmen Temperaturen statt, weil sich dadurch das Herunterfahren der Küchenheizung verschiebt.

Gruß

Arno

Bennemannc

Hallo Arno,

so etwas werde ich mir nicht bauen können - da würde ich Ärger mit meiner besseren Hälfte bekommen. Die muss nur mitbekommen, dass ich überhaupt etwas an der Heizung steuere, dann ist es immer in allen Räumen zu kalt.
Im Moment habe ich Homematic Ventile mit HCS im Einsatz. HCS schaltet über einen Kontakt, der eigentlich für Übertemperatur Fußbodenheizung gedacht ist, die Heizung ab, wenn die Ventile zu sind.

Gruß Christoph
Cubietruck, Fhem 5.8
CC-RT-DN|LC-SW2-FM|RC-12|RC-19|LC-SW4-BA-PCB|LCp-SW1-BA-PCB|ES-PMSw1-Pl|LC-Bl1PBU-FM|PBI-4-FM|CC-VD|CC-TC|SEC-SC(2)|RC-KEY3-B|LC-Sw1PBU-FM|PB-2-FM|WDS100-C6-O|WDC7000|LC-Bl1-FM
Module: Dewpoint,FB_Callmonitor,HCS,Panstamp,at,notify,THRESHOLD,average,DOIF

Joachim

ZitatHeizung in der Küche soll aber erst eine Viertelstunde später auf eco gestellt werden, sonst ist es da nach dem Duschen schon wieder zu kalt.
Schon mal über eine bessere Dämmung nachgedacht?
FHEM aktuellste Version auf FB 7570 und 7390 mit Zebradem Toolbox Freetz
FHEM auf Raspberry
1-Wire mit LinkUSBi und Rs-Pi ds2482-800  1-Wire-9 Board; Max mit Cube, HMLAN
div. 1-Wire Sensoren; MAX-Thermostaten; Homematic-Komponenten, Zehnder KWL über RS-232

AR@WR

Hallo Joachim,

warum etwas mit schnöder Mechanik lösen, wenn man doch so wunderbare Elektronik einsetzen kann  ;)
Spaß beiseite, Dämmung und neuer Heizkessel sind geplant, dauert aber noch etwas.

Außerdem habe ich die gleiche Abfrage an anderer Stelle eingesetzt, nämlich bei der Fenster-offen-Behandlung im Bad.
Die Rückkehr von der Fenster-offen-Temperatur zur Normaltemperatur soll erst erfolgen, wenn das Fenster mindestens eine bestimmte Zeit zu ist, da ich das Fenster nach dem Duschen mindestens zweimal öffne.

Gruß

Arno

Joachim

Es hatte mich halt nur erschüttert, das nach einer viertel Stunde die Küche kalt ist. Das dauert bei mir mehr als einen Tag.

Gruß Joachim
FHEM aktuellste Version auf FB 7570 und 7390 mit Zebradem Toolbox Freetz
FHEM auf Raspberry
1-Wire mit LinkUSBi und Rs-Pi ds2482-800  1-Wire-9 Board; Max mit Cube, HMLAN
div. 1-Wire Sensoren; MAX-Thermostaten; Homematic-Komponenten, Zehnder KWL über RS-232