Rollladen Zeitsteuerung per Knopf ein/ausschalten. Nur Icons auf Oberfläche

Begonnen von Jens_B, 12 März 2014, 08:10:07

Vorheriges Thema - Nächstes Thema

Rammlet

Hallo zusamen!

Wie man sieh bin ich neu hier im Forum. Habe letzte Woche von Homeputer auf FHEM umgestellt.

Würde jetzt gerne Schnell wieder alles am laufen haben.

Das Licht ist jetzt soweit auch fertig bin jetzt bei den Rollladen und der Heizung angekommen. Habe die Entwicklung hier schon gelesen es hört sich so an als würde das in etwa so sein wie meine alte Steuerung in Homeputer.

Ich würde mich freuen wenn jemand seine Funktionierende Steuerung posten würde.
Schon einmal vielen lieben dank. und ich hoffe das ich in Zukunft auch zu der Weiterentwicklung etwas beitragen kann

Jens_B

Hallo bugster_de

Zitat von: bugster_de am 17 September 2014, 19:40:43
Zusammengefasst hat meine Rollo-Steuerung heute ca. 5.000 Zeilen Per-Code und in der Oberfläche eben nicht mehr nur einen ON/OFF Button sondern ein Drop-Down mit FULL/SEMI/OFF. Warum? Lest selbst.
....

immer vom WAF: "Du Schatzi, kannst Du nicht machen dass..." Ja ich kann.
- wenn Besuch da ist, dann sollen die Rolläden im Wohn-Essbereich nicht zugehen. Wirkt wie eine Aufforderung jetzt zu gehen
   --> Schalter in der Oberfläche und nun auch mittels Calendar Element aus dem Google Kalender
- wenn man nicht zu Hause ist, dann sollen die Rolläden als Einbruchsschutz runter gehen
   --> zuverlässige (!!!!!) Erkennung ob ein Handy zu Hause ist
- wenn die Kleine Mittagschlaf macht, dann sollen die Rolläden möglichst nicht hin & herfahren, schon gar nicht im Kinderzimmer
- wenn jemand zu Hause ist, dann soll vor allem die Sonnenschutzautomatik nicht fahren, da das nervt ("Geisterhaus")
- wenn man mal morgens sich nicht wohl fühlt, muß man mit einem Knopfdruck die Öffnungszeit nach später verschieben können
  --> ITS 150 Fernbedienung
- etc. etc. etc.

Ihr seht, ich musste bei diesem Thread doch etwas schmunzeln, denn für denjenigen, der FHEM zu Hause betreibt kommt der Appetit auf neue Funktionen mit dem Essen und die Bugs werden durch die bessere Hälfte gnadenlos aufgedeckt.


Also, das mit dem Dropdown Menu klingt interessant, ich nehme an du kannst CSS und hast das Ganze dann irgendwie in die
Weboberfläche gebracht.
Auch die letzten Zeilen Deines Beitrags amüsieren mich ;), genau diese Fragen sind bei meiner Frau auch gekommen, leider leider bin ich nicht so firn, das in FHEM umzusetzen (zuverlässige Erkennung ob eins unseres Handy da ist, ich wollte das Ganze über Bluetooth machen, mußte aber feststellen das ich den Bluetooth adapter schon mal gar nicht vernünftig am Rasberry zum Laufen bekomme, geschweige denn in FHEM)
Das mit den Rollladen im "Gästebereich" (Gästetisch) kommt mir ebenfalls bekannt vor, auch das mit dem "morgens mal nicht so wohl fühlen" ...

Wenn Du da eventuell doch mal ein paar "Codeschnipsel" hättest? Mit etwas "Transferleistung" meines eigenen Gripses wäre ich da sicher in der Lage, das Ganze mal bei mir umzusetzen.

Gruß
Jens
RaspberryPi 4 (Raspian Buster)FHEM+Homebridge
HMLAN für Homematic
Z-Wave USB Stick
Shelly Devices
Fritz!Box 7590Ax

Rammlet

Kann mir jemand helfen und einmal darüber schauen. Irgend wo habe ich wohl einen Fehler drin komme aber leider nicht drauf.


