Hallo zusammen,
Ich habe mir eine einfache Garagentorsteuerung zusammengebastelt, das ganze fuer ca. 30eur.
1. Viele (Garagen)torantriebe haben keine seperaten Schalter für "Schliessen" und "Öffnen", sondern nur einen Taster, der das Tor schliesst wenn es offen ist und öffnet, wenn es geschlossen ist.
2. 443MHz Funksteckdose aus dem Baumarkt, gibt es bei uns 3 stueck fuer 15eur.
3. Altes 5V Handyladegeraet
4. Einfaches 5V Relais
Ich schalte also die Steckdose und damit schaltet das Relais und der schliesser öffnet oder schließt das Tor.
Einen beliebigen Fensterkontakt um zu sehen ob das Tor offen oder geschlossen ist.
Alles funktioniert soweit
Hier mal der Code
##### 8 Garage
### 8.1 Garagentor AUF/ZU mit 443Mhz Schalter
define TorOeffner IT 0000FFF0FF FF F0
attr TorOeffner IODev CUL443
attr TorOeffner fp_Groundfloor 815,485,2,
attr TorOeffner group Garagentor
attr TorOeffner room Draussen,Schalter
define Lamp1On_for2sec notify TorOeffner.on { \
fhem ("set TorOeffner on") ;; \
fhem ("define TorOeffnerOff at +00:00:02 set TorOeffner off")}
define Lamp1Off notify TorOeffner.off {fhem ("set TorOeffner off")}
### 8.2 Garagentor Zustandsanzeige
define Garagentor MAX ShutterContact 018d62
attr Garagentor IODev cm
Wie bekomme ihres jetzt hin das ich als Schalter einen Auf Zu Schalter bekomme und das Tor auf Zu nur reagiert wenn der ShutterContact open ist und umgekehrt?
Vielleicht kann mir hier jemand helfen!
Keiner eine Idee?
Gesendet von meinem SGP521 mit Tapatalk
Also die Umbenennung ist gemacht.
Nur ist mir nicht klar, wie man Up sperren kann, wenn das Tor schon offen ist.
ZitatWie bekomme ihres jetzt hin das ich als Schalter einen Auf Zu Schalter bekomme und das Tor auf Zu nur reagiert wenn der ShutterContact open ist und umgekehrt?
ungetestet !
define GaragenTorSchalter dummy
attr setList state: auf zu
attr webCmd auf:zu
define GaragenTorSchalter notify GaragenTorSchalter_n {
if ((Value "ShutterContact" eq "open") && (Value "GaragenTorSchalter" eq "zu" )) fhem ("set GarageTOR zu");
if ((Value "ShutterContact" eq "closed") && (Value "GaragenTorSchalter" eq "auf" )) fhem ("set GarageTOR auf");
}
cheers
mi.ke
Hallo,
Zitatungetestet !
Offensichtlich.
define GaragenTorSchalter notify GaragenTorSchalter_n {
Worauf sollte das notify triggern?
Tipp: Das Device lautet
GaragenTorSchalter_n und das habe ich bisher noch nirgends gefunden.
Ausserdem heisst das Device und das notify gleich - das kann so auch nicht klappen.
Grüße
ZitatWorauf sollte das notify triggern?
Auf auf und zu
Hast ja recht . . .
Meine notify heissen alle _n am Ende.
Hab die wegstaben verbixelt.
so wird eher ein schuh draus:
define GaragenTorSchalter_n notify GaragenTorSchalter {
Hallo,
so sieht es besser aus ;)
Grüße
Zitat von: Puschel74 am 18 April 2014, 14:06:53
Hallo,
so sieht es besser aus ;)
Grüße
@Puschel74
Hab letztes Jahr an Ostern meinen ersten Fensterkontakt angeschraubt.
Bis dahin dachte ich, Perl wird mit a geschrieben.
Da bin ich schon stolz, dass Du nicht mehr Unzulänglichkeit aufgedeckt hast . . .
Beste Grüße und schöne Feiertage . . .
. . . und vielen Dank für Deinen unermüdlichen Einsatz hier im Forum !
Cheers
mi.ke
Hallo,
aus
((Value "ShutterContact" eq "open")
müsste noch
((Value("ShutterContact")eq "open")
gemacht werden - das Device im Value noch klammern.
So hab ich das zumindest bei mir und das klappt einwandfrei ;D
@mi.ke
Und ein Jahr später hilfst du schon anderen Anfängern - so schnell kann man sich in FHEM "einarbeiten" ;)
Und wenn man den Dreh einmal raus hat fragt man sich warum man so kompliziert gedacht hat :-[
Dir auch schöne Ostern ... und auch ein Danke das du uns hier unterstützt.
Grüße
Hallo,
vielen Dank an alle.
habe das mal auf mich adaptiert:
##### 8 Garage
### 8.1 Garagentor AUF/ZU mit 443Mhz Schalter
define TorOeffner IT 0000FFF0FF FF F0
attr TorOeffner IODev CUL443
attr TorOeffner eventMap on:Up off:Down
attr TorOeffner fp_Groundfloor 815,485,2,
attr TorOeffner group Garagentor
attr TorOeffner room Draussen,Schalter
define Lamp1On_for2sec notify TorOeffner.on { \
fhem ("set TorOeffner on") ;; \
fhem ("define TorOeffnerOff at +00:00:02 set TorOeffner off")}
define Lamp1Off notify TorOeffner.off {fhem ("set TorOeffner off")}
define GaragenTorSchalter dummy
attr GaragenTorSchalter setList state: auf zu
attr GaragenTorSchalter webCmd auf:zu
attr GaragenTorSchalter room Test
define GaragenTorSchalter_n notify GaragenTorSchalter { \
if ((Value ("Garagentor") eq "open") && (Value ("GaragenTorSchalter") eq "zu" )) fhem ("set TorOeffner on");;\
if ((Value ("Garagentor") eq "closed") && (Value ("GaragenTorSchalter")eq "auf" )) fhem ("set TorOeffner on");;\ }
Jedoch bekomme ich im Log immer
Bareword found where operator expected at (eval 582) line 2, near ") fhem"
(Missing operator before fhem?)
Bareword found where operator expected at (eval 582) line 3, near ") fhem"
(Missing operator before fhem?)
2014.04.18 19:36:43 3: GaragenTorSchalter_n return value: syntax error at (eval 582) line 2, near ") fhem "
syntax error at (eval 582) line 3, near ") fhem "
Bareword found where operator expected at (eval 591) line 2, near ") fhem"
(Missing operator before fhem?)
Bareword found where operator expected at (eval 591) line 3, near ") fhem"
(Missing operator before fhem?)
2014.04.18 19:36:56 3: GaragenTorSchalter_n return value: syntax error at (eval 591) line 2, near ") fhem "
syntax error at (eval 591) line 3, near ") fhem "
Vielleicht kann ja mal einer drüberschauen
fehlen die geschweiften Klammern:
define GaragenTorSchalter_n notify GaragenTorSchalter { \
if ((Value ("Garagentor") eq "open") && (Value ("GaragenTorSchalter") eq "zu" )) {fhem ("set TorOeffner on")};;\
if ((Value ("Garagentor") eq "closed") && (Value ("GaragenTorSchalter")eq "auf" )) {fhem ("set TorOeffner on")};;\ }
Hallo zusammen,
irgendwie bekomme ich es nicht hin:
1. Ich habe einen Steckdose, welche für 2Sek Schaltet und damit über ein Relais den TastenDruck zum Öffnen/Schliessen imitiert.
2. das ganze sieht so aus und klappt einwandfrei
define TorOeffner IT 00000FFF0F FF F0
attr TorOeffner IODev CUL443
attr TorOeffner eventMap on:Auf off:Zu
attr TorOeffner fp_Groundfloor 815,485,2,
attr TorOeffner group Garagentor
attr TorOeffner icon building_carport
attr TorOeffner room Draussen,Schalter
define Lamp1On_for2sec notify TorOeffner.on { \
fhem ("set TorOeffner on") ;; \
fhem ("define TorOeffnerOff at +00:00:02 set TorOeffner off")}
define Lamp1Off notify TorOeffner.off {fhem ("set TorOeffner off")}
Dann habe ich von meiner MAX! Heizungsanlage einen FensterShutter über, welcher am Tor montiert ist und Opened bzw. Closed als State hat, funktioniert auch einwandfrei
define Garagentor MAX ShutterContact 018d62
attr Garagentor IODev cm
attr Garagentor devStateIcon opened:fts_garage@red closed:fts_garage_door_100@green
attr Garagentor group Garagentor
attr Garagentor room Draussen,Schalter
also habe ich im FHEM jetzt einen Schalter Auf und Zu und den Zustand des Tores, Opened oder Closed.
Jetzt möchte ich, das der "Auf" Button nur dann funktioniert, wenn das Tor geschlossen ist. Und der "Zu" Button nur dann wenn das Tor auf ist. So das ich nicht mit "Auf" ein offenes Tor schließe!
Vielleicht hat jemand von euch ja eine Idee? Der ZU Button muss im Prinzip das gleiche machen, was der AUF Button macht nur abhängig vom Torzustand.
Ich wünsche euch frohe Ostern
Hi zusammen,
desweiteren bekomme ich bei Neustart diese Fehlermeldung
statefile: Undefined value Zu
Könnte mir jemand nochmals helfen
Gruss Dirk
Niemand eine Idee?
Gesendet von meinem SGP521 mit Tapatalk
Hallo,
klarer Fall von if (oder IF). Kleingeschrieben ist es das PERL if - groß geschrieben das Fhem IF.
Du fragst den Zustand des MAX! Kontaktes ab. Aus der Commandref:
IF (<Bedingung>) (<FHEM-Kommandos1>) ELSE (<FHEM-Kommandos2>)
wobei man das ELSE weg lassen kann. Da bedeutet für Dich bei drücken aus "AUF"
IF (MAX!_Kontakt eq "zu") (set TorOeffner on) -- wenn das Tor schon auf ist, ist die Bedingung nicht erfüllt und es passiert nichts.
IF (MAX!_Kontakt eq "auf") (set TorOeffner off) -- das gleiche umgekehrt.
Das Ganze kannst Du dann von einem notify auslösen lassen (wobei ich Dein notify konstrukt nicht so ganz verstehe).
Ich würde einen Dummy - Schalter definieren der AUF und ZU kann - die beiden Zustände lösen ein notify aus, was dann über die IF Abfrage den Befehl an das Tor absetzt. Wenn der notify auf den DUMMY -Schalter reagiert, kann man die IF erweitern um den Zustand des Dummy's abzufragen. Beispiel:
define Dummy_Befehl notify
IF (MAX!_Kontakt eq "zu" && DUMMY eq "auf") (set TorOeffner on-for-timer 2)
ELSE IF (MAX!_Kontakt eq "auf" && DUMMY eq "zu") (set TorOeffner on-for-timer 2)
Das wars dann schon - es wird so immer nur geschaltet wenn der jeweils andere Zustand vorhanden ist.
Gruß Christoph
PS den Code habe ich nicht getestet - er soll Dir nur einen (von mehreren) Weg aufzeigen, Dein Problem zu lösen.
Hi,
ich bekomms einfach nicht hin.
dieses hier habe ich und funktioniert.
(http://unbenannt.png)
define TorOeffner IT 00000FFF0F FF F0
attr TorOeffner IODev CUL443
attr TorOeffner fp_Groundfloor 815,485,2,
attr TorOeffner group Garagentor
attr TorOeffner icon building_carport
attr TorOeffner room Draussen,Schalter
attr TorOeffner webCmd on-for-timer 4:open:closed
### 8.2 Garagentor Zustandsanzeige
define Garagentor MAX ShutterContact 018d62
attr Garagentor IODev cm
attr Garagentor devStateIcon opened:fts_garage@red closed:fts_garage_door_100@green
attr Garagentor fp_Groundfloor 888,500,0,
attr Garagentor group Garagentor
attr Garagentor icon fts_garage_door_60
attr Garagentor room Draussen,Schalter
Was ich jetzt möchte, wäre das Tor Auf dann nur der Befehl ZU zusehen ist und dieser ON-FOR-TIMER 4 macht. und bei TOR ZU nur AUF zu sehen ist und dieser denn Befehl ON-FOR-TIMER macht.
Desweiteren soll es dann auch möglich sein über eine URL direkt zu öffnen
z.b. so:
192.xxx.xxx.xxx:8083/fhem?cmd.TOR=set Tor AUF oder
192.xxx.xxx.xxx:8083/fhem?cmd.TOR=set Tor ZU
Hallo,
also ich habe das mit dem "devStateIcon" gelöst. Das kann drei Werte aufnehmen, Zustand:Symbol:Aktion(bei Klick auf das Symbol).
Beispiel opened:fts_garage@red:zu closed:fts_garage_door_100@green:auf.
Gruß Christoph
Hi Christoph,
verstehe ich nicht, was mir das bringt.
Aber vielleicht stehe ich momentan irgendwo auf dem Schlauch!
Hallo,
na das wonach Du gefragt hast. Ist das Tor offen, dann kann man durch das Klicken auf das Icon das Tor zu fahren. Umgekeht ist das Tor zu, kann man mit einem Klick das Tor auf fahren. Ich nutze das fasst nur, weil ich das viel anschaulicher finde als diese webcmd's.
Macht fhem denn das 'on-for-timer 4' als webcmd ?
Ich würde das anders machen . Ein Notify auf den Dummy löst ein "set xxx on-for-timer" aus.
z.B.
define dummy_klick notify IF ([toröffner:Status] eq "closed") (set toröffner_auf on-for-timer 4) ELSE (set toröffner_zu on-for-timer 4)
Gruß Christoph
Zitat von: hyper2910 am 07 Mai 2014, 07:03:42
define TorOeffner IT 00000FFF0F FF F0
attr TorOeffner IODev CUL443
Ist Dir klar, dass mit diesen Informationen jeder halbwegs versierte Bastler Deine Garage öffnen kann?
Ja klar, deswegen habe ich Werte ja auch geändert.
Gesendet von meinem SGP521 mit Tapatalk
Das mit dem devStateIcon funktioniert bei mir nicht, naja dann lassen wir das so
Gesendet von meinem SGP521 mit Tapatalk
Da ich in diesem Thread ein bisscehn den Faden verloren habe und nicht weiss was schon gelöst und was noch offen ist werfe ich mal flockig ein: Den WikiArtikel
http://www.fhemwiki.de/wiki/Garagentorsteuerung
schon gelesen?
Hi,
ja gelesen und daher kam meine Idee das mit ein paar "billigen Komponenten" zu verwirklichen.
Die Grundfunktionen sind da, nur klappt das mit wenn Tür Offen kann nur Geschlossen werden und umgekehrt nicht.