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

FunkOdyssey

@Rammlet
Wie hast du das gemacht, dass sie die DOIF Definition ändert, wenn du die Zeiten änderst?

Vize

Hi,

@Damian

Wie du schriebst, wird ja hierüber
define di_zeitsteuerung DOIF ([Zeitsteuerung] eq "ja") (attr di_rollo disable 0) DOELSE (attr di_rollo disable 1)
das DOIF für eine Rollosteuerung ein- bzw. ausgeschaltet.

Ich hab das mal entsprechend nachgebaut und es funktioniert auch, aber wenn ich im zugehörigen dummy den Status ändere von z.B. on auf off, wird zwar das DOIF di_rollo mit dem disable-Attribut belegt, doch dabei erscheint dann oben links das rote Fragezeichen, weil ja eine Änderung an der fhem.cfg stattfindet. Speichere ich dann die Config nicht und lade sie einfach nochmal neu, bleibt das DOIF auf initialized statt auf disabled, aber der dummy zeigt mir den Status off...

Hieße das im Umkehrschluss auch, dass, wenn ich die Automatik mal auschalte, dann nicht speichere und der server (bei mir ein raspi) warum auch immer mal neu starten muss, die Automatik trotzdem aktiv bleibt?

Gruß
Andreas

Damian

Zitat von: Vize am 07 Juli 2015, 22:19:35
Hi,

@Damian

Wie du schriebst, wird ja hierüber
define di_zeitsteuerung DOIF ([Zeitsteuerung] eq "ja") (attr di_rollo disable 0) DOELSE (attr di_rollo disable 1)
das DOIF für eine Rollosteuerung ein- bzw. ausgeschaltet.

Ich hab das mal entsprechend nachgebaut und es funktioniert auch, aber wenn ich im zugehörigen dummy den Status ändere von z.B. on auf off, wird zwar das DOIF di_rollo mit dem disable-Attribut belegt, doch dabei erscheint dann oben links das rote Fragezeichen, weil ja eine Änderung an der fhem.cfg stattfindet. Speichere ich dann die Config nicht und lade sie einfach nochmal neu, bleibt das DOIF auf initialized statt auf disabled, aber der dummy zeigt mir den Status off...

Hieße das im Umkehrschluss auch, dass, wenn ich die Automatik mal auschalte, dann nicht speichere und der server (bei mir ein raspi) warum auch immer mal neu starten muss, die Automatik trotzdem aktiv bleibt?

Gruß
Andreas

Das Setzen von Attributen ändert die Konfiguration des Systems und die muss gespeichert werden, wenn sie nach dem Neustart erhalten bleiben soll (das ist FHEM- und nicht DOIF-spezifisch). Das Speichern der config-Datei lässt sich automatisieren (siehe Beispiel in der Commandref zu DOIF).

Zukünftig will ich ein DOIF-Modul auch per set ... disable/enable deaktivieren bzw. aktivieren lassen. Dieser Zustand soll auch nach dem Neustart erhalten bleiben - aber erst mal Urlaub genießen.

Gruß

Damian

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

Vize

Moin Damian,

besten Dank für die schnelle Antwort! Werd ich heute Abend mal nachschauen...

Zitataber erst mal Urlaub genießen

RRRRICHTIIIIIIIG!!!

Brauch auch mal wieder welchen...

Gruß
Andreas

Otto123

Hallo Andreas,

mach doch einfach
define di_zeitsteuerung DOIF ([Zeitsteuerung] eq "ja") (attr di_rollo disable 0, save) DOELSE (attr di_rollo disable 1, save)

dann hast Du kein rotes Fragezeichen 8)
Ist sicher nicht ganz elegant geht eben derzeit nicht anders.

Und dann hoffen wir alle das Damian einen schönen Urlaub hat!

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Vize

Hallo Otto,
hallo Damian

danke, hab ich so gemacht und funktioniert.

Gruß
Andreas

Belei

Nabend,
ich möchte meine Rolläden auch in eine im Webmenü/Handy an/abschaltbare Automatik packen.

Habe wie in diesem Thread erläutert dazu ein dummy zeitsteuerung erstellt und folgenden Code für meine Rolladen.

define wz1_rollo_zu DOIF ([{sunset("REAL",1201,)}] and (Value("Jalousie_Automatik") eq "an")) (set RL_WZ_1 close)

Das funktioniert soweit ich kann die automatik an und aus schalten und es wird rücksicht drauf genommen :-) aber offensichtlich immer nur bei testen bzw 1Tag.