define RDL_Office_hoch_wd at *{sunrise("REAL",600,"07:00","09:00")} { if ( Value("ZEITSTEUERUNG") eq "an" && ($we)) {fhem ("set RDL_Office auf")}}
attr RDL_Office_hoch_wd alias Rollladen Office rauf wd
attr RDL_Office_hoch_wd group Zeitsteuerung
attr RDL_Office_hoch_wd room Office

define RDL_Office_hoch_we at *{sunrise("REAL",12000,"08:00","12:00")} { if ( Value("ZEITSTEUERUNG") eq "an" && ($we)) {fhem ("set RDL_Office auf")}}
attr RDL_Office_hoch_we alias Rollladen Office rauf we
attr RDL_Office_hoch_we group Zeitsteuerung
attr RDL_Office_hoch_we room Office

define RDL_Office_runter at *{sunset("REAL",600,"17:00","21:00")} { if ( Value("ZEITSTEUERUNG") eq "an" && ($we)) {fhem ("set RDL_Office zu")}}
attr RDL_Office_runter alias Rollladen Office runter
attr RDL_Office_runter group Zeitsteuerung
attr RDL_Office_runter room Office


define ZEITSTEUERUNG dummy
attr ZEITSTEUERUNG alias Rollladen Zeitsteuerung an/aus
attr ZEITSTEUERUNG devStateIcon ja:general_an_fuer_zeit nein:general_aus_fuer_zeit
attr ZEITSTEUERUNG eventMap ja nein
attr ZEITSTEUERUNG group Zeitsteuerung
attr ZEITSTEUERUNG room Office
attr ZEITSTEUERUNG webCmd ja:nein
#

Puschel74

Hallo,

ZitatKann mir jemand helfen und einmal darüber schauen. Irgend wo habe ich wohl einen Fehler drin komme aber leider nicht drauf.
Ha, knuffig.
Und dann machen wir heiters Fehlerraten und schauen wer dem Fehler am nächsten kommt  ???

Wie wäre es wenn du sagst WAS du dir erwartest, WAS der code macht (oder nicht) und welche Meldungen dazu im Logfile stehen.

