Rollladensteuerung für HM/ROLLO inkl. Abschattung und Komfortfunktionen in Perl

Begonnen von Cluni, 06 Juli 2017, 11:14:28

Vorheriges Thema - Nächstes Thema

diki


Hallo Cluni,

Zitat von: Cluni am 08 August 2018, 10:08:24
So, ich habe mal eine Kleinigkeit geändert an der Öffnen-Routine. Der Rollladen sollte nun mit dem automatischen Öffnen normal hoch fahren und dann irgendwann, sobald die Abschattung greift, auf die Position für die Abschattung fahren.

Wer es mal testen möchte: Einfach nur die komplette Datei ersetzen und neu laden. Danach sollte es hoffentlich wie oben beschrieben laufen.

Irgendwann möchte ich, dass der Rollladen bei ausreichender Sonne morgens direkt in die Abschattung fährt statt komplett zu öffnen. Aber das ist etwas mehr Aufwand, wenn ich das gescheit implementieren will...

Die Version v0.9.4.9 funktioniert seit einer Woche ohne Probleme.

Vielen Dank,
Dirk

FunkOdyssey

Ich nutze (noch) nicht eure Rollladensteuerung, aber ich bin stark daran interessiert, da ich mir dadurch eine Vielzahl ziemlich komplexer DOIF-Abhängigkeiten ersparen würde.

Meine aktuelle Umsetzung ist jedoch stark individuell und ich frage mich, ob das mit eurer Steuerung auch irgendwie funktionieren könnte. Im Quellcode konnte ich jedoch keine Hinweise (abgesehen von den Twilight-Erfordernissen) nichts zu der Wettervorhersage zu finden. Ich nutze zwar auch Azimuth, Außentemperatur und Helligkeitswerte, aber außerdem auch die Wohnraumtemperatur wie auch die aktuelle und zukünftige Wetterlage. Je wärmer es ist oder wird, umso tiefer fahre ich die Jalousien.

Wenn die Wettervorhersage also schon weiß, dass es sehr heiß wird, so brauche ich die Jalousien gar nicht erst weiter als den gewünschten PCT-Wert öffnen.

Wäre so etwas mit eurer Lösung zukünftig auch möglich? Ist das eine Idee, die man aufnehmen könnte? Oder ist das einfach zu individuell? :-)

DOIF-Extrakt stark vereinfacht: (es sind eigentlich noch mehr Abfragen enthalten)

# Temperatur zwischen 25-28. Berechnung nur auf Basis der Vorhersage.
# PCT auf 40%

[Wetter:fc1_condition] =~ /sonnig|heiter|klar|heiß/ and
([Wetter:fc1_high_c] > 25 and [Wetter:fc1_high_c] < 28)


# Temperatur >= 28. Berechnung nur auf Basis der Vorhersage.
# PCT auf 25%

[Wetter:fc1_condition] =~ /sonnig|heiter|klar|heiß/ and
[Wetter:fc1_high_c] >= 28


# Temperaturen zwischen 25-28. Keine Wetterabfrage.
# PCT auf 40%

[innensensor:measured-temp] > 21 and
(
([aussensensor:temperature] > 25 and [aussensensor:temperature] < 28) or
([Wetter:fc1_high_c] > 25 and [Wetter:fc1_high_c] < 28)
)


# Temperaturen >= 28. Keine Wetterabfrage.
# PCT auf 25%

[innensensor:measured-temp] > 21 and
(
[aussensensor:temperature] >= 28 or
[Wetter:fc1_high_c] >= 28
)


# Temperatur zwischen 23-25. Normale Abfrage mit Wetterdaten. Viele Wetterlagen.
# PCT auf 60%


[innensensor:measured-temp] > 21 and
[Wetter:condition] =~ /sonnig|heiter|klar|heiß|wolkig|teilweise wolkig/ and
(
([aussensensor:temperature] > 23 and [aussensensor:temperature] < 25) or
([Wetter:fc1_high_c] > 23 and [Wetter:fc1_high_c] < 25)
)


# Temperatur >25. Normale Abfrage mit Wetterdaten. Viele Wetterlagen.
# PCT auf 50%

