Rollsteuerung Hand Automatik mit Sunrise Sunset mit Arduino

Begonnen von fhemegon, 23 April 2014, 20:26:51

Vorheriges Thema - Nächstes Thema

fhemegon

Hallo,

ich habe ein Problem mit der Umschaltung Hand / Automatik

folgendes möchte ich umsetzen:

Rollosteuerung mit der Maus steuern (manuell)  auf ab Halb stop //#funktioniert
Anzeige ob Rollo auf oder zu ist //#funktioniert
Umschaltung Hand Automatik mit der Maus //#funktioniert
automatisches öffnen und schließen mit sunset und sunrise, nur wenn auf Automatik gestellt ist, sonst manuell
> dies funktioniert nicht :-(

Hardware:

Rollomotoren mit GIRA 039800, Einsatz Jalousiesteuerung mit Nebenstelleneingang
Arduino (Firmata) mit relais shield
FHEM auf Fritz 7390

hier checke ich nicht, müsste dies auch mit Notify gelöst werden?

hier meine Ausschnitt aus der fhem.cfg


define FRM FRM 3030 [global]

define OWio OWX 3 // Pin 3 am Arduino
attr OWio IODev FRM

#Hand Automatik

define Automatik.Rollo dummy
attr Automatik.Rollo comment Rollo EG Automatik
attr Automatik.Rollo devStateIcon Ein:general_an@green Aus:general_aus@red
attr Automatik.Rollo eventMap on:Ein off:Aus
attr Automatik.Rollo fp_Erdgeschoss 300,50,2,Automatik
attr Automatik.Rollo room Rollo
attr Automatik.Rollo webCmd Ein:Aus

#attr Automatik.Rollo stateFormat value
define File_Automatik.Rollo FileLog ./log/Automatik.Rollo-%Y.log Automatik.Rollo
attr File_Automatik.Rollo logtype text
attr File_Automatik.Rollo room logs



# zu
define Ard.5 FRM_OUT 5
attr Ard.5 IODev FRM
attr Ard.5 activeLow yes
attr Ard.5 comment Rollo EG Zu
attr Ard.5 eventMap /on-for-timer 30:Zu/
attr Ard.5 room Rollo
attr Ard.5 stateFormat value
attr Ard.5 webCmd Zu

define FileLog_Ard.5 FileLog ./log/Ard.5-%Y.log Ard.5
attr FileLog_Ard.5 logtype text
attr FileLog_Ard.5 room logs


#auf
define Ard.6 FRM_OUT 6
attr Ard.6 IODev FRM
attr Ard.6 activeLow yes
attr Ard.6 comment Rollo EG Auf
attr Ard.6 eventMap /on-for-timer 30:Auf/
attr Ard.6 room Rollo
attr Ard.6 stateFormat value
attr Ard.6 webCmd Auf

define FileLog_Ard.6 FileLog ./log/Ard.6-%Y.log Ard.6
attr FileLog_Ard.6 logtype text
attr FileLog_Ard.6 room logs

#webinterface
define rollo.EG dummy
attr rollo.EG comment Rollo xxx
attr rollo.EG eventMap up:Auf down:ZU
attr rollo.EG fp_Erdgeschoss 210,45,2,Rollosteuerung
attr rollo.EG room Rollo
attr rollo.EG webCmd Auf:Halb:Zu:stop

#attr rollo.EG eventMap /on-for-timer 5:Halb/off:Zu/on:Auf/stop:stop/

#attr rollo.EG webCmd Auf:Halb:Zu:stop

define FileLog_rollo.EG FileLog ./log/rollo.EG-%Y.log rollo.EG
attr FileLog_rollo.EG logtype text
attr FileLog_rollo.EG room logs


#Notify
define rollo.EG.ntfy notify rollo.EG:.* {\
if('%' eq 'Zu') {\
  fhem 'set Ard.6 off';;\
  fhem 'set Ard.5 on-for-timer 30';;\
  fhem 'setstate rollo.EG down';;\
} elsif('%' eq 'Auf') {\
  fhem 'set Ard.5 off';;\
  fhem 'set Ard.6 on-for-timer 30';;\
  fhem 'setstate rollo.EG up';;\
} elsif('%' eq 'stop') {\
  fhem 'set Ard.5 off';;\
  fhem 'set Ard.6 off';;\
  fhem 'setstate rollo.EG stop';;\
} else {\
  if(OldValue('rollo.EG') eq 'Zu') {\
   fhem 'set Ard.6 off';;\
   fhem 'set Ard.5 on-for-timer 5';;\
   fhem 'setstate rollo.EG Halb';;\
} elsif(OldValue('rollo.EG') eq 'Auf') {\
   fhem 'set Ard.5 off';;\
   fhem 'set Ard.6 on-for-timer 5';;\
   fhem 'setstate rollo.EG Halb';;\
  }\
} \
}

#Öffnet Rollo bei Sonnenaufgang aber nicht vor 7:30 Uhr

define Rollo.auf at *{ \
if((Value("Automatik.Rollo") eq "on") &&\
   sunrise(0,'07:30','09:30')) {\
  fhem 'set Ard.6 off';;\
  fhem 'set Ard.5 on-for-timer 30';;\
  fhem 'setstate rollo.EG up';;\
}\
}


#Schließt Rollo 15 Minuten vor Sonnenuntergang
#define Rollo.runter at *{sunset(-900)} set rollo.EG down


#Schließt Rollo bei Sonnenuntergang aber nicht vor 17:30 Uhr und nicht nach 20:00 Uhr

define Rollo.zu at *{ \
if(("Automatik.Rollo" eq "on") &&\
   sunset(0,"17:30","20:00")) {\
  fhem 'set Ard.6 off';;\
  fhem 'set Ard.5 on-for-timer 30';;\
  fhem 'setstate rollo.EG down';;\
}}\
}

für ein paar Tips, event auch eine besser Lösung
Vielen Dank

Viele Grüße
fhemegon