aber eines ist mir schon aufgefallen:
Hier hast du
if ( Value("ZEITSTEUERUNG") eq "an"
und hier
attr ZEITSTEUERUNG eventMap ja nein
attr ZEITSTEUERUNG group Zeitsteuerung
attr ZEITSTEUERUNG room Office
attr ZEITSTEUERUNG webCmd ja:nein

Dein Dummy wird NIE den Zustand an annehmen - es sei den du zeigst nicht den ganzen Code und "an" wird durch was anderes gesetzt.

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.

Jens_B

attr ZEITSTEUERUNG eventMap ja nein
attr ZEITSTEUERUNG group Zeitsteuerung
attr ZEITSTEUERUNG room Office
attr ZEITSTEUERUNG webCmd ja:nein



Das funktioniert so leider wohl nicht, da der Code aus meinem damals falsch geposteten Code einfach kopiert ist....

Entweder machst Du aus:
if ( Value("ZEITSTEUERUNG") eq "an"

dieses:

if ( Value("ZEITSTEUERUNG") eq "ja"

oder du änderst den Dummy ZEITSTEUERUNG in

#### Zeitsteuerung Dummy ###
define ZEITSTEUERUNG dummy
attr ZEITSTEUERUNG alias Rollladen(kompl.) Zeitsteuerung an/aus
attr ZEITSTEUERUNG devStateIcon an:general_an_fuer_zeit:aus aus:general_aus_fuer_zeit:an
attr ZEITSTEUERUNG group Zeitsteuerung
attr ZEITSTEUERUNG room Gästezimmer,Kinderzimmer,Küche,Schlafzimmer,System,Test,Unsorted,Wetterdaten,Wohnzimmer
attr ZEITSTEUERUNG setList an aus


RaspberryPi 4 (Raspian Buster)FHEM+Homebridge
HMLAN für Homematic
Z-Wave USB Stick
Shelly Devices
Fritz!Box 7590Ax

Damian

Zitat von: Rammlet am 27 September 2014, 20:09:20
Kann mir jemand helfen und einmal darüber schauen. Irgend wo habe ich wohl einen Fehler drin komme aber leider nicht drauf.


define RDL_Office_hoch_wd at *{sunrise("REAL",600,"07:00","09:00")} { if ( Value("ZEITSTEUERUNG") eq "an" && ($we)) {fhem ("set RDL_Office auf")}}
attr RDL_Office_hoch_wd alias Rollladen Office rauf wd
attr RDL_Office_hoch_wd group Zeitsteuerung
attr RDL_Office_hoch_wd room Office

define RDL_Office_hoch_we at *{sunrise("REAL",12000,"08:00","12:00")} { if ( Value("ZEITSTEUERUNG") eq "an" && ($we)) {fhem ("set RDL_Office auf")}}
attr RDL_Office_hoch_we alias Rollladen Office rauf we
attr RDL_Office_hoch_we group Zeitsteuerung
attr RDL_Office_hoch_we room Office

define RDL_Office_runter at *{sunset("REAL",600,"17:00","21:00")} { if ( Value("ZEITSTEUERUNG") eq "an" && ($we)) {fhem ("set RDL_Office zu")}}
attr RDL_Office_runter alias Rollladen Office runter
attr RDL_Office_runter group Zeitsteuerung
attr RDL_Office_runter room Office


define ZEITSTEUERUNG dummy
attr ZEITSTEUERUNG alias Rollladen Zeitsteuerung an/aus
attr ZEITSTEUERUNG devStateIcon ja:general_an_fuer_zeit nein:general_aus_fuer_zeit
attr ZEITSTEUERUNG eventMap ja nein
attr ZEITSTEUERUNG group Zeitsteuerung
attr ZEITSTEUERUNG room Office
attr ZEITSTEUERUNG webCmd ja:nein
#

So etwas lässt sich auch mit einer Definition erschlagen:

define di_rollo DOIF (
[{sunrise("REAL",600,"07:00","09:00")}-{sunset("REAL",600,"17:00","21:00")}|8] or
[{sunrise("REAL",12000,"08:00","09:00")}-{sunset("REAL",600,"17:00","21:00")}|7])
  (set RDL_Office auf)
DOELSE
  (set RDL_Office zu)


Mit

define di_zeitsteuerung DOIF ([Zeitsteuerung] eq "ja") (attr di_rollo disable 0) DOELSE (attr di_rollo disable 1)

lässt sich die Steuerung aktivieren bzw. deaktivieren.

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Rammlet

nach der Beseitigung der von mir noch eingebauten Fehler laufen jetzt erst einmal alle 10 Rollladen.  ;)


Danke Damian für den verschlag habe es gleich einmal bei einer eingebaut zum testen kannst du mir sagen was  ")}|8] bzw. ")}|7] bewirkt?

Wie gesagt bin noch ein Anfänger daher noch die dumme frage wie bekomme ich aus der di_zeitsteuerung die 0 bzw 1 ausgegeben? habe es mit EventMap (ja:attr di_rollo disable 0 nein:attr di_rollo disable 1) und webCmd (ja:nein) versucht aber wie ihr sicher wisst geht das so nicht.

Damian

Zitat von: Rammlet am 02 Oktober 2014, 22:56:57
nach der Beseitigung der von mir noch eingebauten Fehler laufen jetzt erst einmal alle 10 Rollladen.  ;)


Danke Damian für den verschlag habe es gleich einmal bei einer eingebaut zum testen kannst du mir sagen was  ")}|8] bzw. ")}|7] bewirkt?

Wie gesagt bin noch ein Anfänger daher noch die dumme frage wie bekomme ich aus der di_zeitsteuerung die 0 bzw 1 ausgegeben? habe es mit EventMap (ja:attr di_rollo disable 0 nein:attr di_rollo disable 1) und webCmd (ja:nein) versucht aber wie ihr sicher wisst geht das so nicht.

In der Doku des Moduls http://fhem.de/commandref_DE.html#DOIF steht, dass 7 $we entspricht, also Wochenende und 8 (!$we), also Arbeitstage.

Statusanpassung steht ebenfalls in der Doku, z. B.

attr di_zeitsteuerung state ja|nein

Gruß

Damian

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Jens_B


Zitat von: Damian am 02 Oktober 2014, 20:37:21
So etwas lässt sich auch mit einer Definition erschlagen:

define di_rollo DOIF (
[{sunrise("REAL",600,"07:00","09:00")}-{sunset("REAL",600,"17:00","21:00")}|8] or
[{sunrise("REAL",12000,"08:00","09:00")}-{sunset("REAL",600,"17:00","21:00")}|7])
  (set RDL_Office auf)
