Neues Modul: Rolladensteuerung

Begonnen von ThomasRamm, 11 Januar 2016, 00:00:21

Vorheriges Thema - Nächstes Thema

ManfredC


Stivmaster

Hi, mir ist aufgefallen, wenn mann versehentlich 2mal z.B. open kurz hintereinander drückt, stimmt die Position dann nicht mehr. Könnte ich zwar generell in mein Doif für den Schalterdummy mit einbauen, das man nicht 2mal drücken kann, allerdings wärs halt "richtiger" wenns im Modul gefixt wird.

Mfg

Stiv

Burny4600

ROLLO verursacht Perl Warning.
2016.08.11 19:29:57 1: Including /media/hdd/fhem/myprogram/Rolllaeden_ROLLO.pm
2016.08.11 19:29:57 1: PERL WARNING: Smartmatch is experimental at ./FHEM/44_ROLLO.pm line 186, <$fh> line 42.
2016.08.11 19:29:57 1: PERL WARNING: Smartmatch is experimental at ./FHEM/44_ROLLO.pm line 195, <$fh> line 42.
Mfg Chris

Raspberry Pi 2-5, Betriebssystem: Bullseye Lite
Schnittstellen: RFXtrx433E, SIGNALduino, MQTT, nanoCUL, HM-MOD-UART, 1-Wire, LAN, ser2net, FHEM2FEHEM
Devices: FS20, IT, Homematic, MQTT, TEK603, WMR200, YouLess, S.USV, APC-USV, PV-Deye, PV-Fronius, Resol VBUS & DL2

HoTi

Da ich mich derzeit im Urlaub befinde komme ich nicht dazu etwas zu ändern.

Thomas hat aber etwas am Code gemacht. Bitte direkt aus dem Git laden.
Viele Grüße aus  Oberbayern
Tim (RettungsTim)

rippi46

#304
Hallo,

Habe versucht dein Modul für meine Velux-Rolläden zu verwenden. Leider wir immer nur der Stop-Befehl ausgeführt.

hir mein Listing:
Internals:
   NAME       V_Milena
   NR         836
   STATE      offen
   TYPE       ROLLO
   device
   Readings:
     2016-08-13 22:26:13   extern          no
     2016-08-13 22:26:58   letzte_fahrt    drive-up
     2016-08-13 22:26:13   position        0
     2016-08-13 22:26:58   state           offen
     2016-08-13 22:26:13   stop            1471120013.85141
     2016-08-13 22:26:13   ziel_state      offen
Attributes:
   automatic-enabled on
   devStateIcon offen:fts_shutter_10:geschlossen geschlossen:fts_shutter_100:offen schlitz:fts_shutter_80:geschlossen drive-up:fts_shutter_up@red:stop drive-down:fts_shutter_down@red:stop position-100:fts_shutter_100:offen position-90:fts_shutter_80:geschlossen position-80:fts_shutter_80:geschlossen position-70:fts_shutter_70:geschlossen position-60:fts_shutter_60:geschlossen position-50:fts_shutter_50:geschlossen position-40:fts_shutter_40:offen position-30:fts_shutter_30:offen position-20:fts_shutter_20:offen position-10:fts_shutter_10:offen position-0:fts_shutter_10:geschlossen
   drive-down-time-to-100 40
   drive-up-time-to-100 40
   funktionsweise Typ4
   kanal1     Velux3_14
   kanal2     Velux2_13
   kanal3     Velux5_14
   room       Büro,Milena
   verbose    5
   webCmd     offen:geschlossen:schlitz:position


und hier ein Auszug aus dem Log:

2016.08.13 22:26:58.865 4: ROLLO (V_Milena) << Stop
2016.08.13 22:26:58.863 5: Rollo gestoppt, neue Position:0 = offen
2016.08.13 22:26:58.863 5: Rollo gestoppt: set  Velux5_14 on-for-timer 1
2016.08.13 22:26:58.853 5: Stop-Parameter: richtung=drive-up, typ=Typ4, device=, kanal1=Velux3_14, kanal2=Velux2_13, kanal3=Velux5_14
2016.08.13 22:26:58.852 4: ROLLO (V_Milena) >> Stop
2016.08.13 22:26:51.864 1: rain_notify: no values for calculation found!
2016.08.13 22:26:51.841 1: rain_notify: no values for calculation found!
2016.08.13 22:26:31.756 1: rain_notify: no values for calculation found!
2016.08.13 22:26:31.734 1: rain_notify: no values for calculation found!
2016.08.13 22:26:13.853 4: ROLLO (V_Milena) << Set
2016.08.13 22:26:13.853 4: ROLLO (V_Milena) << Start
2016.08.13 22:26:13.852 4: ROLLO (V_Milena) << Set
2016.08.13 22:26:13.852 5: ROLLO_Set Befehl=?:
2016.08.13 22:26:13.852 4: ROLLO (V_Milena) >> Set
2016.08.13 22:26:13.851 5: Rollo wird gestoppt in 45 sekunden.
Befehl2:
2016.08.13 22:26:13.851 5: Befehl1: 
2016.08.13 22:26:13.850 4: ROLLO (V_Milena) << Set
2016.08.13 22:26:13.850 5: ROLLO_Set Befehl=?:
2016.08.13 22:26:13.850 4: ROLLO (V_Milena) >> Set
2016.08.13 22:26:13.849 3: ROLLO sendet:
2016.08.13 22:26:13.849 3: ROLLO sendet:
2016.08.13 22:26:13.849 4: ROLLO (V_Milena) << calculateDriveTime
2016.08.13 22:26:13.849 5: Parameter: Position=100,Ziel=0,Abw�rts=off,FahrzeitGesamt=40,Schritte=100,FahrzeitBerechnet=40
2016.08.13 22:26:13.849 4: ROLLO (V_Milena) >> calculateDriveTime
2016.08.13 22:26:13.849 5: Position: 100 -> 0 | Abw�rts: off
2016.08.13 22:26:13.849 5: Auftrag:offen
2016.08.13 22:26:13.849 4: ROLLO (V_Milena) >> Start
2016.08.13 22:26:13.848 4: ROLLO (V_Milena) << Set
2016.08.13 22:26:13.848 5: ROLLO_Set Befehl=?:
2016.08.13 22:26:13.848 4: ROLLO (V_Milena) >> Set
2016.08.13 22:26:13.838 5: ROLLO_Set Befehl=offen:
2016.08.13 22:26:13.837 4: ROLLO (V_Milena) >> Set
2016.08.13 22:26:12.389 4: ROLLO (V_Milena) << Set
2016.08.13 22:26:12.389 5: ROLLO_Set Befehl=?:
2016.08.13 22:26:12.389 4: ROLLO (V_Milena) >> Set
2016.08.13 22:26:12.142 4: ROLLO (V_Milena) << Get
2016.08.13 22:26:12.142 4: ROLLO (V_Milena) >> Get
2016.08.13 22:26:12.142 4: ROLLO (V_Milena) << Set
2016.08.13 22:26:12.142 5: ROLLO_Set Befehl=?:
2016.08.13 22:26:12.142 4: ROLLO (V_Milena) >> Set
2016.08.13 22:26:12.141 4: ROLLO (V_Milena) << Set
2016.08.13 22:26:12.141 5: ROLLO_Set Befehl=?:
2016.08.13 22:26:12.141 4: ROLLO (V_Milena) >> Set
2016.08.13 22:26:12.134 5: ROLLO_Set Befehl=reset:geschlossen
2016.08.13 22:26:12.134 4: ROLLO (V_Milena) >> Set
2016.08.13 22:26:11.642 1: rain_notify: no values for calculation found!
2016.08.13 22:26:11.622 1: rain_notify: no values for calculation found!
2016.08.13 22:26:06.079 4: ROLLO (V_Milena) << Get
2016.08.13 22:26:06.079 4: ROLLO (V_Milena) >> Get
2016.08.13 22:26:06.078 4: ROLLO (V_Milena) << Set
2016.08.13 22:26:06.078 5: ROLLO_Set Befehl=?:
2016.08.13 22:26:06.078 4: ROLLO (V_Milena) >> Set
2016.08.13 22:26:06.078 4: ROLLO (V_Milena) << Set
2016.08.13 22:26:06.078 5: ROLLO_Set Befehl=?:
2016.08.13 22:26:06.078 4: ROLLO (V_Milena) >> Set
2016.08.13 22:26:01.080 4: ROLLO (V_Milena) << Set
2016.08.13 22:26:01.080 5: ROLLO_Set Befehl=?:
2016.08.13 22:26:01.080 4: ROLLO (V_Milena) >> Set


Eigentlich sollte das Modul beim Öffnen oder Schließen des Rollos auch einen on-for-timer benutzen, was aber leider nicht passiert.

Wenn ich bei den eigentlichen Fhem-Geräten die Befehle ausführe funktioniert es.

Habe ich irgendwo einen Denkfehler?

Velux3_14 steht für Hoch, Velux2_13 steht für Runter und Velux5_14 steht für Stop.

Gruß rippi46

PS: Hatte noch die alte Version im Einsatz; jetzt funktioniert es. Danke für die Unterstützung.
FHEM, LMS, VDR ,Dell 9010 Ubuntu 20.04,Raspimatic, HM/HMIP, Max, Elro, Brennenstuhl u. Intertechno mit Connair.
Picoreplayer, Raspi IR-Lanadapter, Firmata(wifi), LaCrosse,
nanocul433, nanocul868, Signalduino, Connexoon,
MySensor-GW+Sensoren, RGBWW, Zigbee2mqtt,Xiaomi,Nextion,LEDMatrix,Alexa

Burny4600

Auffälligkeiten mit dem aktuellem ROLLO Modul V1.2000.
Sehr häufig kommt es vor, dass beim herabfahren der Rollläden die Rollläden kurz anfahren, kurz stehen bleiben und im Anschluß nicht die gewünschte Position anfahren, sondern komplett schließen.

Dies tritt sporadisch bei den unterschiedlichen Rollläden auf, und spielt keine Rolle ob es die FS20 oder IT Aktoren sind.
Mfg Chris

Raspberry Pi 2-5, Betriebssystem: Bullseye Lite
Schnittstellen: RFXtrx433E, SIGNALduino, MQTT, nanoCUL, HM-MOD-UART, 1-Wire, LAN, ser2net, FHEM2FEHEM
Devices: FS20, IT, Homematic, MQTT, TEK603, WMR200, YouLess, S.USV, APC-USV, PV-Deye, PV-Fronius, Resol VBUS & DL2

rippi46

Hallo,

habe folgendes Problem:

Habe eine KLR100 von Velux so umgebaut, dass ich jede Taste bedienen kann. Das ganze funktioniert dann über Firmata und als Befehl wir dann z.B.
set Velux2_13 on-for-timer 0.5
für das Herunterfahren gesendet.

Damit aber der richtige Rollladen ausgewählt ist, muss ich z.B. mit den Pfeiltasten der Fernbedienung den entsprechenden Rolladen auswählen.
Als Grundposition benutze ich den Punkt "Alle Rolläden" im Menü und schalte dann nach Ausführung eines Kommandos wieder auf die Ausgangsposition im Menü zurück.
Das ganze sieht dann folgendermassen aus:
if ($v eq "zu") {fhem("set Velux3_13 on-for-timer 0.5") ;fhem("define VP00 at +00:00:01 set Velux3_13 on-for-timer 0.5") ; fhem("define VP01 at +00:00:04 set Velux2_13 on-for-timer 0.5") ; fhem("define VP02 at +00:00:57 set Velux3_13 on-for-timer 0.5") ; fhem("define VP03 at +00:00:58 set Velux3_13 on-for-timer 0.5") ; fhem("define VP04 at +00:00:59 set V_Gitarre geschlossen") };
Ich kann also die Befehle für das Wechseln im Menü nicht einfach hintereinander hängen, sonndern muss sie auch zeitlich getrennt ausführen.

Momentan funktioniert das ganze über ein Dummy und ein Notify.

Dummy:
Internals:
   NAME       V_Gitarre
   NR         725
   STATE      geschlossen
   TYPE       dummy
   Readings:
     2016-08-15 22:49:55   STATE           0
     2016-08-15 21:49:51   Value           0
     2016-08-17 21:58:26   state           geschlossen
Attributes:
   devStateIcon offen:fts_shutter_10:geschlossen geschlossen:fts_shutter_100:zu zu:fts_shutter_down@red:auf auf:fts_shutter_up@red
   room       Gitarrenzimmer,Velux
   setList    state:zu,auf,geschlossen,offen
   webCmd     zu:auf


Notify:
Internals:
   DEF        V_Gitarre:.* {
    my $v=Value("V_Gitarre");
    if ($v eq "zu") {fhem("set Velux3_13 on-for-timer 0.5") ;fhem("define VP00 at +00:00:01 set Velux3_13 on-for-timer 0.5") ; fhem("define VP01 at +00:00:04 set Velux2_13 on-for-timer 0.5") ; fhem("define VP02 at +00:00:57 set Velux3_13 on-for-timer 0.5") ; fhem("define VP03 at +00:00:58 set Velux3_13 on-for-timer 0.5") ; fhem("define VP04 at +00:00:59 set V_Gitarre geschlossen") };
    if ($v eq "auf") {fhem("set Velux3_13 on-for-timer 0.5") ;fhem("define VP00 at +00:00:01 set Velux3_13 on-for-timer 0.5") ; fhem("define VP01 at +00:00:04 set Velux3_14 on-for-timer 0.5") ; fhem("define VP02 at +00:00:57 set Velux3_13 on-for-timer 0.5") ; fhem("define VP03 at +00:00:58 set Velux3_13 on-for-timer 0.5") ; fhem("define VP04 at +00:00:59 set V_Gitarre offen") };
}
   NAME       N_V_Gitarre
   NOTIFYDEV  V_Gitarre
   NR         726
   NTFY_ORDER 50-N_V_Gitarre
   REGEXP     V_Gitarre:.*
   STATE      2016-08-17 21:58:26
   TYPE       notify
   Readings:
     2016-08-17 21:21:22   state           active
Attributes:
   group      Velux
   room       Gitarrenzimmer,Velux


Wollte jetzt das Ganze über das ROLLO-Modul realisieren. Leider habe ich keine Möglichkeit gefunden die Befehle für das Wechsel der Rolläden im Menü wieder zurückzunehmen, damit ich wieder in der Ausgangsposition bin. Auch habe ich nicht die Möglichkeit zwischen den Befehlen eine kurze Pause zu machen. Wenn die Befehle zu schnell hintereinander gesendet werden "verschluckt" die KLR100 manche Befehle. ich kann also nur über eigene Timer die Befehle trennen.

Hier meine Konfiguration mit dem Rollo-Modul:

Internals:
   CFGFN
   NAME       V3_Gitarre
   NR         880
   STATE      closed
   TYPE       ROLLO
   stoptime   1471464304
   Readings:
     2016-08-17 22:05:02   command         closed
     2016-08-17 22:05:02   desired_position 100
     2016-08-17 22:05:02   drive-type      modul
     2016-08-17 22:05:02   last_drive      drive-down
     2016-08-17 22:05:04   position        100
     2016-08-17 22:05:08   state           closed
Attributes:
   autoStop   0
   commandDown set Velux3_13 on-for-timer 0.5
   commandDown2 define VP00 at +00:00:01 set Velux3_13 on-for-timer 0.5
   commandDown3 define VP01 at +00:00:02 set Velux2_13 on-for-timer 0.5
   commandStop set Velux5_14 on-for-timer 0.5
   commandUp  set Velux3_13 on-for-timer 0.5
   commandUp2 define VP00 at +00:00:01 set Velux3_13 on-for-timer 0.5
   commandUp3 define VP00 at +00:00:02 set Velux3_14 on-for-timer 0.5
   devStateIcon open:fts_shutter_10:closed closed:fts_shutter_100:open half:fts_shutter_50:closed drive-up:fts_shutter_up@red:stop drive-down:fts_shutter_down@red:stop position-100:fts_shutter_100:open position-90:fts_shutter_80:closed position-80:fts_shutter_80:closed position-70:fts_shutter_70:closed position-60:fts_shutter_60:closed position-50:fts_shutter_50:closed position-40:fts_shutter_40:open position-30:fts_shutter_30:open position-20:fts_shutter_20:open position-10:fts_shutter_10:open position-0:fts_shutter_10:closed
   excessBottom 2
   excessTop  4
   resetTime  0
   room       Velux
   secondsDown 40
   secondsUp  40
   switchTime 1
   type       normal
   verbose    5
   webCmd     open:closed:half:stop:position


Frage gibt es eine Möglichkeit so etwas einzubauen?

Gruß rippi46

Hier noch ein paar Bilder der umgebauten Fernbedienung:



FHEM, LMS, VDR ,Dell 9010 Ubuntu 20.04,Raspimatic, HM/HMIP, Max, Elro, Brennenstuhl u. Intertechno mit Connair.
Picoreplayer, Raspi IR-Lanadapter, Firmata(wifi), LaCrosse,
nanocul433, nanocul868, Signalduino, Connexoon,
MySensor-GW+Sensoren, RGBWW, Zigbee2mqtt,Xiaomi,Nextion,LEDMatrix,Alexa

ThomasRamm

@Burni4600: ohne config und log wenn es "passiert" ist, wird sich der Fehler wohl nicht so einfach finden lassen. auch die benutzte rollo-Version wäre dabei sehr hilfreich.
Bezüglich der falschen Positionsberechnung bei 0 und 100, dies ist gefixed (seit längerem im develop-Zweig, weiß aber nicht ob  du den genutzt hast, jetzt auch im master-Zweig)

@rippi46: wenn ich es richtig verstanden habe geht es darum mehrere "stop"-Befehle ausführen zu können?
Das ist in fhem von haus aus mit dabei. die mehreren commandUp2+3 bzw. commandDown2+3 wären eigentlich garnicht notwendig, da man in fhem mehrere Befehle in eine Zeile schreiben kann. das Modul führt ein fhem("command") aus.
Wenn mein commansStop also z.B. lautet "set dummy1 on; set dummy2 on" werden bei stop beide dummy auf on gesetzt. mit entsprechenden timer etc. kannst du das bestimmt für deine Konfiguration entsprechend ausbauen.

@alle "smartmatch"-Warnungen. ein Perl Befehl wurde in der neuesten Perl Version auf "experimentel" zurückgestufft da mehrere Bugs gefunden wurden. Die benutzten Befehle waren davon aber in unserer Konfiguration nicht betroffen. Trotzdem habe ich nun in der aktuellen Version die entsprechenden Befehle umgeschrieben so das smartmatches nicht mehr benutzt werden.

installation per: update all https://raw.githubusercontent.com/RettungsTim/fhem-rollo/master/controls_fhemrollo.txt

Gruß
Thomas

Burny4600

@ThomasRamm
Die Config meiner Rollläden sind bis auf den Nahmen alle gleich wie hier beschrieben.
https://forum.fhem.de/index.php/topic,47202.msg475317.html#msg475317

Werde zur Sicherheit ein Update nachführen und entsprechende Tests mit LOG noch ergänzen.
Mfg Chris

Raspberry Pi 2-5, Betriebssystem: Bullseye Lite
Schnittstellen: RFXtrx433E, SIGNALduino, MQTT, nanoCUL, HM-MOD-UART, 1-Wire, LAN, ser2net, FHEM2FEHEM
Devices: FS20, IT, Homematic, MQTT, TEK603, WMR200, YouLess, S.USV, APC-USV, PV-Deye, PV-Fronius, Resol VBUS & DL2

Burny4600

#309
Anbei die Konfiguration und das LOG für das schleißen zweier Rollläden.
Getestet mit der Version V1.201.
R_OG1_SL sollte auf Position 60 fahren
R_OG2_BUE_NO sollte auf Position 50 fahren
Beide haben sich aber vollständig geschlossen mit einem kurzen Zwischenstop.
define R_OG1_SL_P ROLLO
attr R_OG1_SL_P alias OG1 Schlafzimmer - Rollladen
attr R_OG1_SL_P autoStop 1
attr R_OG1_SL_P automatic-enabled off
attr R_OG1_SL_P blockMode none
attr R_OG1_SL_P cmdIcon half:remotecontrol/black_btn_MENUDroid open:remotecontrol/black_btn_CHUP closed:remotecontrol/black_btn_CHDOWN stop:remotecontrol/black_btn_STOP
attr R_OG1_SL_P commandDown set R_OG1_SL off
attr R_OG1_SL_P commandStopDown set R_OG1_SL off
attr R_OG1_SL_P commandStopUp set R_OG1_SL on
attr R_OG1_SL_P commandUp set R_OG1_SL on
attr R_OG1_SL_P devStateIcon open:fts_shutter_10:closed closed:fts_shutter_100:open half:fts_shutter_50:closed drive-up:fts_shutter_up@red:stop drive-down:fts_shutter_down@red:stop position-100:fts_shutter_100:open position-90:fts_shutter_80:closed position-80:fts_shutter_80:closed position-70:fts_shutter_70:closed position-60:fts_shutter_60:closed position-50:fts_shutter_50:closed position-40:fts_shutter_40:open position-30:fts_shutter_30:open position-20:fts_shutter_20:open position-10:fts_shutter_10:open position-0:fts_shutter_10:closed
attr R_OG1_SL_P excessBottom 0
attr R_OG1_SL_P excessTop 0
attr R_OG1_SL_P group Steuerung
attr R_OG1_SL_P icon fts_shutter_updown
attr R_OG1_SL_P reactionTime 0
attr R_OG1_SL_P resetTime 0
attr R_OG1_SL_P room OG1,OG1-Schlafzimmer,Rolllaeden
attr R_OG1_SL_P secondsDown 19
attr R_OG1_SL_P secondsUp 20
attr R_OG1_SL_P switchTime 1
attr R_OG1_SL_P type normal
attr R_OG1_SL_P webCmd position:half:open:closed:stop

define R_OG2_BUE_NO_P ROLLO
attr R_OG2_BUE_NO_P alias OG2 Büro 1 - Rollladen
attr R_OG2_BUE_NO_P autoStop 1
attr R_OG2_BUE_NO_P automatic-enabled off
attr R_OG2_BUE_NO_P blockMode none
attr R_OG2_BUE_NO_P cmdIcon half:remotecontrol/black_btn_MENUDroid open:remotecontrol/black_btn_CHUP closed:remotecontrol/black_btn_CHDOWN stop:remotecontrol/black_btn_STOP
attr R_OG2_BUE_NO_P commandDown set R_OG2_BUE_NO off
attr R_OG2_BUE_NO_P commandStopDown set R_OG2_BUE_NO off
attr R_OG2_BUE_NO_P commandStopUp set R_OG2_BUE_NO on
attr R_OG2_BUE_NO_P commandUp set R_OG2_BUE_NO on
attr R_OG2_BUE_NO_P devStateIcon open:fts_shutter_10:closed closed:fts_shutter_100:open half:fts_shutter_50:closed drive-up:fts_shutter_up@red:stop drive-down:fts_shutter_down@red:stop position-100:fts_shutter_100:open position-90:fts_shutter_80:closed position-80:fts_shutter_80:closed position-70:fts_shutter_70:closed position-60:fts_shutter_60:closed position-50:fts_shutter_50:closed position-40:fts_shutter_40:open position-30:fts_shutter_30:open position-20:fts_shutter_20:open position-10:fts_shutter_10:open position-0:fts_shutter_10:closed
attr R_OG2_BUE_NO_P excessBottom 0
attr R_OG2_BUE_NO_P excessTop 0
attr R_OG2_BUE_NO_P group Steuerung
attr R_OG2_BUE_NO_P icon fts_shutter_updown
attr R_OG2_BUE_NO_P reactionTime 0
attr R_OG2_BUE_NO_P resetTime 0
attr R_OG2_BUE_NO_P room OG2,OG2-Buero1,Rolllaeden
attr R_OG2_BUE_NO_P secondsDown 17
attr R_OG2_BUE_NO_P secondsUp 18
attr R_OG2_BUE_NO_P switchTime 1
attr R_OG2_BUE_NO_P type normal
attr R_OG2_BUE_NO_P webCmd position:half:open:closed:stop

Mfg Chris

Raspberry Pi 2-5, Betriebssystem: Bullseye Lite
Schnittstellen: RFXtrx433E, SIGNALduino, MQTT, nanoCUL, HM-MOD-UART, 1-Wire, LAN, ser2net, FHEM2FEHEM
Devices: FS20, IT, Homematic, MQTT, TEK603, WMR200, YouLess, S.USV, APC-USV, PV-Deye, PV-Fronius, Resol VBUS & DL2

grappa24

Kann es sein, dass nach der neuen Logik (open = Position 100, closed = Position 0) noch die Stati für devStateIcon angepasst werden müssen?  ;)
FHEM 6.3, 2 x RasPi 3B+, Debian Buster; KNX, FS20, HM, HUE, Tradfri, Shellies, KLF200
Rollo-/Lichtsteuerung/-szenarien, T-Sensoren, Fensterkontakte, Heizungssteuerung, HEOS, Sprachsteuerung mit Alexa-FHEM, Netatmo, Nuki, ...

Burny4600

#311
devStateIcon muss nach Bedarf angepasst werden.
Leider wird diese Änderung aber immer wieder vom ROLLO Modul in den ursprünglichen Zustand zurückgesetzt.

Ob dies bei der Version 1.201 behoben ist müsste noch getestet bzw. hinterfragt werden.

Erwischt.
Das ROLLO Modul sendete definitiv mehrfach, wenn die Position 50 angefahren werden sollte.
Hier sind zwei Steuerbefehle zu viel.
2016.08.29 15:50:17 3: FS20 set R_OG1_WZ off
2016.08.29 15:50:19 3: FS20 set R_OG1_WZ off
2016.08.29 15:50:21 3: FS20 set R_OG1_WZ off
2016.08.29 15:50:25 3: FS20 set R_OG1_WZ off

