[gelöst] Außenleuchte nachts bei Klingelbetätigung für 5min einschalten

Begonnen von Harald, 18 Januar 2014, 18:40:47

Vorheriges Thema - Nächstes Thema

Harald

Hallo zusammen,

ich möchte meine Außenleuchte nachts für 5 Minuten einschalten, wenn jemand den Klingeltaster betätigt hat. Der Taster geht auf einen FS20 KSE. Der heißt Klingel1. Geschaltet wird die Leuchte über eine modifizierte ELRO-Steckdose AB440S, Dose4. Mit

define Dose4Tuer notify Klingel1:on set Dose4 on

funktioniert das Einschalten. Nun möchte ich das Event Klingel1:on mit !isday verknüpfen, damit nur nachts geschaltet wird. Außerdem soll das Licht nach 5 Min. wieder ausgeschaltet werden. Die Funktion "on-for-timer" kennt ELRO/IT wohl nicht.

Ich habe schon vieles versucht, aber immer ohne Erfolg. Natürlich habe ich auch schon in den Dokus gesucht, aber nicht passendes gefunden.
Ich glaube, ich habe ein Brett form Kopf ;) Kann mir jemand helfen, das zu entfernen?

VIelen Dank in Voraus und viele Grüße

Harald
Router:AVM7590 1&1 FW:FRITZ!OS 07.56 Anbindung:1&1 50/10 Mb/s, WLAN-Repeater 300E
ELV MAX!Cube, 7xThermostat, ECO, RasPi 4B mit bullseye auf Festplatte,
CUL V 1.67, JeeLink v3_10.1c, nanoCUL, 1xS300TH, 4xHMS100T, 4xELRO, 1xTFA, 2xMAX_FK
ELV MAX!1.4.5, FHEM 5.7 auf RasPi, Kostal PIKO plus

mbenker

das Abschalten sollte über ein AT Befehl funktionieren (zumindest geht es bei meinen Dummys)

define KlingelGedrückt {fhem ('set LICHT on');fhem ('define KlingelTimer at +00:10:00 set LICHT off')}

Die Abfrage mit ISDAY kann ich leider nicht helfen, da ich einen Sensor direkt nutze dafür.....sorry
FHEM auf FB7390 (Umzug auf BananaPi ist in Arbeit)
RFXcom 433MHz/HMLAN/ LED WifiBridgeV3 +LED RGBW 9W Bulbs / LW12 Stripe Controller + LED Stripes
Aktoren + Sensoren : HomeEasy, HomeMatic, (Ebay Billig auf 433 MHz)
7" ChinaTablet zur Steuerung fest an der Wand.

Harald

Das klappt bei mir nicht. Beim Abspeichern der fhem.cfg kommt die Fehlermeldung "Unknown module {fhem, choose ......"

Viele Grüße

Harald
Router:AVM7590 1&1 FW:FRITZ!OS 07.56 Anbindung:1&1 50/10 Mb/s, WLAN-Repeater 300E
ELV MAX!Cube, 7xThermostat, ECO, RasPi 4B mit bullseye auf Festplatte,
CUL V 1.67, JeeLink v3_10.1c, nanoCUL, 1xS300TH, 4xHMS100T, 4xELRO, 1xTFA, 2xMAX_FK
ELV MAX!1.4.5, FHEM 5.7 auf RasPi, Kostal PIKO plus

Puschel74

Hallo,

define KlingelGedrückt {fhem ('set LICHT on');fhem ('define KlingelTimer at +00:10:00 set LICHT off')}
ist erstmal auch noch garnichts da ein wichtiger Teil fehlt.

Wenn es ein notify darstellen soll sollte es so aussehen:
define KlingelGedrückt notify <Device_auf_das_reagiert_werden_soll> ...
Wenn es ein at darstellen soll sollte es so aussehen:
define KlingelGedrückt at <Zeitpunkt_wann_es_auslösen_soll> ...

ZitatIch habe schon vieles versucht, aber immer ohne Erfolg.
Das glaube ich dir gerne.

ZitatNatürlich habe ich auch schon in den Dokus gesucht, aber nicht passendes gefunden.
Das glaube ich aber weniger.

isday in das Suchfeld oben rechts eingegeben sollte doch einige Beiträge bringen.
Weiters sollte isday auch in der commandref erklärt sein sowie auch notify und at.

Wenn ELRO kein on-for-timer kennt kannst du in ein notify auch ganz einfach ein at einbauen das in 5 Minuten auslöst.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Harald

Hallo Puschel74,

das isday() während der Tageszeit ein wahr zurück liefert, ist mir schon klar. Aber wie ich die beiden Events Klingel1:on und isday() (bzw. in der endgültigen Lösung !isday()) mit & verknüpfe, damit beim Ergebnis =wahr das notify reagiert, habe ich nicht gefunden.