DOELSE
  (set RDL_Office zu)


Mit

define di_zeitsteuerung DOIF ([Zeitsteuerung] eq "ja") (attr di_rollo disable 0) DOELSE (attr di_rollo disable 1)

lässt sich die Steuerung aktivieren bzw. deaktivieren.

Gruß

Damian


Hallo Damian,
Damals als ich diese Bedingungen gebaut habe gabs dein doif Modul noch nicht.

Gruß
Jens



Gesendet von meinem iPhone mit Tapatalk
RaspberryPi 4 (Raspian Buster)FHEM+Homebridge
HMLAN für Homematic
Z-Wave USB Stick
Shelly Devices
Fritz!Box 7590Ax

Damian

Zitat von: Jens_B am 03 Oktober 2014, 09:39:29

Hallo Damian,
Damals als ich diese Bedingungen gebaut habe gabs dein doif Modul noch nicht.

Gruß
Jens

Gesendet von meinem iPhone mit Tapatalk

ja, sah bei mir früher auch nicht anders aus  ;D

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Jens_B

Allerdings die Abfrage auf Wochentag 7 und 8, bezieht leider nicht so schön die Feiertage mit ein, wie $we.
(Wenn man eine holiday.cfg  benutzt)




Gesendet von meinem iPhone mit Tapatalk
RaspberryPi 4 (Raspian Buster)FHEM+Homebridge
HMLAN für Homematic
Z-Wave USB Stick
Shelly Devices
Fritz!Box 7590Ax

Damian

Zitat von: Jens_B am 03 Oktober 2014, 20:00:02
Allerdings die Abfrage auf Wochentag 7 und 8, bezieht leider nicht so schön die Feiertage mit ein, wie $we.
(Wenn man eine holiday.cfg  benutzt)




Gesendet von meinem iPhone mit Tapatalk

Aber selbstverständlich - Doku schon gelesen? Auszug: "Nur am Wochenende bzw. an Feiertagen lt. holiday-Datei (7 entspricht $we):..."

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Jens_B


Zitat von: Damian am 03 Oktober 2014, 20:06:14
Aber selbstverständlich - Doku schon gelesen? Auszug: "Nur am Wochenende bzw. an Feiertagen lt. holiday-Datei (7 entspricht $we):..."

Gruß

Damian

Ah, das wusste ich nicht. Hab die Doku in Bezug drauf nicht durchgelesen.
Da meine Rollladensteuerung mit meinen jetzigen def. so geht wie ich es brauche.

Never Change a Running System ;-)



Gesendet von meinem iPhone mit Tapatalk
RaspberryPi 4 (Raspian Buster)FHEM+Homebridge
HMLAN für Homematic
Z-Wave USB Stick
Shelly Devices
Fritz!Box 7590Ax

Rammlet

Hallo Damian

Habe deinen Rat Befolgt und es läuft jetzt so


define zeitsteuerung_Office dummy
attr zeitsteuerung_Office alias Office Rollladen zeitsteuerung ja/nein
attr zeitsteuerung_Office devStateIcon ja:general_an_fuer_zeit nein:general_aus_fuer_zeit
attr zeitsteuerung_Office eventMap ja neinattr zeitsteuerung_Office group zeitsteuerung
attr zeitsteuerung_Office room Office,X_Rollladen,X_Zeitsteuerrungen
attr zeitsteuerung_Office webCmd ja:nein
###
define RDL_Office_time DOIF ([{sunrise("REAL",600,"07:00","09:00")}-{sunset("REAL",600,"17:00","21:00")}|8] or [{sunrise("REAL",12000,"08:00","09:00")}-{sunset("REAL",600,"17:00","21:00")}|7]) (set RDL_Office 100) DOELSE (set RDL_Office 0)
attr RDL_Office_time disable 0
attr RDL_Office_time group zeitsteuerung
attr RDL_Office_time room Office,X_Rollladen,X_Zeitsteuerrungen
#
define RDL_Office_zeitsteuerung DOIF ([zeitsteuerung_Office] eq "ja") (attr RDL_Office_time disable 0) DOELSE (attr RDL_Office_time disable 1)
attr RDL_Office_zeitsteuerung group zeitsteuerung
attr RDL_Office_zeitsteuerung room Office,X_Rollladen,X_Zeitsteuerrungen
#
define RDL_Office_Schatten DOIF ([TH_Garden:temperature] > 8 and $hms gt "12:00") (set RDL_Office 60) DOELSE (set RDL_Office 100)
attr RDL_Office_Schatten disable 0
attr RDL_Office_Schatten group Rollladen,zeitsteuerung
attr RDL_Office_Schatten room Office,X_Rollladen,X_Zeitsteuerrungen
attr RDL_Office_Schatten wait 90:90
#
define RDL_Office_Schatten_schatten DOIF ([zeitsteuerung_Office] eq "ja") (attr RDL_Office_Schatten disable 0) DOELSE (attr RDL_Office_Schatten disable 1)
attr RDL_Office_Schatten_schatten group Rollladen,zeitsteuerung
attr RDL_Office_Schatten_schatten room Office,X_Rollladen,X_Zeitsteuerrungen
Würde gerne die DOFI's einzeln schalten leider geht das so wie unten beschrieben nicht. Hast du eine Idee?