define R_OG1_WZ_P ROLLO
attr R_OG1_WZ_P alias OG1 Wohnzimmer - Rollladen
attr R_OG1_WZ_P autoStop 1
attr R_OG1_WZ_P automatic-enabled off
attr R_OG1_WZ_P blockMode none
attr R_OG1_WZ_P cmdIcon half:remotecontrol/black_btn_MENUDroid open:remotecontrol/black_btn_CHUP closed:remotecontrol/black_btn_CHDOWN stop:remotecontrol/black_btn_STOP
attr R_OG1_WZ_P commandDown set R_OG1_WZ off
attr R_OG1_WZ_P commandStopDown set R_OG1_WZ off
attr R_OG1_WZ_P commandStopUp set R_OG1_WZ on
attr R_OG1_WZ_P commandUp set R_OG1_WZ on
attr R_OG1_WZ_P devStateIcon open:fts_shutter_10:closed closed:fts_shutter_100:open half:fts_shutter_50:closed drive-up:fts_shutter_up@red:stop drive-down:fts_shutter_down@red:stop position-100:fts_shutter_100:open position-90:fts_shutter_80:closed position-80:fts_shutter_80:closed position-70:fts_shutter_70:closed position-60:fts_shutter_60:closed position-50:fts_shutter_50:closed position-40:fts_shutter_40:open position-30:fts_shutter_30:open position-20:fts_shutter_20:open position-10:fts_shutter_10:open position-0:fts_shutter_10:closed
attr R_OG1_WZ_P excessBottom 0
attr R_OG1_WZ_P excessTop 0
attr R_OG1_WZ_P group Steuerung
attr R_OG1_WZ_P icon fts_shutter_updown
attr R_OG1_WZ_P reactionTime 0
attr R_OG1_WZ_P resetTime 0
attr R_OG1_WZ_P room OG1,OG1-Wohnzimmer,Rolllaeden
attr R_OG1_WZ_P secondsDown 19
attr R_OG1_WZ_P secondsUp 20
attr R_OG1_WZ_P switchTime 1
attr R_OG1_WZ_P type normal
attr R_OG1_WZ_P webCmd position:half:open:closed:stop
Eigenartig ist nur das dies beim herunterfahren auftritt.
Beim hochfahren der Rollläden ist mir das noch nie aufgefallen.
Mfg Chris

Raspberry Pi 2-5, Betriebssystem: Bullseye Lite
Schnittstellen: RFXtrx433E, SIGNALduino, MQTT, nanoCUL, HM-MOD-UART, 1-Wire, LAN, ser2net, FHEM2FEHEM
Devices: FS20, IT, Homematic, MQTT, TEK603, WMR200, YouLess, S.USV, APC-USV, PV-Deye, PV-Fronius, Resol VBUS & DL2

ThomasRamm

Hallo
@Burny4600: konnte den Fehler noch nicht bei mir nachstellen. Kannst du verbose=5 für dein Rollo einstellen und nochmal ein log zuschicken. Im aktuellen Log von dir ist da leider viel zu wenig zum nachvollziehen was da passiert. Ich kann da keinen einzigen Eintrag vom Rollo Modul erkennen.

@grappa24: die Logik 100-0 wird nur umgekehrt wenn du type=HomeKit aktiviert hast. Die Icons sollten beim Ändern des Attributs automatisch angepasst werden sofern du sie nicht irgendwann mal manuell geändert hast (und bei setzen von type=normal auch wieder zurück auf standard). Es gibt dazu beim setzen des attributs type eine Abfrage ob das attribut devStateIcon = dem default-Wert ist, wenn ja wird der default-Wert für homekit gesetzt, sonst wird der Block übersprungen. Musste aber eben gerade feststellen das die Logik nicht mehr ganz funktioniert... schau ich mir an

Gruß
Thomas

ThomasRamm

wieder ein Fehler weniger...
devStateIcon wird nun nicht mehr überschrieben. Hatte im entsprechenden Block das icon nicht korrekt ausgelesen so das immer "default" zurück kam und ich den Wert dann munter überschrieben habe...
neue Version im Master per update installierbar

Gruß
Thomas

Burny4600

#314
LOG mit Verbose 5 bei der Markise.
Hier ebenfalls ein kurzer Halt und dann wieder weiter gefahren.
2016.08.30 11:45:59 5: ROLLO (M_OG1_BAL_P) >> Set (position,100)
2016.08.30 11:45:59 5: ROLLO (M_OG1_BAL_P) >> Start
2016.08.30 11:45:59 4: ROLLO (M_OG1_BAL_P) drive from 60 to 100. command: position-100. state: position-60
2016.08.30 11:45:59 4: ROLLO (M_OG1_BAL_P) position: 60 -> 100 / direction: down
2016.08.30 11:45:59 5: ROLLO (M_OG1_BAL_P) >> calculateDriveTime | going down: from 60 to 100
2016.08.30 11:45:59 4: ROLLO (M_OG1_BAL_P) calculateDriveTime: oldpos=60,newpos=100,direction=down,time=30,steps=40,drivetime=14
2016.08.30 11:45:59 4: ROLLO (M_OG1_BAL_P) execute following commands: set M_OG1_BAL off; ;
2016.08.30 11:45:59 3: FS20 set M_OG1_BAL off
2016.08.30 11:45:59 4: ROLLO (M_OG1_BAL_P) stop in 14 seconds.
2016.08.30 11:45:59 2: IT set Freigabe_HZ_Pool on
2016.08.30 11:46:00 1: PERL WARNING: Useless use of private variable in void context at (eval 17625) line 1.
2016.08.30 11:46:00 1: PERL WARNING: Useless use of private variable in void context at (eval 17626) line 1.
2016.08.30 11:46:00 5: ROLLO (M_OG1_BAL_P) >> Set (position,100)
2016.08.30 11:46:00 5: ROLLO (M_OG1_BAL_P) >> calculatePosition
2016.08.30 11:46:00 4: ROLLO (M_OG1_BAL_P) calculated Position is 63.3333333333333; rest drivetime is 11
2016.08.30 11:46:00 5: ROLLO (M_OG1_BAL_P) >> Start
2016.08.30 11:46:00 4: ROLLO (M_OG1_BAL_P) drive from 63.3333333333333 to 100. command: position-100. state: drive-down
2016.08.30 11:46:00 4: ROLLO (M_OG1_BAL_P) position: 63.3333333333333 -> 100 / direction: down
2016.08.30 11:46:00 5: ROLLO (M_OG1_BAL_P) >> calculateDriveTime | going down: from 63.3333333333333 to 100
2016.08.30 11:46:00 4: ROLLO (M_OG1_BAL_P) calculateDriveTime: oldpos=63.3333333333333,newpos=100,direction=down,time=30,steps=36.6666666666667,drivetime=13
2016.08.30 11:46:00 4: ROLLO (M_OG1_BAL_P) execute following commands: set M_OG1_BAL off; ;
2016.08.30 11:46:00 3: FS20 set M_OG1_BAL off
2016.08.30 11:46:00 4: ROLLO (M_OG1_BAL_P) stop in 13 seconds.
2016.08.30 11:46:00 1: PERL WARNING: Useless use of private variable in void context at (eval 17642) line 1.
2016.08.30 11:46:00 1: PERL WARNING: Useless use of private variable in void context at (eval 17643) line 1.
2016.08.30 11:46:00 5: ROLLO (M_OG1_BAL_P) >> Set (position,100)
2016.08.30 11:46:00 5: ROLLO (M_OG1_BAL_P) >> calculatePosition
2016.08.30 11:46:00 4: ROLLO (M_OG1_BAL_P) calculated Position is 63.3333333333333; rest drivetime is 11
2016.08.30 11:46:01 5: ROLLO (M_OG1_BAL_P) >> Start
2016.08.30 11:46:01 4: ROLLO (M_OG1_BAL_P) drive from 63.3333333333333 to 100. command: position-100. state: drive-down
2016.08.30 11:46:01 4: ROLLO (M_OG1_BAL_P) position: 63.3333333333333 -> 100 / direction: down
2016.08.30 11:46:01 5: ROLLO (M_OG1_BAL_P) >> calculateDriveTime | going down: from 63.3333333333333 to 100
2016.08.30 11:46:01 4: ROLLO (M_OG1_BAL_P) calculateDriveTime: oldpos=63.3333333333333,newpos=100,direction=down,time=30,steps=36.6666666666667,drivetime=13
2016.08.30 11:46:01 4: ROLLO (M_OG1_BAL_P) execute following commands: set M_OG1_BAL off; ;
2016.08.30 11:46:01 3: FS20 set M_OG1_BAL off
2016.08.30 11:46:01 4: ROLLO (M_OG1_BAL_P) stop in 13 seconds.
2016.08.30 11:46:14 5: ROLLO (M_OG1_BAL_P) >> Timer
2016.08.30 11:46:14 5: ROLLO (M_OG1_BAL_P) >> Stop
2016.08.30 11:46:14 4: ROLLO (M_OG1_BAL_P): stops from drive-down at position 100
2016.08.30 11:46:14 3: FS20 set M_OG1_BAL off
2016.08.30 11:46:14 4: ROLLO (M_OG1_BAL_P) stopped by excute the command: set M_OG1_BAL off


Markise Config.define M_OG1_BAL_P ROLLO
attr M_OG1_BAL_P alias OG1 Balkon - Markise
attr M_OG1_BAL_P autoStop 0
attr M_OG1_BAL_P automatic-enabled off
attr M_OG1_BAL_P blockMode none
attr M_OG1_BAL_P cmdIcon half:remotecontrol/black_btn_MENUDroid open:remotecontrol/black_btn_CHUP closed:remotecontrol/black_btn_CHDOWN stop:remotecontrol/black_btn_STOP
attr M_OG1_BAL_P commandDown set M_OG1_BAL off
attr M_OG1_BAL_P commandStopDown set M_OG1_BAL off
attr M_OG1_BAL_P commandStopUp set M_OG1_BAL on
attr M_OG1_BAL_P commandUp set M_OG1_BAL on
attr M_OG1_BAL_P devStateIcon open:fts_sunblind_10:closed closed:fts_sunblind:open half:fts_sunblind_50:closed drive-up:control_arrow_up@yellow:stop drive-down:control_arrow_down@yellow:stop position-100:fts_sunblind:open position-90:fts_sunblind_90:closed position-80:fts_sunblind_80:closed position-70:fts_sunblind_70:closed position-60:fts_sunblind_60:closed position-50:fts_sunblind_50:closed position-40:fts_sunblind_40:open position-30:fts_sunblind_30:open position-20:fts_sunblind_20:open position-10:fts_sunblind_10:open position-0:fts_sunblind_0:closed
attr M_OG1_BAL_P excessBottom 0
attr M_OG1_BAL_P excessTop 0
attr M_OG1_BAL_P group Steuerung
attr M_OG1_BAL_P icon fts_sunblind
attr M_OG1_BAL_P reactionTime 1
attr M_OG1_BAL_P resetTime 1
attr M_OG1_BAL_P room OG1,OG1-Balkon,OG1-Kueche,Rolllaeden
attr M_OG1_BAL_P secondsDown 30
attr M_OG1_BAL_P secondsUp 30
attr M_OG1_BAL_P switchTime 1
attr M_OG1_BAL_P type normal
attr M_OG1_BAL_P verbose 5
attr M_OG1_BAL_P webCmd position:half:open:closed:stop