Jetzt ist die frage nach der elegantesten Lösung:

1. einfach ein:
attr wz1_rollo_zu do always
dahinter.

oder 2.
ein lösung über do else?


Rolladen hoch hab ich mometan noch getrennt mit at befehlen.
Fhem auf RaspberryPi 2 RFXTRX433
Homematic Usb Stick Diverse 433Mhz Dosen
Yodaa Rolladen Fritzpowerline 3xHM-LC-Sw1PBU-FM
1xHM-SEC-SC-2

Damian

Zitat von: Belei am 08 Oktober 2015, 20:47:50
Nabend,
ich möchte meine Rolläden auch in eine im Webmenü/Handy an/abschaltbare Automatik packen.

Habe wie in diesem Thread erläutert dazu ein dummy zeitsteuerung erstellt und folgenden Code für meine Rolladen.

define wz1_rollo_zu DOIF ([{sunset("REAL",1201,)}] and (Value("Jalousie_Automatik") eq "an")) (set RL_WZ_1 close)

Das funktioniert soweit ich kann die automatik an und aus schalten und es wird rücksicht drauf genommen :-) aber offensichtlich immer nur bei testen bzw 1Tag.

Jetzt ist die frage nach der elegantesten Lösung:

1. einfach ein:
attr wz1_rollo_zu do always
dahinter.

oder 2.
ein lösung über do else?


Rolladen hoch hab ich mometan noch getrennt mit at befehlen.

define wz1_rollo_zu DOIF ([{sunset("REAL",1201,)}] and ([?Jalousie_Automatik] eq "an")) (set RL_WZ_1 close)

Wenn du noch den Fall zum Hochfahren definierst, dann brauchst auch kein do always.

Gruß

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

Belei

OK also do always würde gehen...
Und wenn ich doelse einbaue funktioniert es auch da sich der Status immer ändert!


Also zb:

define wz1_rollo_zu DOIF ([{sunset("REAL",1201,)}] and ([?Jalousie_Automatik] eq "an")) (set RL_WZ_1 close) DOELSE ([07:00]) (set RL_WZ_1 open)

Edit:
Ging leider nicht hoch... Kein Eintrag im log. Woran könnte es liegen?
Fhem auf RaspberryPi 2 RFXTRX433
Homematic Usb Stick Diverse 433Mhz Dosen
Yodaa Rolladen Fritzpowerline 3xHM-LC-Sw1PBU-FM
1xHM-SEC-SC-2

Damian

Zitat von: Belei am 08 Oktober 2015, 21:18:55
OK also do always würde gehen...
Und wenn ich doelse einbaue funktioniert es auch da sich der Status immer ändert!


Also zb:

define wz1_rollo_zu DOIF ([{sunset("REAL",1201,)}] and ([?Jalousie_Automatik] eq "an")) (set RL_WZ_1 close) DOELSE ([07:00]) (set RL_WZ_1 open)

Edit:
Ging leider nicht hoch... Kein Eintrag im log. Woran könnte es liegen?

DOELSE kennt keine Bedingung - ([07:00]) ist aber eine. Du willst wahrscheinlich:

... DOELSEIF ([07:00]) (set RL_WZ_1 open)

Gruß

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

Belei

ok, habe jetzt folgendes:

define wz1_rollo_zu DOIF ([{sunset("REAL",1201,)}] and ([?Jalousie_Automatik] eq "an")) (set RL_WZ_1 close) DOELSEIF ([07:00]) (set RL_WZ_1 open)

Ging gerade nicht runter..... ich bin wie so oft, ratlos... :-\
Fhem auf RaspberryPi 2 RFXTRX433
Homematic Usb Stick Diverse 433Mhz Dosen
Yodaa Rolladen Fritzpowerline 3xHM-LC-Sw1PBU-FM
1xHM-SEC-SC-2

Damian

Zitat von: Belei am 09 Oktober 2015, 20:04:51
ok, habe jetzt folgendes:

define wz1_rollo_zu DOIF ([{sunset("REAL",1201,)}] and ([?Jalousie_Automatik] eq "an")) (set RL_WZ_1 close) DOELSEIF ([07:00]) (set RL_WZ_1 open)

Ging gerade nicht runter..... ich bin wie so oft, ratlos... :-\

Dann poste hier mal Ergebnis von (Eingabe in der Kommandozeile):

list wz1_rollo_zu


Gruß

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

Belei