define zeitsteuerung_Office dummy
attr zeitsteuerung_Office alias Office Rollladen zeitsteuerung ja/nein
attr zeitsteuerung_Office devStateIcon ja:general_an_fuer_zeit nein:general_aus_fuer_zeit
attr zeitsteuerung_Office eventMap aus Zeit Zeit_Shut Shut
attr zeitsteuerung_Office group zeitsteuerung
attr zeitsteuerung_Office room Office,X_Rollladen,X_Zeitsteuerrungen
attr zeitsteuerung_Office webCmd aus:Zeit:Zeit_Shut:Shut
###
define RDL_Office_time DOIF ([{sunrise("REAL",600,"07:00","09:00")}-{sunset("REAL",600,"17:00","21:00")}|8] or [{sunrise("REAL",12000,"08:00","09:00")}-{sunset("REAL",600,"17:00","21:00")}|7]) (set RDL_Office 100) DOELSE (set RDL_Office 0)
attr RDL_Office_time disable 0
attr RDL_Office_time group zeitsteuerung
attr RDL_Office_time room Office,X_Rollladen,X_Zeitsteuerrungen
#
define RDL_Office_zeitsteuerung DOIF ([zeitsteuerung_Office] eq "Zeit or Zeit_Shut") (attr RDL_Office_time disable 0) DOELSE (attr RDL_Office_time disable 1)
attr RDL_Office_zeitsteuerung group zeitsteuerung
attr RDL_Office_zeitsteuerung room Office,X_Rollladen,X_Zeitsteuerrungen
#
define RDL_Office_Schatten DOIF ([TH_Garden:temperature] > 8 and $hms gt "12:00") (set RDL_Office 60) DOELSE (set RDL_Office 100)
attr RDL_Office_Schatten disable 0
attr RDL_Office_Schatten group Rollladen,zeitsteuerung
attr RDL_Office_Schatten room Office,X_Rollladen,X_Zeitsteuerrungen
attr RDL_Office_Schatten wait 90:90
#
define RDL_Office_Schatten_schatten DOIF ([zeitsteuerung_Office] eq "Shut or Zeit_Shut") (attr RDL_Office_Schatten disable 0) DOELSE (attr RDL_Office_Schatten disable 1)
attr RDL_Office_Schatten_schatten group Rollladen,zeitsteuerung
attr RDL_Office_Schatten_schatten room Office,X_Rollladen,X_Zeitsteuerrungen

Damian

Wenn "Shut" bzw. "Zeit_Shut" die möglichen Zustände im Status von zeitsteuerung_Office sind:

dann musst du statt:

define RDL_Office_Schatten_schatten DOIF ([zeitsteuerung_Office] eq "Shut or Zeit_Shut") (attr RDL_Office_Schatten disable 0) DOELSE (attr RDL_Office_Schatten disable 1)

define RDL_Office_Schatten_schatten DOIF ([zeitsteuerung_Office] eq "Shut" or [zeitsteuerung_Office] eq "Zeit_Shut") (attr RDL_Office_Schatten disable 0) DOELSE (attr RDL_Office_Schatten disable 1)

definieren.

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF