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

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

Vorheriges Thema - Nächstes Thema

piet_pit

FHEM 6.0 auf Raspberry Pi 3, Rasbian-Stretch
FRITZ!Box 7490
HM-Mod-RPI-PCB
JeeLink
CUNO 1.47

jumperger

Hallo, als Noob habe ich es jetzt geschaft einen Düwi Jalousieschalter in FHEM einzubinden.
Dazu habe ich das Intertechno Modul IT benutzt mit dem Attribut IT-Switch.
Meine Jalousie fährt hoch und runter, nur leider wird in FHEM eine Glühbirne zur Darstellung benutzt und ich schalte mit den On / Off schaltern.

Mir wurde nun zum Modul ROLLO geraten, ich habe Wiki und Commandref dazu gelesen, nur isr mir leider nicht ersichtlich wie ich die Module IT und ROLLO mit ein ander verbinden kann.

Danke für Tips in welche Richtung ich suchen sollte.

KernSani

Wenn es dir nur um die Darstellung geht, setze das Attribut devStateIcon deines IT Devices. Wenn du die Funktionalität von ROLLO möchtest, musst du im Grunde nur ein ROLLO Device anlegen und in die Befehle, die du heute an dein IT Device schickst in den entsprechenden Attributen (rl_cmdUp, rl_cmdDown usw....) des ROLLO Devices pflegen:-)


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

jumperger

#168
Kurz aber dafür auch bündig  ;D
Danke für die Hilfe, nur bin ich eben selten dämlich und tue mich immerwieder schwer als Noob die Infos aus der CommandRef umzusetzen, Zitat Commandref/Wiki/Fhem-Oberfläche:
Zitatrl_commandUp attr <Rollo-Device> rl_commandUp <string>
Es werden bis zu 3 beliebige Befehle zum hochfahren ausgeführt
In meinem ROLLO Device (SDB_Rollo) habe ich somit die attr-Zeile:

attr  SDB_Rollo rl_commandUp WEISSE EINGABEBOX

Nur was kommt in die WEISSE BOX stehen.
<Rollo-Device> nehme ich an dass es mein aktuelles Intertechno-Device (DüwiRolloSdb) ist welches als Switch funktioniert und den Rollo rauf und runter fährt mit den Befehlen "On" und "Off"

hier die Raw-Def des Intertechno Moduls:
defmod DuewiRolloSdb IT F00000000F FF F0
attr DuewiRolloSdb IODev sduino2
attr DuewiRolloSdb model itswitch

setstate DuewiRolloSdb off
setstate DuewiRolloSdb 2020-01-08 22:34:27 protocol V1
setstate DuewiRolloSdb 2020-01-10 18:43:24 state off


und auch ein List:
Internals:
   CFGFN     
   DEF        F00000000F FF F0
   FUUID      5e1658ca-f33f-062d-5f4a-d879393fed81e5d7
   IODev      sduino2
   NAME       DuewiRolloSdb
   NR         1080
   STATE      off
   TYPE       IT
   XMIT       f00000000f
   XMITdimdown 00
   XMITdimup  00
   XMIToff    f0
   XMITon     ff
   CODE:
     1          f00000000f
   READINGS:
     2020-01-08 22:34:27   protocol        V1
     2020-01-10 18:43:24   state           off
   userV1setCodes:
     closed     1110
     open       1010
     tamper     0111
Attributes:
   IODev      sduino2
   model      itswitch
   room       1


Danke für eure Erläuterungen.

KernSani

Eigentlich hast du es dir schon fast selbst beantwortet: Der Befehl für das commandUp Attribut wàre
set DuewiRolloSdb on
entsprechend für down das gleiche mit off. Je nachdem wie du den Rollladen stoppst müsstest du dann noch das stopCommand bzw. die stopCommands pflegen


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

jumperger

auf das set bin ich nicht gekommen. Vielen Dank für den Schubs in die richtige Richtung

jumperger

Vielen Dank das funktioniert nun,
der Rollo fährt nur 20 von Min bis Max also brauche ich keine Zwischenstellung.

attr  SDB_Rollo rl_commandUp set DuewiRolloSdb on
attr  SDB_Rollo rl_commandDown set DuewiRolloSdb off

haben also alles gebracht was ich brauche.
Ein zweiter klick auf Up stoppt das Hochfahren falls nötig (wird nie gemacht, da immer nur ganz auf oder zu ist).

Das List sieht nun folgendermassen aus:
Internals:
   FUUID      5e16fbd2-f33f-062d-adb4-f1cdc0a17a876509
   NAME       SDB_Rollo
   NR         79
   STATE      closed
   TYPE       ROLLO
   stoptime   1578853575
   READINGS:
     2020-01-12 18:26:13   command         closed
     2020-01-12 18:26:13   desired_pct     100
     2020-01-12 18:26:13   drive-type      modul
     2020-01-12 18:26:13   last_drive      drive-down
     2020-01-12 18:26:15   pct             100
     2020-01-12 18:26:15   state           closed
Attributes:
   cmdIcon    open:fts_shutter_up closed:fts_shutter_down stop:fts_shutter_manual half:fts_shutter_50
   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
   rl_autoStop 0
   rl_commandDown set DuewiRolloSdb off
   rl_commandUp set DuewiRolloSdb on
   rl_excessBottom 2
   rl_excessTop 4
   rl_secondsDown 30
   rl_secondsUp 30
   rl_switchTime 1
   rl_type    normal
   room       E1_SdB
   webCmd     open:closed:half:stop:pct


Vielen Dank für die Unterstützung.

Vaillant VWS

Hallo,

zuerst mal möchte ich den Machern und Pflegenden für dieses erstklassige Modul meinen Dank sagen.

Es läuft bei mir bestens als Jalousiensteuerung und bietet fast alle Möglichkeiten einer Topsteuerung. Allerdings fehlt mir immer mal wieder eine Lamellenverstellung für die Jalousien, wie sie bei zeitgemäßen Haussteuerungssysteme zur Lichtsteuerung untertags stand ist. Soweit ich weiß, hat vor einem Jahr schon mal jemand danach gefragt. Vielleicht würde so eine Erweiterung doch dem ein- oder anderem nützen.

Ich denke, dazu bräuchte man ein weiteres Reading für den Kippwinkel, der beim runterfahren um 90° und beim hochfahren ca. 0° ist. Dann noch Attribut für die Kippzeit. Ein zusätzlicher Gewinn wäre die Integration in die Homekit-Steuerung (Characteristic CurrentTiltAngle/TargetTiltAngle) und der Möglichkeit der Steuerung mit Siri! So würde das Rollo-Modul alles mitbringen, was heute Stand der Technik ist.

Wie sehen die Entwickler des Moduls so eine Erweiterung einzubauen?

vielen Dank

KernSani

Zitat von: Vaillant VWS am 08 April 2020, 13:15:20

Wie sehen die Entwickler des Moduls so eine Erweiterung einzubauen?

vielen Dank
Können wir gerne mal diskutieren. Ich habe nur keine Möglichkeit sowas zu testen, d.h ich wäre da auf Hilfe angewiesen.

Für den Anfang würde mir ein List des physischen Gerätes und die Befehle die zum ansteuern notwendig sind schonmal helfen, dann könnte ich mir mal Gedanken machen, wie man das in ROLLO reinbekommt.


Gesendet von iPhone mit Tapatalk
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

CoolTux

Ich habe die selbe Anfrage an ASC schon seit einem Jahr. Komme einfach zu keinen vernünftigen Gedanken diesbezüglich. Vielleicht findet man ja zusammen Logiken  ;D
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

KernSani

Zitat von: CoolTux am 08 April 2020, 13:34:56
Ich habe die selbe Anfrage an ASC schon seit einem Jahr. Komme einfach zu keinen vernünftigen Gedanken diesbezüglich. Vielleicht findet man ja zusammen Logiken  ;D
Wusste doch, dass mir das Thema bekannt vorkommt ;-) Ja, lass uns gemeinsam brainstormen...


Gesendet von iPhone mit Tapatalk
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Vaillant VWS

Hallo KernSani,

danke für die schnelle Antwort, bin echt überrascht.



Internals:
   FUUID      5c84f5af-f33f-cb06-8dcd-8079b06dc86acca7
   NAME       RolloOst
   NR         62
   STATE      open
   TYPE       ROLLO
   driveDir   down
   driveTime  0.1
   stoptime   1586352955
   OLDREADINGS:
   READINGS:
     2020-04-08 15:34:12   command         pct-50
     2020-04-08 15:35:55   desired_pct     2
     2020-04-08 15:35:55   drive-type      modul
     2020-04-08 15:35:55   last_drive      drive-down
     2020-04-08 15:35:55   pct             98
     2020-04-08 15:35:55   state           open
Attributes:
   cmdIcon    open:fts_shutter_up closed:fts_shutter_down stop:fts_shutter_manual half:fts_shutter_50
   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_90: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:open
   genericDeviceType blind
   homebridgeMapping clear CurrentPosition=pct,minValue=0,maxValue=100,minStep=10 TargetPosition=CurrentPosition,cmd=pct CurrentTiltAngle=tilt,minValue=0,maxValue=90 TargetTiltAngle=target_tilt::tilt,minValue=0,maxValue=90,minStep=30
   rl_autoStop 0
   rl_commandDown set PCF8574 Port5 on
   rl_commandStopDown set PCF8574 Port5 off
   rl_commandStopUp set PCF8574 Port1 off
   rl_commandUp set PCF8574 Port1 on
   rl_excessBottom 2
   rl_excessTop 2
   rl_resetTime 0
   rl_secondsDown 40
   rl_secondsUp 40
   rl_switchTime 1
   rl_type    HomeKit
   room       Homekit,WG
   webCmd     open:closed:half:stop:pct

Ich schreibe einfach mal über meine Situation: steuere mit dem Modul drei Jalousien am Wintergarten, die up, down, stopup, stopdown-Befehle gehen auf einen I2C-8574 Portbaustein der Relais schaltet (set PCF8574 Port1 on). Gesteuert wird das ganze automatisch mit einer (Eigenbau)Funktion aus der '99_myUtils' nach Temperatur Sonne und Wind immer komplett offen/geschlossen. Händisch habe ich keine Taster etc. zum steuern eingebunden, nur über iPhone > Homekit/Homebridge kann ich die Jalousien manuell fahren.

Das verstellen des Kippwinkels stelle ich mir vor, wie beim Reading 'pct': ich gebe den Befehl 'set RolloOst closed', 'pct' ist anfangs 0 und am Ende 100. Beim Kippwinkel könnte das ähnlich sein, z. B. ein Reading 'tilt' ist in der  waagerechten 0 und in der annäherend senkrechten Lage 100. Allerdings ist während des herabfahres der Jalousie der Kippwinkel schon geschlossen (annäherend senkrecht=100) und beim hochfahren waagerecht=0. Für das umsteuern von waagerecht nach senkrecht müsste man eine Zeit vorgeben können, ähnlich 'rl_secondsUp/Down' bei für die komplette Rollo-Fahrt. Allerdings ist die Umsteuerzeit zwischen waagerecht und senkrecht vergleichsweise kurz, so um eine Sekunde, und kann durch driveUp/Down erreicht werden. Für den Kippwinkel sollten 3 - 5 Zwischenstufen reichen, denke ich.

Ich hoffe, ich habe mich halbwegs verständlich ausgedrückt und es finden sich noch weitere Ideengeber  :)

Nochwas: wie füge ich in meinem Beitrag ein List oder Codeblock ein ?



CoolTux

du machst

eckige klamme auf schreibst code und machst eckige klammer zu.
oder nimmst das raute symbol in der symbolleiste
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Vaillant VWS

Danke CoolTux  :D ich versuch's gleich nochmal:


Internals:
   FUUID      5c84f5af-f33f-cb06-8dcd-8079b06dc86acca7
   NAME       RolloOst
   NR         62
   STATE      open
   TYPE       ROLLO
   driveDir   down
   driveTime  0.1
   stoptime   1586352955
   OLDREADINGS:
   READINGS:
     2020-04-08 15:34:12   command         pct-50
     2020-04-08 15:35:55   desired_pct     2
     2020-04-08 15:35:55   drive-type      modul
     2020-04-08 15:35:55   last_drive      drive-down
     2020-04-08 15:35:55   pct             98
     2020-04-08 15:35:55   state           open
Attributes:
   cmdIcon    open:fts_shutter_up closed:fts_shutter_down stop:fts_shutter_manual half:fts_shutter_50
   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_90: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:open
   genericDeviceType blind
   homebridgeMapping clear CurrentPosition=pct,minValue=0,maxValue=100,minStep=10 TargetPosition=CurrentPosition,cmd=pct CurrentTiltAngle=tilt,minValue=0,maxValue=90 TargetTiltAngle=target_tilt::tilt,minValue=0,maxValue=90,minStep=30
   rl_autoStop 0
   rl_commandDown set PCF8574 Port5 on
   rl_commandStopDown set PCF8574 Port5 off
   rl_commandStopUp set PCF8574 Port1 off
   rl_commandUp set PCF8574 Port1 on
   rl_excessBottom 2
   rl_excessTop 2
   rl_resetTime 0
   rl_secondsDown 40
   rl_secondsUp 40
   rl_switchTime 1
   rl_type    HomeKit
   room       Homekit,WG
   webCmd     open:closed:half:stop:pct


Ich schreibe einfach mal über meine Situation: steuere mit dem Modul drei Jalousien am Wintergarten, die up, down, stopup, stopdown-Befehle gehen auf einen I2C-8574 Portbaustein der Relais schaltet (set PCF8574 Port1 on). Gesteuert wird das ganze automatisch mit einer (Eigenbau)Funktion aus der '99_myUtils' nach Temperatur Sonne und Wind immer komplett offen/geschlossen. Händisch habe ich keine Taster etc. zum steuern eingebunden, nur über iPhone > Homekit/Homebridge kann ich die Jalousien manuell fahren.

Das verstellen des Kippwinkels stelle ich mir vor, wie beim Reading 'pct': ich gebe den Befehl 'set RolloOst closed', 'pct' ist anfangs 0 und am Ende 100. Beim Kippwinkel könnte das ähnlich sein, z. B. ein Reading 'tilt' ist in der  waagerechten 0 und in der annäherend senkrechten Lage 100. Allerdings ist während des herabfahres der Jalousie der Kippwinkel schon geschlossen (annäherend senkrecht=100) und beim hochfahren waagerecht=0. Für das umsteuern von waagerecht nach senkrecht müsste man eine Zeit vorgeben können, ähnlich 'rl_secondsUp/Down' bei für die komplette Rollo-Fahrt. Allerdings ist die Umsteuerzeit zwischen waagerecht und senkrecht vergleichsweise kurz, so um eine Sekunde, und kann durch driveUp/Down erreicht werden. Für den Kippwinkel sollten 3 - 5 Zwischenstufen reichen, denke ich.

Ich hoffe, ich habe mich verständlich ausgedrückt und es finden sich noch weitere Ideengeber  :)

KernSani

Du kannst Beiträge auch ändern ;-)

Grundsätzlich sehe ich Schaltzeiten < 1 Sekunde (oder auch 2-3) Sekunden kritisch, da gibt es erfahrungsgemäß häufig nicht beeinflussbare Latenzen (nicht in FHEM, aber auf dem Übertragungsweg), die eine präzise Steuerung quasi unmöglich machen. Hängt natürlich jeweils von den individuellen Gegebenheiten ab, kommt also auf einen Versuch an...


Gesendet von iPhone mit Tapatalk
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...