[innensensor:measured-temp] > 21 and
[Wetter:condition] =~ /sonnig|heiter|klar|heiß|wolkig|teilweise wolkig/ and
(
[aussensensor:temperature] >= 25 or
[Wetter:fc1_high_c] >= 25
)


Ich habe das so "komplex" gestaltet, da ich mir einen echten Lichtsensor sparen wollte. Ich habe zwar auch HM-Bewegungsmelder, aber die Helligkeitswerte sind einfach nicht aussagekräftig genug.




Kommt ihr eigentlich wirklich mit einem Helligkeitssensor hin?
Theoretisch habe ich ja nur die Helligkeit einer Himmelsrichtung und es kann sein, dass am anderen Ende des Gebäudes die Sonne ja gar nicht strahlt.
Was bringt mir eine Abschattung im Azimut zwischen 80 und 180, wenn der zugrunde gelegte Lux-Wert (für diese Jalousien) im Westen gemessen wird?




Habt ihr irgendwann vor, eure Steuerung als FHEM-Modul herauszubringen?




Danke. Geiles Projekt!

Cluni

@Dirk: Vielen Dank für die Rückmeldung!

@FunkOdyssey: Ich denke, dass das ein wenig zu viel des Guten ist. Ich für meinen Teil fahre ziemlich gut mit den Helligkeitssensoren.

Ich benutze zwei Helligkeitssensoren. Diese kombiniere ich zu einem Dummy-Sensor, der nur die Werte des aktuell besten Sensors bekommt. (Durch die Kombination mehrerer Sensoren zu einem Sensor, der nur den aktuellen Wert bekommt, senke ich die Anzahl der Aufrufe der Abschattungsroutine und vermeide somit unnötige Prozessorlast.) Damit die Rollladen auf der Schattenseite nicht abgeschattet werde gibt es ja die Konfiguration für die Position des Fensters, man kann den Winkel links und rechts vom Fenster definieren und man kann auch die Mindesthöhe der Sonne definieren (falls z.B. ein anderes Haus oder ein Baum einen Schatten wirft). Klappt bei mir wie gesagt ganz gut.

kjmEjfu

Statt Helligkeitssensor kann man übrigens auch einen Differenztemperaturmesser nehmen.
War die beste Umstellung, die ich in der Hinsicht machen konnte. Steuert sehr viel präziser, vor allem seitdem ich den Wert auch noch über 10 Minuten glätte.
Hat auch den Vorteil, dass unabhängig vom Licht gefahren wird, wenn einfach die Temperatur zwischen Schatten und volle Sonne eine bestimmte Differenz überschreitet. Dadurch wird z.B. bei schwacher (im Sinne von Energie), aber stark scheinender Sonne nicht abgeschattet.
Migriere derzeit zu Home Assistant

pcjogi

Nachdem meine Rollladen inzwischen sauber morgens und abends hoch und runter gehen und auch die Abschattung funktioniert wollte ich mich an den Aussperrschutz begeben. Hierzu habe ich aber eine grundsätzliche Frage:

Da meine Kinder inzwischen groß sind brauche ich eine Sperre des Tasters nicht mehr :-); ABER die Komfortfunktion abends den Rollladen zu schließen soll natürlich bei geöffneter Tür nicht mehr passieren. Geht das auch und wenn ja wie?

Reicht es einen twostate Sensor mit den Status open und closed in die reading seinzutragen?

Auto_Aussperrschutz ja
Auto_Fensterkontakt EG.Wohnzimmer.Fenster.Schiebetuer


Das funktionierte bei mir auf Anhieb leider nicht.

Danke

Haupt-Fhem (Docker auf Synology), Sub-Fhem (433Mhz und 833Mhz) auf RasPi, Sub-Fhem (Heizungssteuerung) auf RasPi, Sub_Fhem (System) auf RasPi, IoBroker zur Darstellung (Docker auf Synology), alles verbunden über einen MQTT Broker, insgesamt ca. 100 Sensoren/Aktoren

greenBelt

Ich habe den HM-SEC-SCo im Einsatz.

Mein DoIf:

([Tuersensor:"^open$"])(set Rollo1 opens)

funktioniert perfekt

Chris8888

Zitat von: pcjogi am 24 August 2018, 20:42:38
Reicht es einen twostate Sensor mit den Status open und closed in die reading seinzutragen?

Du brauchst einen "subType threeStateSensor", notfalls als UserAttr.

VG
Christian
FHEM 6.0 auf einem PI4 mit div. Homematic-Komponenten, Alexa, Tablet-UI und Homebridge...und läuft einfach. Erweitert mit CCU3 und Homematic-IP...und läuft immer noch.

Cluni

Zitat von: pcjogi am 24 August 2018, 20:42:38
Da meine Kinder inzwischen groß sind brauche ich eine Sperre des Tasters nicht mehr :-); ABER die Komfortfunktion abends den Rollladen zu schließen soll natürlich bei geöffneter Tür nicht mehr passieren.

Das geht momentan leider noch nicht, aber ich habe schon eine Idee, wie ich das (bald) realisieren werde - stört mich persönlich nämlich auch. Damit nicht noch mehr in den User-Attributen der Rollladen selber hinzu kommt, werde ich ein User-Attribut im Dummy hinzufügen wie z.B. "Aussperrschutz mit Tastersperre" "ja/nein". Muss ich aber noch drüber nachdenken. Evtl. passe ich doch das User-Attribut an und erweitere es um die Option "mit Tastensperre" oder ähnlich.


Kleine Info für alle Neugierigen am Rande:

Ich habe aktuell eine Version im Test, die dem Dummy ein wenig mehr Funktionalität verleiht: es wird eine neue Setlist geben, mit der man z.B. gezielt die Timer neu generieren lassen oder auch einzelne Funktionen ein- oder ausschalten kann. So kann man dann auch zum Beispiel die Abschattung per Webschalter direkt ein- oder ausschalten....  8)

Cluni

Zitat von: greenBelt am 24 August 2018, 22:10:15
Mein DoIf:

Ziel meiner Steuerung ist es hauptsächlich eigene DOIFs oder ähnliches zu vermeiden....  ;)

tunguskar

Ich habe bei mir zuhause eine Mischung aus Rolladen und Raffstoren. Alle hängen an einer SPS. Aktuell steuere ich diese über das normale ROLLO Modul. Ich habe schon gelesen dass eine Lamellenstellung mit diesem Modul möglich wäre. Hat das schon jemand gemacht? Wenn ja wie :) ?

Im Rollo Modul kann man die Fahrzeiten beschränkt auf Sekunden übergeben. Meines Erachtens muss man die geforderte Position anfahren und dann über ein Signal kleiner einer Sekunde die Lamellenstellung einstellen.

Cluni

Leider ist das aktuell noch nicht möglich. Muss ich mal in die ToDo aufnehmen...

tatu123

Hallo zusammen,

Ich versuch gerade das"Modul" für meine HMIP zumlaufen zu bekommen. Jetzt ergibt sich für mich die Frage welche Readings werden den benötigt.
Im Forum steht dazu zwar einiges aber nicht wirklich so viel das ich es sofort verstehe. z.B. was muss das Reading "motor" enthalten ? Motor läuft dann 1 oder 0. Oder doch die Position ?

Hier mal mein Def für den HmIP-FROLL


defmod d_roll_o HMCCUDEV HmIP-FROLL-o
attr d_roll_o userattr Auto_Modus_hoch:bei_Abwesenheit,bei_Anwesenheit,immer,aus Auto_Modus_runter:bei_Abwesenheit,bei_Anwesenheit,immer,aus Auto_hoch:Zeit,Astro Auto_runter:Zeit,Astro Auto_Abschattung_Pos:10,20,30,40,50,60,70,80,90,100 Auto_Abschattung_Pos_nach_Abschattung:-1,0,10,20,30,40,50,60,70,80,90,100 Auto_Lueften_Pos:10,20,30,40,50,60,70,80,90,100 Auto_offen_Pos:10,20,30,40,50,60,70,80,90,100 Auto_Himmelsrichtung Auto_Abschattung:ja,nein,verspaetet,bei_Abwesenheit,bei_Anwesenheit Auto_Zeit_hoch_frueh Auto_Zeit_hoch_spaet Auto_Zeit_hoch_WE_Urlaub Auto_Zeit_runter_frueh Auto_Zeit_runter_spaet Auto_Zufall_Minuten Auto_Fensterkontakt Auto_Luft_Fenster_offen:ja,nein Auto_Aussperrschutz:ja,nein Auto_Geoeffnet_Pos:10,20,30,40,50,60,70,80,90,100 Auto_Abschattung_Winkel_links:0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90 Auto_Abschattung_Winkel_rechts:0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90 Auto_Abschattung_Helligkeitssensor Auto_Abschattung_Helligkeits_Reading Auto_Abschattung_Schwelle_sonnig Auto_Abschattung_Schwelle_wolkig Auto_Abschattung_Wartezeit Auto_Abschattung_min_elevation Auto_Abschattung_min_Temp_aussen Auto_Abschattung_Sperrzeit_nach_manuell Auto_Offset_Minuten_morgens Auto_Offset_Minuten_abends Auto_Abschattung_Sperrzeit_vor_Nacht Auto_Abschattung_schnell_oeffnen:nein,ja Auto_Abschattung_schnell_schliessen:nein,ja Auto_Fensterkontakttyp:twostate,threestate Auto_Pos_Befehl Auto_geschlossen_Pos Auto_Gaestezimmer:nein,ja Auto_Pos_nach_KomfortOeffnen:-2,-1,0,10,20,30,40,50,60,70,80,90,100 Rollladensteuerung:nein,ja Auto_Frostschutz:aus,morgens Auto_Partymodus:ja,nein
attr d_roll_o Auto_Abschattung ja
attr d_roll_o Auto_Abschattung_Helligkeits_Reading brightness
attr d_roll_o Auto_Abschattung_Helligkeitssensor WUweather
attr d_roll_o Auto_Abschattung_Pos 30
attr d_roll_o Auto_Abschattung_Pos_nach_Abschattung -1
attr d_roll_o Auto_Abschattung_Schwelle_sonnig 200
attr d_roll_o Auto_Abschattung_Schwelle_wolkig 110
attr d_roll_o Auto_Abschattung_Sperrzeit_nach_manuell 20
attr d_roll_o Auto_Abschattung_Sperrzeit_vor_Nacht 45
attr d_roll_o Auto_Abschattung_Wartezeit 20
attr d_roll_o Auto_Abschattung_Winkel_links 90
attr d_roll_o Auto_Abschattung_Winkel_rechts 85
attr d_roll_o Auto_Abschattung_min_Temp_aussen 18
attr d_roll_o Auto_Aussperrschutz nein
attr d_roll_o Auto_Fensterkontakttyp twostate
attr d_roll_o Auto_Frostschutz aus
attr d_roll_o Auto_Geoeffnet_Pos 100
attr d_roll_o Auto_Himmelsrichtung 245
attr d_roll_o Auto_Lueften_Pos 30
attr d_roll_o Auto_Luft_Fenster_offen ja
attr d_roll_o Auto_Modus_hoch immer
attr d_roll_o Auto_Modus_runter immer
attr d_roll_o Auto_Offset_Minuten_abends 0
attr d_roll_o Auto_Offset_Minuten_morgens 0
attr d_roll_o Auto_Pos_Befehl control
attr d_roll_o Auto_Zeit_hoch_WE_Urlaub 09:30:00
attr d_roll_o Auto_Zeit_hoch_frueh 07:30:00
attr d_roll_o Auto_Zeit_hoch_spaet 09:00:00
attr d_roll_o Auto_Zeit_runter_frueh 16:30:00
attr d_roll_o Auto_Zeit_runter_spaet 21:30:00
attr d_roll_o Auto_Zufall_Minuten 20
attr d_roll_o Auto_hoch Astro
attr d_roll_o Auto_offen_Pos 100
attr d_roll_o Auto_runter Astro
attr d_roll_o IODev d_ccu
attr d_roll_o Rollladensteuerung ja
attr d_roll_o ccureadingfilter (LEVEL|PROCESS|SECTION|PRESS)
attr d_roll_o ccureadingname ^(.+\.)?PROCESS$:+motor
attr d_roll_o ccuscaleval LEVEL:0:1:0:100
attr d_roll_o cmdIcon up:fts_shutter_up stop:fts_shutter_manual down:fts_shutter_down sonne:fts_shutter_70 nacht:fts_shutter_80
attr d_roll_o controldatapoint 4.LEVEL
attr d_roll_o event-on-change-reading PRESS.*,motor
attr d_roll_o event-on-update-reading .*
attr d_roll_o eventMap /datapoint 4.STOP true:stop/datapoint 4.LEVEL 0:down/datapoint 4.LEVEL 100:up/datapoint 4.LEVEL 35:sonne/datapoint 4.LEVEL 10:nacht/
attr d_roll_o room all,o
attr d_roll_o stateFormat { my $l = ReadingsVal ($name, "3.LEVEL", "na");;;; sprintf "%s", $l =~ /^(open|closed|na)$/ ? "$l" : "$l %";;;; }
attr d_roll_o statedatapoint 3.LEVEL
attr d_roll_o stripnumber 1
attr d_roll_o substexcl control|pct|level|motor
attr d_roll_o userReadings pct {ReadingsNum($name,'control',0)}, motor {ReadingsNum($name,'3.PROCESS',0)}
attr d_roll_o webCmd control:up:stop:down:sonne:nacht
attr d_roll_o widgetOverride control:slider,0,10,100

setstate d_roll_o 100 %
setstate d_roll_o 2018-09-05 20:02:53 1.PRESS_LONG 1
setstate d_roll_o 2018-09-05 18:19:36 1.PRESS_SHORT 1
setstate d_roll_o 2018-09-03 19:54:53 2.PRESS_LONG 1
setstate d_roll_o 2018-09-06 06:23:36 2.PRESS_SHORT 1
setstate d_roll_o 2018-09-06 11:29:27 3.LEVEL 100
setstate d_roll_o 2018-09-06 11:29:27 3.LEVEL_STATUS 0
setstate d_roll_o 2018-09-06 11:29:27 3.PROCESS 0
setstate d_roll_o 2018-09-06 11:29:27 3.SECTION 15
setstate d_roll_o 2018-09-05 16:50:07 3.SECTION_STATUS 0
setstate d_roll_o 2018-09-06 11:29:27 4.LEVEL 100
setstate d_roll_o 2018-09-06 11:29:27 4.LEVEL_STATUS 0
setstate d_roll_o 2018-09-06 11:29:27 4.PROCESS 0
setstate d_roll_o 2018-09-06 11:29:27 4.SECTION 4
setstate d_roll_o 2018-09-05 16:50:07 4.SECTION_STATUS 0
setstate d_roll_o 2018-09-06 11:29:27 5.LEVEL 0
setstate d_roll_o 2018-09-06 11:29:27 5.LEVEL_STATUS 0
setstate d_roll_o 2018-09-06 11:29:27 5.PROCESS 0
setstate d_roll_o 2018-09-06 11:29:27 5.SECTION 0
setstate d_roll_o 2018-09-05 16:50:07 5.SECTION_STATUS 0
setstate d_roll_o 2018-09-06 11:29:27 6.LEVEL 0
setstate d_roll_o 2018-09-06 11:29:27 6.LEVEL_STATUS 0
setstate d_roll_o 2018-09-06 11:29:27 6.PROCESS 0
setstate d_roll_o 2018-09-06 11:29:27 6.SECTION 0
setstate d_roll_o 2018-09-05 16:50:07 6.SECTION_STATUS 0
setstate d_roll_o 2018-09-06 11:29:27 control 100
setstate d_roll_o 2018-09-06 11:29:27 hmstate 100
setstate d_roll_o 2018-09-06 11:29:27 motor 0
setstate d_roll_o 2018-09-06 11:29:27 pct 100
setstate d_roll_o 2018-09-06 11:29:27 state 100


Aber auf Anhieb tut es so erst mal nicht.

Eine Weitere Frage ist wie erfolgt die Zuordnung der Fensterkontakte zu den Roolo's. Ich habe mehrere Fensterkontakte im Einsatz. Ich sehe das das "Modul" immer bei jedem Fensterkontaktstatus loslauft. Ich benötige jedoch nur die Kontakte von den Fenstern mit Rollo-Automat.

Viele Grüße
Heiko

CoolTux

Zitat von: tatu123 am 06 September 2018, 11:44:06
Hallo zusammen,

Ich versuch gerade das"Modul" für meine HMIP zumlaufen zu bekommen. Jetzt ergibt sich für mich die Frage welche Readings werden den benötigt.
Im Forum steht dazu zwar einiges aber nicht wirklich so viel das ich es sofort verstehe. z.B. was muss das Reading "motor" enthalten ? Motor läuft dann 1 oder 0. Oder doch die Position ?

Hier mal mein Def für den HmIP-FROLL


defmod d_roll_o HMCCUDEV HmIP-FROLL-o
attr d_roll_o userattr Auto_Modus_hoch:bei_Abwesenheit,bei_Anwesenheit,immer,aus Auto_Modus_runter:bei_Abwesenheit,bei_Anwesenheit,immer,aus Auto_hoch:Zeit,Astro Auto_runter:Zeit,Astro Auto_Abschattung_Pos:10,20,30,40,50,60,70,80,90,100 Auto_Abschattung_Pos_nach_Abschattung:-1,0,10,20,30,40,50,60,70,80,90,100 Auto_Lueften_Pos:10,20,30,40,50,60,70,80,90,100 Auto_offen_Pos:10,20,30,40,50,60,70,80,90,100 Auto_Himmelsrichtung Auto_Abschattung:ja,nein,verspaetet,bei_Abwesenheit,bei_Anwesenheit Auto_Zeit_hoch_frueh Auto_Zeit_hoch_spaet Auto_Zeit_hoch_WE_Urlaub Auto_Zeit_runter_frueh Auto_Zeit_runter_spaet Auto_Zufall_Minuten Auto_Fensterkontakt Auto_Luft_Fenster_offen:ja,nein Auto_Aussperrschutz:ja,nein Auto_Geoeffnet_Pos:10,20,30,40,50,60,70,80,90,100 Auto_Abschattung_Winkel_links:0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90 Auto_Abschattung_Winkel_rechts:0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90 Auto_Abschattung_Helligkeitssensor Auto_Abschattung_Helligkeits_Reading Auto_Abschattung_Schwelle_sonnig Auto_Abschattung_Schwelle_wolkig Auto_Abschattung_Wartezeit Auto_Abschattung_min_elevation Auto_Abschattung_min_Temp_aussen Auto_Abschattung_Sperrzeit_nach_manuell Auto_Offset_Minuten_morgens Auto_Offset_Minuten_abends Auto_Abschattung_Sperrzeit_vor_Nacht Auto_Abschattung_schnell_oeffnen:nein,ja Auto_Abschattung_schnell_schliessen:nein,ja Auto_Fensterkontakttyp:twostate,threestate Auto_Pos_Befehl Auto_geschlossen_Pos Auto_Gaestezimmer:nein,ja Auto_Pos_nach_KomfortOeffnen:-2,-1,0,10,20,30,40,50,60,70,80,90,100 Rollladensteuerung:nein,ja Auto_Frostschutz:aus,morgens Auto_Partymodus:ja,nein
attr d_roll_o Auto_Abschattung ja
attr d_roll_o Auto_Abschattung_Helligkeits_Reading brightness
attr d_roll_o Auto_Abschattung_Helligkeitssensor WUweather
attr d_roll_o Auto_Abschattung_Pos 30
attr d_roll_o Auto_Abschattung_Pos_nach_Abschattung -1
attr d_roll_o Auto_Abschattung_Schwelle_sonnig 200
attr d_roll_o Auto_Abschattung_Schwelle_wolkig 110
attr d_roll_o Auto_Abschattung_Sperrzeit_nach_manuell 20
attr d_roll_o Auto_Abschattung_Sperrzeit_vor_Nacht 45
attr d_roll_o Auto_Abschattung_Wartezeit 20
attr d_roll_o Auto_Abschattung_Winkel_links 90
attr d_roll_o Auto_Abschattung_Winkel_rechts 85
attr d_roll_o Auto_Abschattung_min_Temp_aussen 18
attr d_roll_o Auto_Aussperrschutz nein
attr d_roll_o Auto_Fensterkontakttyp twostate
attr d_roll_o Auto_Frostschutz aus
attr d_roll_o Auto_Geoeffnet_Pos 100
attr d_roll_o Auto_Himmelsrichtung 245
attr d_roll_o Auto_Lueften_Pos 30
attr d_roll_o Auto_Luft_Fenster_offen ja
attr d_roll_o Auto_Modus_hoch immer
attr d_roll_o Auto_Modus_runter immer
attr d_roll_o Auto_Offset_Minuten_abends 0
attr d_roll_o Auto_Offset_Minuten_morgens 0
attr d_roll_o Auto_Pos_Befehl control
attr d_roll_o Auto_Zeit_hoch_WE_Urlaub 09:30:00
attr d_roll_o Auto_Zeit_hoch_frueh 07:30:00
attr d_roll_o Auto_Zeit_hoch_spaet 09:00:00
attr d_roll_o Auto_Zeit_runter_frueh 16:30:00
attr d_roll_o Auto_Zeit_runter_spaet 21:30:00
attr d_roll_o Auto_Zufall_Minuten 20
attr d_roll_o Auto_hoch Astro
attr d_roll_o Auto_offen_Pos 100
attr d_roll_o Auto_runter Astro
attr d_roll_o IODev d_ccu
attr d_roll_o Rollladensteuerung ja
attr d_roll_o ccureadingfilter (LEVEL|PROCESS|SECTION|PRESS)
attr d_roll_o ccureadingname ^(.+\.)?PROCESS$:+motor
attr d_roll_o ccuscaleval LEVEL:0:1:0:100
attr d_roll_o cmdIcon up:fts_shutter_up stop:fts_shutter_manual down:fts_shutter_down sonne:fts_shutter_70 nacht:fts_shutter_80
attr d_roll_o controldatapoint 4.LEVEL
attr d_roll_o event-on-change-reading PRESS.*,motor
attr d_roll_o event-on-update-reading .*
attr d_roll_o eventMap /datapoint 4.STOP true:stop/datapoint 4.LEVEL 0:down/datapoint 4.LEVEL 100:up/datapoint 4.LEVEL 35:sonne/datapoint 4.LEVEL 10:nacht/
attr d_roll_o room all,o
attr d_roll_o stateFormat { my $l = ReadingsVal ($name, "3.LEVEL", "na");;;; sprintf "%s", $l =~ /^(open|closed|na)$/ ? "$l" : "$l %";;;; }
attr d_roll_o statedatapoint 3.LEVEL
attr d_roll_o stripnumber 1
attr d_roll_o substexcl control|pct|level|motor
attr d_roll_o userReadings pct {ReadingsNum($name,'control',0)}, motor {ReadingsNum($name,'3.PROCESS',0)}
attr d_roll_o webCmd control:up:stop:down:sonne:nacht
attr d_roll_o widgetOverride control:slider,0,10,100

setstate d_roll_o 100 %
setstate d_roll_o 2018-09-05 20:02:53 1.PRESS_LONG 1
setstate d_roll_o 2018-09-05 18:19:36 1.PRESS_SHORT 1
setstate d_roll_o 2018-09-03 19:54:53 2.PRESS_LONG 1
setstate d_roll_o 2018-09-06 06:23:36 2.PRESS_SHORT 1
setstate d_roll_o 2018-09-06 11:29:27 3.LEVEL 100
setstate d_roll_o 2018-09-06 11:29:27 3.LEVEL_STATUS 0
setstate d_roll_o 2018-09-06 11:29:27 3.PROCESS 0
setstate d_roll_o 2018-09-06 11:29:27 3.SECTION 15
setstate d_roll_o 2018-09-05 16:50:07 3.SECTION_STATUS 0
setstate d_roll_o 2018-09-06 11:29:27 4.LEVEL 100
setstate d_roll_o 2018-09-06 11:29:27 4.LEVEL_STATUS 0
setstate d_roll_o 2018-09-06 11:29:27 4.PROCESS 0
setstate d_roll_o 2018-09-06 11:29:27 4.SECTION 4
setstate d_roll_o 2018-09-05 16:50:07 4.SECTION_STATUS 0
setstate d_roll_o 2018-09-06 11:29:27 5.LEVEL 0
setstate d_roll_o 2018-09-06 11:29:27 5.LEVEL_STATUS 0
setstate d_roll_o 2018-09-06 11:29:27 5.PROCESS 0
setstate d_roll_o 2018-09-06 11:29:27 5.SECTION 0
setstate d_roll_o 2018-09-05 16:50:07 5.SECTION_STATUS 0
setstate d_roll_o 2018-09-06 11:29:27 6.LEVEL 0
setstate d_roll_o 2018-09-06 11:29:27 6.LEVEL_STATUS 0
setstate d_roll_o 2018-09-06 11:29:27 6.PROCESS 0
setstate d_roll_o 2018-09-06 11:29:27 6.SECTION 0
setstate d_roll_o 2018-09-05 16:50:07 6.SECTION_STATUS 0
setstate d_roll_o 2018-09-06 11:29:27 control 100
setstate d_roll_o 2018-09-06 11:29:27 hmstate 100
setstate d_roll_o 2018-09-06 11:29:27 motor 0
setstate d_roll_o 2018-09-06 11:29:27 pct 100
setstate d_roll_o 2018-09-06 11:29:27 state 100