Wenn Du mir einen Tipp geben könntest, wo ich dazu eine Erklärung finden könnte, wäre mir schon ein ganzes Stück weiter geholfen.

Viele Grüße

Harald
Router:AVM7590 1&1 FW:FRITZ!OS 07.56 Anbindung:1&1 50/10 Mb/s, WLAN-Repeater 300E
ELV MAX!Cube, 7xThermostat, ECO, RasPi 4B mit bullseye auf Festplatte,
CUL V 1.67, JeeLink v3_10.1c, nanoCUL, 1xS300TH, 4xHMS100T, 4xELRO, 1xTFA, 2xMAX_FK
ELV MAX!1.4.5, FHEM 5.7 auf RasPi, Kostal PIKO plus

Puschel74

Hallo,

wieso mit & ??

Das notify löst aus wenn Klingel1 ein on sendet.
Nun kannst du prüfen ob isday (resp. !isday) ein wahr liefert und die weiteren Befehle abarbeiten lassen.
Du musst hier nichts mit & verknüpfen.

Ungetestet und aus dem Kopf:
define Dose4Tuer notify Klingel1:on {
  if(!isday) {
    fhem("set Dose4 on");
fhem("define Dose4_verzoegert_aus at +00:05:00 set Dose4 off");
  }
}


Klingel1 sendet ein on - nun prüfen wir ob (!isday) wahr ist - schalten die Dose ein und definieren ein at das in 5 Minuten die Dose wieder ausschaltet.

Grüße

P.S.: Wenn du meine Beiträge verfolgt hast weißt du ja das ich grundsätzlich nicht die fhem.cfg bearbeite  ;)
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Harald

Hallo Puschel74,

ja, dass weiß ich, dass Du kein Freund vom direkten Bearbeiten der fhem.cfg bist. Ich tu mich aber noch schwerer, dass in der Weboberfläche einzugeben. Ich schrieb es wohl schon Mal. Ich denke das kommt davon, dass ich früher vor vielen Jahren den MC6502 in Assembler bzw. vorher noch in Mnemonic programmiert habe. Ich glaube, mir fehlt ein gewisser Überblick, wenn ich nicht die fhem.cfg vor Augen habe. Aber sei's drum.

Ich habe gedacht, ich müsste Klingel1:on mit isday verknüpfen - also erst Event abfragen und dann die weiteren Bedingungen prüfen. Dann hoffe ich, dass ich es heute Abend oder Morgen hinbekomme. Da habe ich wieder etwas gelernt.
Für Perl gibt es ja schlaue Bücher, gibt es ähnliches auch für FHEM?

Jedenfalls recht herzlichen Dank für Deine Hilfe und Geduld mit mir  ;) sowie viele Grüße und einen angenehmen Sonntag noch

Harald
Router:AVM7590 1&1 FW:FRITZ!OS 07.56 Anbindung:1&1 50/10 Mb/s, WLAN-Repeater 300E
ELV MAX!Cube, 7xThermostat, ECO, RasPi 4B mit bullseye auf Festplatte,
CUL V 1.67, JeeLink v3_10.1c, nanoCUL, 1xS300TH, 4xHMS100T, 4xELRO, 1xTFA, 2xMAX_FK
ELV MAX!1.4.5, FHEM 5.7 auf RasPi, Kostal PIKO plus

Puschel74

Hallo,

ZitatIch tu mich aber noch schwerer, dass in der Weboberfläche einzugeben.
Versteh ich nicht und hab ich schon einige Male erklärt wie man das eingeben kann.
Aber gut - nochmal.

In die FHEM-Befehlszeile gibst du das ein:

delete Dose4Tuer
Damit löschen wir erstmal dein altes Notify.
Nun gibst du das ein:
define Dose4Tuer notify Klingel1:on {}
Das sollte dann so aussehen wie im ersten Screenshot.
Danach das DEF anklicken - zweiter Screenshot.
Danach Code einfügen - dritter Screenshot und mit einem Klick auf modify Dose4Tuer abschliessen.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

BeamterAD

#8
Zitatdefine dunkelsollsnichbleiben notify Klingel1:on { if(!isday) { fhem "set  Dose4 on-for-timer 600" } }

ich hab eben auch gerade mal gebastelt,bei mir funktioniert es so !
ich habe hier die zeit von 18 -7 Uhr eingestellt,man könnte hier auch mit Sonnenaufgang und Untergang arbeiten,dann bräuchte man auch die Zeiten nicht mehr ändern .


Puschel74

Hallo,

Zitatman könnte hier auch mit Sonnenaufgang und Untergang arbeiten
Ja - so wie es isday macht  ;)

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

BeamterAD

ach jetzt habe ich meinen alten Post gerade nochmal überarbeitet ,naja dann nochmal

@Puschel sach mal ,ich habs auch die ganze Zeit mit ($isday) probiert laut  Ref,keine Chance,aber mit !isday hab ich s noch nicht probiert,was is denn da der Unterschied?
Isday is ja der WErt ausgehend von Sonnenaufgang und Untergang,woher kommt der ?woher weiß fhem wann die Sonne auf und untergeht?
Wenn ich dsa richtig gelesen habe ist der Standort Frankfurt a.M. voreingestellt,aber die Daten für Sonnenaufgang und Untergang kommen doch aus dem Netz,kein Netz - keine Werte?

BeamterAD

#11
ok habs gerade mit isday und!isday ausprobiert
!isday bedeutet negiert also quasi nicht Tag (Nachts)
und nur
isday bedeutet Tagsüber!

für die Suchmaschine,wenn noch jemand auf der Suche nach der Funktion mit isday ist.

$isday oder auch {if($isday)  liefert: return value: Global symbol "$isday" requires explicit package name at ...
richtig ist
ZitatDein_Schalter:on  { if(!isday) { fhem "set Deine_Lampe on-for-timer 60" } }

Damit kann man also nur Nachts oder Abends etwas schalten, Steckdosen oder Lampen oder Bewegungsmelder aktivieren und so weiter

Puschel74

Hallo,

es war auch nie die Rede von $isday  8)

isday wird über sunrise_el gesetzt wenn ich das richtig im Kopf habe.
Ohne Standortangaben wird Frankfurt am Main verwendet - das ist richtig.

Standortangaben können per globalattribut longitude und latitude gemacht werden.
Dann wir Sonnenauf- und untergang für den so hinterlegten Standort ermittelt.

Zitatkommen doch aus dem Netz,kein Netz - keine Werte?
So ist es.
Ich war jetzt auch 2 Tage "abgeklemmt" vom Internet.
twilight scheint aber weiter funktioniert zu haben.
Aber mein RasPi2 (per F2F angebunden) hat mit den Werten gezickt und natürlich wurden die Weather-daten nicht aktualisiert.
Wie auch - kein Netz, keine Werte.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Harald

Hallo Puschel74,

ich wünschte, ich könnte das auch so wie Du. Die Befehlsfolge, die Du "ungetestet und aus dem Kopf" mal eben so hingeschrieben hast, klappt prima. Ich habe es so eingegeben, wie Du es erklärt hast und auch das hat problemlos funktioniert.

Ich danke Dir sehr herzlich für Deine Hilfe und vor alllem für Deine Geduld mit mir. Ich werde mich bemühen, in Zukunft mehr die Weboberfläche und weniger die fhem.cfg direkt zu bearbeiten. Ich glaube, wenn man das einmal "drin" hat, ist das einfacher und vor allem sicherer.

Nochmals besten Dank und schönen Sonntag Abend noch

Harald
Router:AVM7590 1&1 FW:FRITZ!OS 07.56 Anbindung:1&1 50/10 Mb/s, WLAN-Repeater 300E
ELV MAX!Cube, 7xThermostat, ECO, RasPi 4B mit bullseye auf Festplatte,
CUL V 1.67, JeeLink v3_10.1c, nanoCUL, 1xS300TH, 4xHMS100T, 4xELRO, 1xTFA, 2xMAX_FK
ELV MAX!1.4.5, FHEM 5.7 auf RasPi, Kostal PIKO plus

Puschel74

Hallo,

Zitatich wünschte, ich könnte das auch so wie Du.
::)
Ne sicher nicht - glaube mir.
Es gibt einige hier die weniger ( und " benötigen als ich und der Code funktioniert auch tadellos.
Aber ich hab mir das so angewöhnt (auch mit dem editieren per FHEM-Befehlszeile und DEF) und hab keine gravierenden Nachteile auf meinem RasPi entdecken können.
Und wenn du mal gut 2 Jahre mit FHEM "verbracht" hast kannst du sowas auch
Zitat"ungetestet und aus dem Kopf"
.
Allerdings war ich mir nicht sicher ob (!isday) oder (!(isday)).

ZitatIch danke Dir sehr herzlich für Deine Hilfe und vor alllem für Deine Geduld mit mir.
Du brauchst mir nicht danken.
Hier hat jeder mal "klein" angefangen   ;D

Hilf mir nur "wie bearbeite ich am einfachsten meine Konfig für Anfänger" weiter zu verbreiten.
Es machen sich immer noch zu viele Anfänger zu viele Fehlerquellen auf wenn sie in der fhem.cfg nicht wissen was sie machen.

ZitatNochmals besten Dank und schönen Sonntag Abend noch
Scho recht - würde man hier sagen und Dir auch noch einen schönen Sonntag.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.