Dummy devStateIcon für on-for-timer änderbar ?

Begonnen von Stargazer, 22 September 2016, 09:21:20

Vorheriges Thema - Nächstes Thema

Stargazer

Hallo zusammen,

ich hänge derzeit bei einer Dummyfunktion fest.
Und zwar lasse ich den Dummy über einen Dimmerschalter per Long-Befehl auf "on" schalten. Das funktioniert recht gut.
Nur habe ich jetzt 2 Probleme. Das erste ist, dass er auch nach einem "on-for-timer 30" Befehl nicht wieder nach der abgelaufenen Zeit auf "off" schaltet.
Ich hatte gestern danach gegoogelt und irgendwo gelesen, dass man dummy's nur manuell wieder auf off setzen kann. Ist das richtig ?

Und die zweite Sache wäre noch, ob ich das Symbol dieser on-for-timer Lampe mit Uhr ändern kann ?

Hier noch der derzeitige Code, der einfach erstmal auf "on" schaltet. Ich habe ja leider kein Signal, was mir den Dummybefehl wieder aufheben könnte, bei dem Dimmerschalter. Das reading "Short", also normaler Tastendruck zum anschalten, ist für mich keine Option.
Ich betreibe damit einen Clear-Sky Sensor für die Astronomie, der über ein Infrarotthermometer den Himmel misst, ob da Wolken sind. Das übernimmt ein Arduino und der schickt ein Signal bei klarem Himmel. Oder aber halt kein Signal, wenn es bewölkt ist. Darum die Sache mit on-for-timer  ;).

Nicht verwirren lassen. Ich habe einen alten Kontakt mit dem Namen "Regenkontakt" genommen. Den hatte ich früher nur mal kurz in Betrieb und nutze ihn derzeit für den Sensor.

#Regenalarm definieren
define Regenalarm dummy
attr Regenalarm alias Wie ist der Himmel derzeit ?
attr Regenalarm devStateIcon on:weather_moon_phases_2 off:weather_cloudy_heavy
attr Regenalarm group Clear Skies
attr Regenalarm room Rolldachhütte

#Clear-Sky definieren
define RegenalarmAn notify Regenkontakt:Long.* { fhem ("set Regenalarm on")}
 

Viele Grüße und besten Dank

André

PS.: Gäbe es denn noch eine einfache Zeitalternative als on-for-timer ? Außer vll. mit "if" ?

Pfriemler

DOIF. Triggerverarbeitung (notify), Zeitsteuerung (watchdog) und Zustandsanzeige (dummy) alles in einer gemeinsamen DEF möglich. Technisches Vorbild wäre ein Treppenlichtautomat, der nachgetriggert werden kann.

Was mich technisch wundert: Du legst doch nicht eine Kontaktschnittstelle (Taster) per Arduino bei wolkenlos auf Dauerfeuer (Long?) Das wäre doch recht unklug ...
Bin gerade unterwegs, sonst würde ich den Code gleich liefern. Aber selbermachen lehrt immer am meisten. Beispiele gibt es genug.

geht nich gips nich

"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

Stargazer

Hi Pfriemler !

Nee... ! Auf Dauerfeuer wird da nix gelegt. Ich habe für meine Bedürfnisse eh schon die Knopfzelle des Tasters ausgebaut und durch eine größere Lithium ersetzt. Jetzt hält die auch mal, da in der Hütte im Winter ja auch mal unter 0 Grad sind.

Derzeit habe ich im Arduino-Sketch einen Abfrageintervall von 60 Sekunden, um besser testen zu können und um die Anbindung in FHEM ohne manuelles Triggern machen zu können. D.h., er macht alle 60 Sekunden eine Messung (wird später noch auf alle 3 Std. gesetzt..) und zieht dann das Relais, was den Taster auslöst, für eine Sekunde an. Dadurch schickt er mir ein "Long" Signal, welches ich dann verarbeiten kann. Ist der Himmel bewölkt, so erfasst das IR-Thermometer dies und der Arduino zieht das Relais nicht an.

Ich werde mir das mal ansehen, vor allem den Watchdog. Ist neuland, aber ich beiße mich da gerne mal durch.. .

Vielen Dank für deine Tipps...

Viele Grüße

André

Stargazer

Hallo zusammen,

ich habe es jetzt mit Watchdog lösen können.
Vielen Dank dafür !!!

Hier mal der Code:

#Clear-Sky definieren
define RegenalarmAn notify Regenkontakt:Long.* { fhem ("set Regenalarm on")}
define CS_alarmAn watchdog Regenalarm:on.* 00:01:30 Regenalarm:off.* set Regenalarm off;; trigger CS_alarmAn opened


Viele Grüße und besten Dank !

André

Pfriemler

Watchdog is die harte Tour (wer das kann ist einen Schritt weiter in FHEM),  aber ich meinte eigentlich das Modul DOIF. Es gibt eiserne Gegner und glühende Verfechter des Moduls, mir gefällt es ausnehmend gut, eine Art Hochsprache des WennDann. Wahnsinnig vielseitig und dadurch auch nicht leicht zu verstehen in der gesamten Fülle.

geht nich gips nich

"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

Wernieman

Alternativ wäre das "selberbauen" eines "on for timer" in dem man gleich ein "at" mit Abschaltbefehl definiert
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html