44_ROLLO: Modul zur präzisen Steuerung von Rollläden

Begonnen von KernSani, 14 Januar 2019, 00:11:37

Vorheriges Thema - Nächstes Thema

KernSani

Vor fast genau drei Jahren hat ThomasRamm die erste Version des 44_ROLLO-Moduls bereitgestellt. In der Zwischenzeit haben RettungsTim, cuni und Andere das Modul erweitert und verbessert. Mit dem morgigen Update wird es nun endlich auch in der offiziellen FHEM-Auslieferung enthalten sein.

Was bietet das Modul?
Das Modul ermöglicht es auch Rollläden, die nur on/off oder open/close/stop verstehen präzise anzusteuern.

  • Dabei gibt es vielfältige Einstellmöglichkeiten um das Modul exakt auf die eigenen Rollläden anzupassen, wie Vor- und Nachlaufzeiten, Reaktionszeiten usw...
  • Im HomeKit-Modus sind die Rollläden ohne homebridgeMapping in Homekit nutzbar.
  • Komfortable Steuerung über z.B. "pct" (direkt eine % Position anfahren),  "half" (auf 50% stellen), "up/down" (in 10% Schritten bewegen) oder "drive" /für x Sekunden fahren)
  • Verschiedene "blocking"-Szenarien, z.B. einen Rollladen über notify "blocken", wenn die Balkontüre offen ist  und festlegen, dass der geblockte Rollladen nur hoch fahren darf.
  • ...

Was sind die Voraussetzungen?
ROLLO steuert keine Rollläden direkt an, der Rollladen muss bereits als Device in FHEM existieren und funktionieren (mit Befehlen für "hoch", "runter" und "stop").

ToDo

RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

meier81

Hallo und guten Morgen,

es freut mich das das Modul nun in der offiziellen Auslieferung mit vorhanden ist.

Habe es gerade installiert und auch gleich den ersten Fehler gefunden. Das Modul interessiert sich nicht mehr für den Parameter rl_autoStop, das heißt egal was ich dort einstelle der Stop-Befehl wird immer mitgeschickt. Diesen hatte ich aber mit rl_autoStop=1 ausgeschaltet damit meine Rolladen immer in die Endstellung fahren bei 0% bzw. 100%.

Das könntest du dir nochmal anschauen.

Gruß
Markus
QNAP NAS mit Debian VM, darauf FHEM, debmatic, influxdb2 und Grafana || HB-RF-ETH || SIGNALduino 433MHz mit Maple mini || WS980 Wetterstation || Xiaomi Mi Robot mit valetudo-FW || Buderus web KM100 || div. Tasmota-Devices

Frank_Huber

auf dem Testsystem eingerichtet und bischen mit dem Rollo hin und her gefahren.
Funktional keine Fehler festgestellt.
im Log habe ich folgendes gefunden:
2019.01.14 11:09:36 1: PERL WARNING: Use of uninitialized value $desiredPos in concatenation (.) or string at ./FHEM/44_ROLLO.pm line 351.

KernSani

@Markus: Schau ich mir heute abend an... Bin mir aber ziemlich sicher, dass es bei mir zu Hause funktioniert. Evtl. frage ich dann noch nach detaillierteren Infos (list des ROLLO bzw. verbose 5 log)

@Frank, die Meldung hatte ich auch bei einem neu definiertem ROLLO device, konnte sie dann aber nicht mehr nachvollziehen... Schau ich mir auch nochmal an.
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

meier81

Hallo und guten Abend,

hab natürlich heute morgen vergessen mit ein paar mehr Infos um die Ecke zu kommen, hier noch etwas von mir nachgeliefert:

Definition:

define RolladenWohnzimmer ROLLO
attr RolladenWohnzimmer alias Rolladen Fenster
attr RolladenWohnzimmer cmdIcon open:fts_shutter_up closed:fts_shutter_down stop:fts_shutter_manual half:fts_shutter_50
attr RolladenWohnzimmer 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 pct-100:fts_shutter_100:open pct-90:fts_shutter_80:closed pct-80:fts_shutter_80:closed pct-70:fts_shutter_70:closed pct-60:fts_shutter_60:closed pct-50:fts_shutter_50:closed pct-40:fts_shutter_40:open pct-30:fts_shutter_30:open pct-20:fts_shutter_20:open pct-10:fts_shutter_10:open pct-0:fts_shutter_10:closed
attr RolladenWohnzimmer group Rolladen
attr RolladenWohnzimmer rl_autoStop 1
attr RolladenWohnzimmer rl_commandDown set Kanal_1 down
attr RolladenWohnzimmer rl_commandStop set Kanal_1 stop
attr RolladenWohnzimmer rl_commandUp set Kanal_1 up
attr RolladenWohnzimmer rl_excessBottom 3
attr RolladenWohnzimmer rl_excessTop 0
attr RolladenWohnzimmer rl_resetTime 0
attr RolladenWohnzimmer rl_secondsDown 18
attr RolladenWohnzimmer rl_secondsUp 19
attr RolladenWohnzimmer rl_switchTime 1
attr RolladenWohnzimmer rl_type normal
attr RolladenWohnzimmer room Wohnzimmer
attr RolladenWohnzimmer webCmd open:closed:half:stop:pct


Im verbose 5 log ist keinerlei Eintrag vorhanden bezüglich dem fahren, sieht alles soweit gut aus. Hab zur Info das Modul schon länger im Einsatz, war dann das vom GitHub. Habe heute morgen den Eintrag für das automatische Update entfernt und dann ein FHEM-Update ausgeführt, damit kam es dann vom offiziellen FHEM-Server. Daraufhin habe ich dann die Einträge im Log für die Umbenennung der Attribute. Hat er aber auch einwandfrei erledigt.

Gruß

Markus
QNAP NAS mit Debian VM, darauf FHEM, debmatic, influxdb2 und Grafana || HB-RF-ETH || SIGNALduino 433MHz mit Maple mini || WS980 Wetterstation || Xiaomi Mi Robot mit valetudo-FW || Buderus web KM100 || div. Tasmota-Devices

KernSani

Danke für die Hinweise. Beide Bugs gefixt. Ab sofort im Github oder ab morgen im Update.
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

grappa24

Glückwunsch zum "go live" und danke für die Arbeit an dem Modul!

Frage:
Ich hatte mich "damals" (vergeblich) an den DOIFs zur Synchronisation mit einer externen Steuerung versucht, würde das gern noch mal in Angriff nehmen. Hat das mittlerweile jemand erfolgreich realisiert und kann mir eine "Leseempfehlung" geben?

Danke, Dieter
FHEM 6.1, 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, ...

Frank_Huber

Zitat von: grappa24 am 15 Januar 2019, 11:00:21
Ich hatte mich "damals" (vergeblich) an den DOIFs zur Synchronisation mit einer externen Steuerung versucht, würde das gern noch mal in Angriff nehmen. Hat das mittlerweile jemand erfolgreich realisiert und kann mir eine "Leseempfehlung" geben?

Hallo Dieter,

was für eine "externe Steuerung"?

grappa24

Wenn ich mein Rollo über vorhandenen Wandtaster steuere, muss ich ja dem Modul mitteilen, dass extern gesteuert wurde. Dafür gibt es ja den set extern Befehl: set <Rollo-Device> extern <value>
if the shutter is started/stopped externaly, you can inform the module so it can calculate the current pct
.
Zur Umsetzung gibts im Wiki diesen Ansatz: define rollo_manuell_auf DOIF ([meinRollo_Kanal1] eq "on" and [meinRolloModul] ne "drive-up") (set meinRolloModul extern open) DOELSEIF ([meinRollo_Kanal1] eq "off" and [meinRolloModul] eq "drive-up") (set meinRolloModul extern stop)
define rollo_manuell_ab  DOIF ([meinRollo_Kanal2] eq "on" and [meinRolloModul] ne "drive-down") (set meinRolloModul extern closed) DOELSEIF ([meinRollo_Kanal2] eq "off" and [meinRolloModul] eq "drive-down") (set meinRolloModul extern stop)
der aber so bei mir nie 100% funktionierte.