Rollladen mit Zwischenstop und überfahren Position 50.
2016.08.30 15:00:00 5: ROLLO (R_OG1_BA_P) >> Set (position,50)
2016.08.30 15:00:00 5: ROLLO (R_OG1_BA_P) >> Start
2016.08.30 15:00:00 4: ROLLO (R_OG1_BA_P) drive from 0 to 50. command: position-50. state: open
2016.08.30 15:00:00 4: ROLLO (R_OG1_BA_P) position: 0 -> 50 / direction: down
2016.08.30 15:00:00 5: ROLLO (R_OG1_BA_P) >> calculateDriveTime | going down: from 0 to 50
2016.08.30 15:00:00 4: ROLLO (R_OG1_BA_P) calculateDriveTime: oldpos=0,newpos=50,direction=down,time=19,steps=50,drivetime=10.5
2016.08.30 15:00:00 4: ROLLO (R_OG1_BA_P) execute following commands: set R_OG1_BA off; ;
2016.08.30 15:00:00 2: IT set R_OG1_BA off
2016.08.30 15:00:00 4: ROLLO (R_OG1_BA_P) stop in 10.5 seconds.
2016.08.30 15:00:00 3: R_OG1_BA ZU->off
2016.08.30 15:00:10 5: ROLLO (R_OG1_BA_P) >> Timer
2016.08.30 15:00:10 5: ROLLO (R_OG1_BA_P) >> Stop
2016.08.30 15:00:10 4: ROLLO (R_OG1_BA_P): stops from drive-down at position 50
2016.08.30 15:00:10 2: IT set R_OG1_BA off
2016.08.30 15:00:10 4: ROLLO (R_OG1_BA_P) stopped by excute the command: set R_OG1_BA off
2016.08.30 15:00:10 3: R_OG1_BA ZU->off


Zugehörige Config.
define R_OG1_BA_P ROLLO
attr R_OG1_BA_P alias OG1 Bad - Rollladen
attr R_OG1_BA_P autoStop 0
attr R_OG1_BA_P automatic-enabled off
attr R_OG1_BA_P blockMode none
attr R_OG1_BA_P cmdIcon half:remotecontrol/black_btn_MENUDroid open:remotecontrol/black_btn_CHUP closed:remotecontrol/black_btn_CHDOWN stop:remotecontrol/black_btn_STOP
attr R_OG1_BA_P commandDown set R_OG1_BA off
attr R_OG1_BA_P commandStopDown set R_OG1_BA off
attr R_OG1_BA_P commandStopUp set R_OG1_BA on
attr R_OG1_BA_P commandUp set R_OG1_BA on
attr R_OG1_BA_P devStateIcon open:fts_shutter_10:closed closed:fts_shutter_100:open half:fts_shutter_50:closed drive-up:fts_shutter_up@red:stop drive-down:fts_shutter_down@red:stop position-100:fts_shutter_100:open position-90:fts_shutter_80:closed position-80:fts_shutter_80:closed position-70:fts_shutter_70:closed position-60:fts_shutter_60:closed position-50:fts_shutter_50:closed position-40:fts_shutter_40:open position-30:fts_shutter_30:open position-20:fts_shutter_20:open position-10:fts_shutter_10:open position-0:fts_shutter_10:closed
attr R_OG1_BA_P excessBottom 0
attr R_OG1_BA_P excessTop 0
attr R_OG1_BA_P group Steuerung
attr R_OG1_BA_P icon fts_shutter_updown
attr R_OG1_BA_P reactionTime 1
attr R_OG1_BA_P resetTime 1
attr R_OG1_BA_P room OG1,OG1-Bad,Rolllaeden
attr R_OG1_BA_P secondsDown 19
attr R_OG1_BA_P secondsUp 20
attr R_OG1_BA_P switchTime 1
attr R_OG1_BA_P type normal
attr R_OG1_BA_P verbose 5
attr R_OG1_BA_P webCmd position:half:open:closed:stop


Eigenartig das dieser Zwischenstop gleich am Anfang des herabfahrens passiert und nie beim öffnen.
Das ganze passiert sporadisch bei den unterschiedlichen Rollläden und nicht nur bei gewissen.
Und es sind immer alle Position beim herabfahren ausgenommen vollkommen geschlossen.

Wie schon erwähnt wäre für die Zeiteinstellung der Rollläden eine Möglichkeit der Zeitgrundeinstellung nichts schlecht.
ZB. bei Eingabe von P0 oder P100 soll nach der Laufzeit das Rollo gefahren werden.
Bei der Funktion öffnen oder schließen gibt es keine Laufzeit die sich dahinter verbirgt.
Mfg Chris

Raspberry Pi 2-5, Betriebssystem: Bullseye Lite
Schnittstellen: RFXtrx433E, SIGNALduino, MQTT, nanoCUL, HM-MOD-UART, 1-Wire, LAN, ser2net, FHEM2FEHEM
Devices: FS20, IT, Homematic, MQTT, TEK603, WMR200, YouLess, S.USV, APC-USV, PV-Deye, PV-Fronius, Resol VBUS & DL2