Internals:
   DEF        ([{sunset("REAL",1201,)}] and ([?Jalousie_Automatik] eq "an")) (set RL_WZ_1 close)DOELSEIF ([07:00]) (set RL_WZ_1 open)
   NAME       wz1_rollo_zu
   NR         361
   NTFY_ORDER 50-wz1_rollo_zu
   STATE      cmd_1
   TYPE       DOIF
   Readings:
     2015-10-06 19:03:30   cmd_event       timer_1
     2015-10-06 19:03:30   cmd_nr          1
     2015-10-06 19:03:30   state           cmd_1
     2015-10-09 20:21:01   timer_1_c1      10.10.2015 18:54:10
     2015-10-09 20:21:01   timer_2_c2      10.10.2015 07:00:00
   Condition:
     0          DOIF_time_once($hash,$hash->{timer}{0},$wday,"") and (InternalDoIf('Jalousie_Automatik','STATE','') eq "an")
     1          DOIF_time_once($hash,$hash->{timer}{1},$wday,"")
   Days:
   Devices:
   Do:
     0:
       0          set RL_WZ_1 close
     1:
       0          set RL_WZ_1 open
   Helper:
     globalinit 1
     last_timer 2
     sleeptimer -1
   Itimer:
   Realtime:
     0          18:54:10
     1          07:00:00
   State:
   Time:
     0          {sunset("REAL",1201,)}
     1          07:00:00
   Timecond:
     0          0
     1          1
   Timer:
     0          0
     1          0
   Timerfunc:
   Timers:
     0           0
     1           1
Attributes:



Gesendet von iPhone mit Tapatalk
Fhem auf RaspberryPi 2 RFXTRX433
Homematic Usb Stick Diverse 433Mhz Dosen
Yodaa Rolladen Fritzpowerline 3xHM-LC-Sw1PBU-FM
1xHM-SEC-SC-2

Damian

Zitat von: Belei am 09 Oktober 2015, 20:52:38
Internals:
   DEF        ([{sunset("REAL",1201,)}] and ([?Jalousie_Automatik] eq "an")) (set RL_WZ_1 close)DOELSEIF ([07:00]) (set RL_WZ_1 open)
   NAME       wz1_rollo_zu
   NR         361
   NTFY_ORDER 50-wz1_rollo_zu
   STATE      cmd_1
   TYPE       DOIF
   Readings:
     2015-10-06 19:03:30   cmd_event       timer_1
     2015-10-06 19:03:30   cmd_nr          1
     2015-10-06 19:03:30   state           cmd_1
     2015-10-09 20:21:01   timer_1_c1      10.10.2015 18:54:10
     2015-10-09 20:21:01   timer_2_c2      10.10.2015 07:00:00
   Condition:
     0          DOIF_time_once($hash,$hash->{timer}{0},$wday,"") and (InternalDoIf('Jalousie_Automatik','STATE','') eq "an")
     1          DOIF_time_once($hash,$hash->{timer}{1},$wday,"")
   Days:
   Devices:
   Do:
     0:
       0          set RL_WZ_1 close
     1:
       0          set RL_WZ_1 open
   Helper:
     globalinit 1
     last_timer 2
     sleeptimer -1
   Itimer:
   Realtime:
     0          18:54:10
     1          07:00:00
   State:
   Time:
     0          {sunset("REAL",1201,)}
     1          07:00:00
   Timecond:
     0          0
     1          1
   Timer:
     0          0
     1          0
   Timerfunc:
   Timers:
     0           0
     1           1
Attributes:



Gesendet von iPhone mit Tapatalk

Das hat man davon, wenn man die cfg-Datei editiert  ;)

Dein Modul steht seit dem 06.10 im cmd_1 Zustand. Daher wird dieser nicht wiederholt. Hättest du über die Web-Oberfläche deinen Fehler mit DOELSEIF korrigiert, würde sich automatisch das Modul neu initialisieren und hätte danach auch in den Zustand cmd_1 korrekt geschaltet. Jetzt musst du einfach bis morgen warten, bis um 07:00 Uhr der Zustand in cmd_2 gewechselt hat.

Gruß

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

Belei

Öhm erwischt... Ok dann wart ich mal morgen früh  ab!  Danke




Gesendet mit Tapatalk
Fhem auf RaspberryPi 2 RFXTRX433
Homematic Usb Stick Diverse 433Mhz Dosen
Yodaa Rolladen Fritzpowerline 3xHM-LC-Sw1PBU-FM
1xHM-SEC-SC-2