FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Hauenschild am 13 Juni 2015, 13:20:33

Titel: watchdog für Jalousiensteuerung
Beitrag von: Hauenschild am 13 Juni 2015, 13:20:33
Hallo liebe FHEM-Gemeinde!

Nachdem ich mich nunmehr seit 2 Monaten mit FHEM beschäftigt habe, meine ich eine ganz gute Basis geschafft zu haben. Jetzt soll es an die Feinheiten gehen ;).

Für meine Jalousien habe ich folgenden Stand erreicht:

1. Bluetoth-Anwesenheitserkennung für zwei Handys. Die Handys habe ich über structure zusammengefaßt.

Zitatdefine Handys structure Nicht_Zuhause HA.Jay_Frank HA.Jay_Tine
attr Handys event-on-change-reading state
attr Handys room Anwesenheit

2. Wenn beide Handys abwesend sind gehen die Jalousien alle runter. Die Jalousien sind ebenfalls über structure zusammengefaßt.
Zitatdefine watchdog_Abwesenheit watchdog Handys:off 00:05 Handys:on set Jalousien BI;;setstate watchdog_Abwesenheit defined
attr watchdog_Abwesenheit regexp1WontReactivate 1
attr watchdog_Abwesenheit room Anwesenheit
set Jalousien BI ist ein EnOcean-Befehl der die Jalousien runterfährt.

3. Wenn ein Handy anwesend ist fahren bestimmte Jalousien hoch.

Zitatdefine watchdog_Anwesenheit_Frank watchdog HA.Jay_Frank:on 00:01 HA.Jay_Frank:off set Jalousien_2_4_5 B0;;setstate watchdog_Anwesenheit defined
attr watchdog_Anwesenheit_Frank regexp1WontReactivate 1
attr watchdog_Anwesenheit_Frank room Anwesenheit
HA.Jay_Frank:on ist ein einzelnes Handy. set Jalousien_2_4_5 B0 ist wiederum ein EnOcean-Befehl, der die Jalousien Nr. 2, 4 und 5 hochfahren läßt.

Jetzt möchte ich das Ganze noch ergänzen. Und zwar sollen die Jalousien nur runterfahren bzw. hochfahren, wenn bestimmte Temperatur- und Helligkeits-Bedingungen herrschen. An dieser Stelle weiß ich nicht, wie ich am besten weiter vorgehe. Für die Temperaturen habe ich Homematic Innen- und Außengeräte in FHEM einbgebunden. Helligkeitssensor ist ein EnOcean Funk-Außen-Helligkeitssensor FAH60 von Eltako (Super-Gerät! Kann ich sehr empfehlen). Mit dem Helligkeitssensor schalte ich zur Zeit schon meine Beleuchtung mit DOIF´s.

Ich weiß auch, dass man bei watchdog ein notify anhängen kann. Jedoch habe ich trotz längerer Suche kein passendes Code-Beispiel gefunden. Ich hätte gerne, dass die Jalousien nur auslösen, wenn eine bestimmte Temperatur (z. B. über 24 Grad Außentemperatur und über 22 Grad Innentemperatur) überschritten ist und der Helligkeitssensor Sonnenschein erkannt hat (z. B. ein Wert von über 16.000 bei dem Eltako-Gerät). Beim watchdog kann ich ja nur ein  <regexp1>-Ergeignis anlegen und das sind ja die Handys mit an- oder abwesend. Also muß ich das ganze über <command> im watchdog lösen ::)?.

Wäre toll, wenn mir jemand ein Code-Beispiel hier posten könnte. Danke im Voraus :D.
Titel: Antw:watchdog für Jalousiensteuerung
Beitrag von: Prof. Dr. Peter Henning am 13 Juni 2015, 13:39:30
Klar programmieren wir gerne für andere. Soll ich meinen Stundensatz per PN schicken ?

Ansonsten schlage ich vor, mal die Dokumentation für Anfänger zu lesen, da steht alles Nötige drin.

LG

pah
Titel: Antw:watchdog für Jalousiensteuerung
Beitrag von: Hauenschild am 13 Juni 2015, 16:48:38
Ich dachte dieses Forum dient auch dazu Code-Beispiele untereinander auszutauschen. Wenn ich da falsch liege bitte ich hiermit den Adminstrator mein Thema wieder zu löschen!

Ich habe auch mit keiner Silbe geschrieben, daß ich irgendeine Programierung erwarte. Stattdessen dachte ich, falls jemand ein ähnliches Problem bereits gelöst hat, er sein Code als Beispiel mitteilt. Leider habe ich es bisher nicht geschafft eigene Lösungen zu programieren. Dafür fehlt mir wohl die logische Denkweise. Ich schaffe es nur Beispiele abzuschreiben und diese für meine Verhältnisse anzupassen. Trotz intensiver Suche habe ich kein notify-Beispiel gefunden wo ein Gerät in Abhängigkeit von zwei Werten (Temparatur und Helligkeit) geschaltet wird.

Aber wie gesagt: Bevor sich hier jemand über meine Frage ärgert bitte das Thema wieder löschen.
Titel: Antw:watchdog für Jalousiensteuerung
Beitrag von: Damian am 13 Juni 2015, 20:47:33
Zitat von: Hauenschild am 13 Juni 2015, 16:48:38
Ich dachte dieses Forum dient auch dazu Code-Beispiele untereinander auszutauschen. Wenn ich da falsch liege bitte ich hiermit den Adminstrator mein Thema wieder zu löschen!

Ich habe auch mit keiner Silbe geschrieben, daß ich irgendeine Programierung erwarte. Stattdessen dachte ich, falls jemand ein ähnliches Problem bereits gelöst hat, er sein Code als Beispiel mitteilt. Leider habe ich es bisher nicht geschafft eigene Lösungen zu programieren. Dafür fehlt mir wohl die logische Denkweise. Ich schaffe es nur Beispiele abzuschreiben und diese für meine Verhältnisse anzupassen. Trotz intensiver Suche habe ich kein notify-Beispiel gefunden wo ein Gerät in Abhängigkeit von zwei Werten (Temparatur und Helligkeit) geschaltet wird.

Aber wie gesagt: Bevor sich hier jemand über meine Frage ärgert bitte das Thema wieder löschen.

Schau´ dir mal die Beispiele zu Beschattungssteuerung mit DOIF an: http://fhem.de/commandref_DE.html#DOIF

Die sind helligkeits- und zeitgesteuert mit Verzögerung.

Gruß

Damian
Titel: Antw:watchdog für Jalousiensteuerung
Beitrag von: Prof. Dr. Peter Henning am 14 Juni 2015, 05:15:53
Es kann nicht sein, dass jemand

a.) es partout "nicht schafft, eigene Lösungen zu programmieren" und
b.) trotz "intensiver Suche" keine Beispiele findet.

Die Erfahrung zeigt, dass für beides nur ein wenig guter Wille und Zeitaufwand notwendig sind - und mein Post ist kein "Ärger", sondern nur ein Schubs in diese Richtung.

LG

pah
Titel: Antw:watchdog für Jalousiensteuerung
Beitrag von: LuckyDay am 14 Juni 2015, 05:34:06
Naja
Programieren und Konfigurieren sind zwei Schuhe
Anmache und Schubsen in die Richt sind auch zwei Schuhe

aber wem sag ich das :) ....
Titel: Antw:watchdog für Jalousiensteuerung
Beitrag von: Otto123 am 15 Juni 2015, 10:13:12
Hallo Hauenschild,

als erstes würde ich für Anwesenheit kein watchdog machen. Was bei Abwesenheit richtig ist um sicher "abwesend" zu sein ist bei Anwesenheit anders, da will man es doch sofort wissen wenn man da ist. Ich mache das deshalb einfach mit einem notify.

Außerdem würde ich die Gedanken zur Steuerung der Jalousien entkoppeln, kann aber auch sein ich habe Dich falsch verstanden. Also was passiert bei Abwesenheit, was passiert bei bestimmten Temperaturen oder bei bestimmten Zeiten. Es kann dann sein, dass sich was gegenseitig ausschließt, dass kannst Du dann lösen.

Man kann ich den Definitionen zum Beispiel Abfragen einbauen oder Filtern. Mein notify (DEF) wenn ich "ankomme" sieht so aus:
AlleAnwesend:present {if (Value ("Tageslicht") eq "1") { fhem ("set Rollo.*:FILTER=STATE!=auf auf")}}
Tageslicht ist ein Dummy den ich separat setze und an vielen Stellen abfrage.
Ich verwende bei Jalousien auch nicht extra ne Structure, ich habe das einfach mit Namen und der wunderbaren Eigenschaft von "RegExp" in FHEM erledigt 8)

Gruß Otto