Aber auf Anhieb tut es so erst mal nicht.

Eine Weitere Frage ist wie erfolgt die Zuordnung der Fensterkontakte zu den Roolo's. Ich habe mehrere Fensterkontakte im Einsatz. Ich sehe das das "Modul" immer bei jedem Fensterkontaktstatus loslauft. Ich benötige jedoch nur die Kontakte von den Fenstern mit Rollo-Automat.

Viele Grüße
Heiko

Da Du gerade erst startest, vielleicht hast Du Lust mit zu testen.
https://forum.fhem.de/index.php/topic,90751.0.html

Hier entsteht ein richtig Modul von Bernd und mir auf Basis der Logik von Bernd. Schau einfach mal rein  ;)
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

Chris8888

Zitat von: tatu123 am 06 September 2018, 11:44:06
Eine Weitere Frage ist wie erfolgt die Zuordnung der Fensterkontakte zu den Roolo's. Ich habe mehrere Fensterkontakte im Einsatz. Ich sehe das das "Modul" immer bei jedem Fensterkontaktstatus loslauft. Ich benötige jedoch nur die Kontakte von den Fenstern mit Rollo-Automat.

Viele Grüße
Heiko

Hi,

Motor wird wie folgt definiert:
ccureadingname ^(.+\.)?DIRECTION$:+motor
-> Direction noch im Filter freigeben.

Da ich den FROLL nicht kenne, die anderen IP-Rollos nutzen Direction. Hat der das nicht?

Frage 2:
Einfach im jeweiligen Rolle per Attribute zuweisen: Auto_Fensterkontakt

Wenn du die IP-Kontakte nutzt, achte auf die Zuweisung des SubTypes per User-Reading: subType:threeStateSensor und dann als Attr hinterlegen.

VG
Christian
FHEM 6.0 auf einem PI4 mit div. Homematic-Komponenten, Alexa, Tablet-UI und Homebridge...und läuft einfach. Erweitert mit CCU3 und Homematic-IP...und läuft immer noch.

tatu123

Zitat
Motor wird wie folgt definiert:
ccureadingname ^(.+\.)?DIRECTION$:+motor
-> Direction noch im Filter freigeben.

Da ich den FROLL nicht kenne, die anderen IP-Rollos nutzen Direction. Hat der das nicht?

Jupp hat er nicht. Daher habe ich Motor auf PROCESS gesetzt. Was sollte in DIRECTION drin stehn ? Geht es auch ohne ?

Zitat
Frage 2:
Einfach im jeweiligen Rolle per Attribute zuweisen: Auto_Fensterkontakt

Wenn du die IP-Kontakte nutzt, achte auf die Zuweisung des SubTypes per User-Reading: subType:threeStateSensor und dann als Attr hinterlegen.

Hier habe ich "nur" die normalen Fensterkontakte. Aber gut zu wissen.

@CoolTux
Gute Projekt. Hört sich gut an. Ich komm dann mal rüber.  ;)

Danke