Ich suche jetzt jemanden, der diese beiden DOIFs korrekt am Laufen hat  ;)
FHEM 6.1, 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, ...

Frank_Huber

Zitat von: grappa24 am 15 Januar 2019, 11:46:10
Wenn ich mein Rollo über vorhandenen Wandtaster steuere, muss ich ja dem Modul mitteilen, dass extern gesteuert wurde. Dafür gibt es ja den set extern Befehl: set <Rollo-Device> extern <value>
if the shutter is started/stopped externaly, you can inform the module so it can calculate the current pct
.
Zur Umsetzung gibts im Wiki diesen Ansatz: define rollo_manuell_auf DOIF ([meinRollo_Kanal1] eq "on" and [meinRolloModul] ne "drive-up") (set meinRolloModul extern open) DOELSEIF ([meinRollo_Kanal1] eq "off" and [meinRolloModul] eq "drive-up") (set meinRolloModul extern stop)
define rollo_manuell_ab  DOIF ([meinRollo_Kanal2] eq "on" and [meinRolloModul] ne "drive-down") (set meinRolloModul extern closed) DOELSEIF ([meinRollo_Kanal2] eq "off" and [meinRolloModul] eq "drive-down") (set meinRolloModul extern stop)
der aber so bei mir nie 100% funktionierte.

Ich suche jetzt jemanden, der diese beiden DOIFs korrekt am Laufen hat  ;)
Die vorhandenen Taster gehen direkt auf den Rollo?
Oder auch an FHEM?

Gesendet von meinem Doogee S60 mit Tapatalk


grappa24

Ist KNX, die Taster gehen a) direkt ans Rollo und b) auch an FHEM.

Das funktioniert alles soweit, auch das ROLLO-Modul läuft bei mir.

Die Idee hinter den DOIFs war (am Beispiel manuell_ab):
"Fährt das Rollo extern gesteuert runter und der Status des virtuellen Rollos ist nicht ,,drive-down" dann setze es auf ,,closed". Dabei wird sein Status automatisch auf ,,drive-down" gesetzt und ein timer gestartet.
Stoppt dann das Rollo während ,,das virtuelle Rollo noch runterfährt", dann stoppe auch das virtuelle Rollo"
FHEM 6.1, 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, ...

Frank_Huber

Du könntest alternativ die gesamte Steuerung an FHEM übergeben. Taster --> DOIF --> Rollo Modul --> Rollo

Gesendet von meinem Doogee S60 mit Tapatalk


KernSani

Zitat von: Frank_Huber am 15 Januar 2019, 12:23:00
Du könntest alternativ die gesamte Steuerung an FHEM übergeben. Taster --> DOIF --> Rollo Modul --> Rollo

Gesendet von meinem Doogee S60 mit Tapatalk


Wäre vielleicht ungeschickt, wenn FHEM nicht verfügbar ist.

Für genau das oben geschilderte Szenario wurde der "extern"-Befehl eingeführt. Ich schau mir das heute abend mal an.
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

KernSani

@grappa24: Was konkret funktioniert denn nicht richtig mit dem extern-Ansatz? Vom Grundgedanken her sollte das genau so funktionieren. Ich könnte mir allerdings vorstellen, dass es z.B. Unterschiede in den Reaktionszeiten gibt, je nachdem ob extern oder über FHEM geschaltet wird und daher die Kalkulation nicht passt. Vielleicht kann man da mit einem Korrekturfaktor o.ä. arbeiten.
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

grappa24

@KernSani: Gut, wenn Du sagst, der Ansatz ist richtig, dann muss ich an meinem DOIF arbeiten; irgendwie läuft es nicht in den "set extern closed" Zweig rein. Es ist kein Problem der Reaktionszeiten.
FHEM 6.1, 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, ...