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

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

Vorheriges Thema - Nächstes Thema

Frank_Huber

Zitat von: RpiEinOzean am 14 Juli 2020, 17:05:50
es sind 2 Relais verbaut, das eine für AUF, das andere für AB
OT, aber dennoch wicbtig:

Ich hoffe Du hast die gegenseitig verriegelt?
Oder kannst du auf und ab gleichzeitig bestromen?
Das könnte dann den Motor töten.

RpiEinOzean

@Frank_Huber
Danke für das Drüberschauen.
Ja, ich habe die Relais selbstverständlich gegeneinander verriegelt.
Öffner vom ersten Relais auf Eingang des zweiten Relais.
Bringt bei mir der Beruf schon mit sich.

Schönen Gruß
3 Raspi2 und 7 Raspi3 ca. 35 FAM14, ca. 300 FSR14-2

RpiEinOzean

3 Raspi2 und 7 Raspi3 ca. 35 FAM14, ca. 300 FSR14-2

flummy1978

Holla,

Zitat von: RpiEinOzean am 14 Juli 2020, 17:05:50
@flummy1978

Meintest Du dieses list?

Genau das :) (noch besser wäre es das Device womit der Rolladen gesteuert wird - MQTT auch ? so ist es ein wenig schätzen und raten - zumal ich mit DOIF irgendwie wohl nie warm werde *g* ):

Dir fehlen die Befehle rl_commandDown, rl_commandStop,  rl_commandUp. (bzw in Deinem Fall commandstopUp und commandstopDown )  D.h Dein ROLLO Modul weiß zwar was es hat und was es macht aber nicht womit. Das bedeutet:

das muss noch alles in Deine Attribute

rl_commandDown set Wohnz_Jalousie_04_121 3
rl_commandStopDown set Wohnz_Jalousie_04_121 4
rl_commandUp set Wohnz_Jalousie_04_121 1
rl_commandStopUp set Wohnz_Jalousie_04_121 2
rl_secondsDown 16*
rl_secondsUp 16*

* Wenn ich richtig erkannt habe, dass die Fahrzeit deines Rolladens  16 Sek ist.

Ansonsten einfach mal anschauen, was die Befehle angeht. KernSani hat das Modul super verfasst, so dass in den meisten Fällen eine kurze Erklärung zum Befehl kommt. Wenn nicht, Wiki und Commandref, erklären auch sehr sehr viel :)

Ansonsten bei Fragen... fragen  8)

Viele Grüße
Andreas

D3ltorohd

Zitat von: Frank_Huber am 14 Juli 2020, 15:14:18
Dann würde ich die Antennen optimieren oder den Sender umsetzen.

Sorry OFF TOPIC :

Da werkelt ja nen CUL Stick, gibt es denn da alternativen, wo stärker senden ? Wüsste nicht das Signalduino auch woanders läuft.
Das komische ist, es lief dort min. 1,5 Jahre ohne eine Fehlfahrt.
Base : Intel NUC Debian 9, FHEM aktuell || Zigbee (Coordinator FW Z-Stack 1.2 default Koenkk) || MaxCUL (culfw V 1.67 nanoCUL868) || SIGNALduino 433MHz (V 3.3.2.1-rc8 ) || Shelly s1

Frank_Huber

evtl nen Wlan CUL und anderst platzieren.
evtl bringt nen Antennen-Tausch auch schon was.

Im Notfall gibts imho auch im CUL nen Attribut das die Befehlsaussendung mehrfach macht.

RpiEinOzean

@flummy1978
Vielen Dank für die Antwort.
Habe die attr angelegt.
Nun funktioniert es mit klicken auf die Icons auch sehr gut.


Der Vollständigkeithalber auch das list vom MQTT Device:
Internals:
   FUUID      5ec7d94a-f33f-1ac6-b037-fdc341c1861a2248
   IODev      Mosquitto
   NAME       Wohnz_Jalousie_04_121
   NR         1478
   STATE      outgoing publish sent
   TYPE       MQTT_DEVICE
   READINGS:
     2020-07-15 17:10:18   state           4
     2020-07-15 17:10:18   transmission-state outgoing publish sent
   message_ids:
   publishSets:
     :
       topic      Wohnz_Jalousie_04_121
       values:
         1
         2
         3
         4
   sets:
     1         
     2         
     3         
     4         
   subscribe:
   subscribeExpr:
   subscribeQos:
Attributes:
   IODev      Mosquitto
   group      Jalousie_04
   publishSet 1 2 3 4 Wohnz_Jalousie_04_121
   room       Whz
   stateFormat transmission-state
   webCmd     1:2:3:4


Wie setze ich es aber z.B. in meinem DOIF (oder etwas anderem mit dem man Bedingungen zum Rauf-Runterfahren realisieren kann, um?
di_Jalousie_4_automatisch DOIF ([FAH60_Terasse:brightness]>9000 and [08:05:00-21:00:00] and ([Terasse_Aussen_Temp_Feucht:temperature] > 26)) (set Wohnz_Jalousie_04_121 3; sleep 16; set Wohnz_Jalousie_04_121 4) DOELSEIF ([FAH60_Terasse:brightness]>50 and [07:01:00-08:02:00]) (set Wohnz_Jalousie_04_121 1) DOELSEIF ([FAH60_Terasse:brightness]<600 and [18:00:00-22:30:00]) (set Wohnz_Jalousie_04_121 3)

Es geht sicher NICHT??, einfach in der vorhandenen DOIF die Befehle rl_commandDown; rlcommandStopDown   usw. einzugeben . . .
Ich stehe mal wieder wie der Ochs vor dem Berg.  >:(

Aber vielen Dank für die Unterstützung.
Vielleicht sehe ich es einfach nicht . . .

Schöne Grüße
3 Raspi2 und 7 Raspi3 ca. 35 FAM14, ca. 300 FSR14-2

flummy1978

Zitat von: RpiEinOzean am 15 Juli 2020, 17:26:55

Es geht sicher NICHT??, einfach in der vorhandenen DOIF die Befehle rl_commandDown; rlcommandStopDown   usw. einzugeben . . .
Ich stehe mal wieder wie der Ochs vor dem Berg.  >:(

Aber vielen Dank für die Unterstützung.
Vielleicht sehe ich es einfach nicht . . .

Ich unterstütze und helfe sehr gern, die komplette Arbeit übernehmen, mache ich sehr ungern bis gar nicht ;)

Also: Welche Erfahrungen hast du mit FHEM oder den Modulen generell? (das wäre vorne vor nicht unwichtig um zu wissen, welchen Ansatz Du selbst verfolgst), darüber hinaus vollkommen wichtig: Was hast Du denn bisher aus der Modul Doku gelesen und (nicht) verstanden ?

Es gibt bestimmte Set Befehle vom ROLLO Modul, die entsprechendes setzen. Diese solltest Du ab jetzt immer nutzen - Egal ob die Fahrt manuell, DOIF anderes Modul (ASC zb) oder sonst was erfolgt. Damit es für Dich vom Verständnis her einfacher ist:
Wenn Dein Rolladen über das ROLLO Modul fährt. Solltest Du den Befehl der in rlCommandUp / down usw steht, NIE wieder wo anders benutzen. Händisch nicht, in nem Notify, DOIF nicht oder sonst wo auch nicht, weil dann das ROLLO Modul eben nicht mitbekommt, dass der Rolladen gefahren ist und die Position  / Ansteuerung nicht stimmt.

Das bedeutet, Du musst die SET befehle setzen die Dein "neues" Rollo Device hat https://wiki.fhem.de/wiki/ROLLO#Set

VG
Andreas

RpiEinOzean

@ flummy1978

Ich habe es nun hinbekommen. Danke für den Schubs.

define di_Jalousie_4_automatisch DOIF ([FAH60_Terasse:brightness]>9000 and [08:05:00-21:00:00] and ([Terasse_Aussen_Temp_Feucht:temperature] > 26)) (set Whz_Jalousie_04 pct 55) DOELSEIF ([FAH60_Terasse:brightness]>50 and [07:01:00-08:02:00]) (set Whz_Jalousie_04 open) DOELSEIF ([FAH60_Terasse:brightness]<600 and [18:00:00-22:30:00]) (set Whz_Jalousie_04 closed)

Man sieht so manches mal den Wald vor lauter Bäumen nicht. Da ist was wahres dran.  :D
In der Wiki steht alles was man benötigt. Man muss es nur sehen können.  ::)

Danke
und noch einen schönen Gruß
3 Raspi2 und 7 Raspi3 ca. 35 FAM14, ca. 300 FSR14-2

flummy1978

Zitat von: RpiEinOzean am 16 Juli 2020, 17:37:46
@ flummy1978
Ich habe es nun hinbekommen. Danke für den Schubs.

Es klingt immer erstmal "böse" wenn einem einer nicht alles vorsagt .. aber im Nachhinein ist es für jeden besser. Du lernst mehr und die die helfen (wollen) werden nicht 1000fach mit den gleichen Fragen bombardiert, die bereits mehrmals durchgekaut wurden und auch noch im Wiki und Commandref zu finden sind :)

Freut mich, dass Du es hinbekommen hast, dass es zufriedenstellend läuft :)

Viele Grüße
Andreas

e-t-h

Hallo an die Macher,
vielen Dank für das Modul, ich probiere es gerade aus. Was mir auffällt ist dass die Positionen des Rollos (bei mir) nicht erwartungsgemäß angefahren werden.
Habe für rl_secondsDown/Up der Einfachheit halber mal jeweils 32 sec. drin , und nur noch die rl_switchTime und rl_reactionTime auf 1 sec gestellt.
50% von oben nach unten sind eher 75..80%, anders herum eher 65..70. Mir geht es jetzt nicht um die ca. 10% Differenz, mir geht es darum dass es in beiden Fällen weit über 50% sind. Ich habe mal die Zeiten gemessen, die sind in beide Richtungen ca. zwischen 16 und 17 sec, also ca. 50%.
Der Zusammenhang zwischen der Zeit und dem Weg ist aber nicht linear, weil sich ja der Umfang des Paketes ändert. Ich gehe mal davon aus, dass dies nicht berücksichtigt wird? Wäre ja auch unterschiedlich von Installation zu Installation.
Liege ich hiermit richtig?
Wenn ja, wie gehen andere damit um? Wäre es nicht ein Ansatz einfach die Zeiten für die 10% Schritte zu hinterlegen (oder sowas in dieser Art) und ggf. für die Differenzen zwischen Up/Down zu interpolieren?
Wenn nicht, kann mir jemand auf die Sprünge helfen?
Dank schon mal.
e-t-h

flummy1978

Hey.

Zitat von: e-t-h am 30 Juli 2020, 15:06:23
Habe für rl_secondsDown/Up der Einfachheit halber mal jeweils 32 sec. drin , und nur noch die rl_switchTime und rl_reactionTime auf 1 sec gestellt.
50% von oben nach unten sind eher 75..80%, anders herum eher 65..70. Mir geht es jetzt nicht um die ca. 10% Differenz, mir geht es darum dass es in beiden Fällen weit über 50% sind. Ich habe mal die Zeiten gemessen, die sind in beide Richtungen ca. zwischen 16 und 17 sec, also ca. 50%.

bin zwar nicht der Macher oder Autor aber ich versuche mal mein Glück:

Wie lange braucht das Rollo tatsächlich bis es von Oben nach Unten einmal komplett durch gefahren ist ?
Zählt für Dich bereits das geschlossene Rollo als geschlossen oder erst wenn alle Lücken restlos zu sind ?
Wie ist excessTop / Bottom eingestellt ?
und und und ... Sprich ein List wäre hilfreich :)

Nur zum Verständniss: Ich kann mir nicht vorstellen, dass die Paketgröße beachtet wird (wie Du schon selbst festgestellt hast, ist es von Installation zu Installation unterschiedlich. Aber was sehrwohl beachtet wird, ist vor allem rl_excessTop, rl_excessBottom, rl_reactionTime. Angenommen Du machst bsw rl_excessTop 2, rl_excessBottom3, rl_reactionTime 2 und Dein Rollo reagiert aber in 0,2 statt 2 Sekunden dann fährt Dein Rollo von Unten nach Oben 4,8 Sek und von oben nach Unten 3,8 Sek, ohne dass es in der Gesamtfahrzeit (rl_secondsDown (Up) ) auftauchen darf, wenn es EINIGERMAßEN passen soll mit der Position. Um es verständlicher auszudrücken:

Rollo ist oben, Tastendruck nach unten + rl_reactionTime +
---------- rl_excessTop +
----------| rl_secondsDown + ( Hier ist Zeitpunkt wo Rolladen komplett geschlossen aber noch Lichtlücken aufweist )
---------- rl_excessBottom => Rollo komplett geschlossen inkl Lücken etc
Das sind die Zeiten die komplett eingestellt sein müssen. Erst dann passt es EINIGERMAßEN. Wir haben leider keine Weggeber in den Rolläden, sonst wäre eine Positionierung wesentlich einfacher. So stellt man quasi mit einem Riesen Schraubendreher eine Uhrenschraube ein  ::)

rl_switchTime ist lediglich wenn man nach unten fährt und dann nach oben drückt, wie lange es pausiert. Btw: Die Hilfe die hier vom Modulautor eingebaut wurde, finde ich persönlich sehr gut und sehr hilfreich  :)

Ich hoffe das hilft (und verwirrt nicht mehr als gewollt) ;)

Viele Grüße
Andreas

Frank_Huber

Zitat von: flummy1978 am 03 August 2020, 02:03:15
----------| rl_secondsDown + ( Hier ist Zeitpunkt wo Rolladen komplett geschlossen aber noch Lichtlücken aufweist )
---------- rl_excessBottom => Rollo komplett geschlossen inkl Lücken etc
Moin Moin,

Das verstehe ich anderst:
rl_secondsDown --> Zeit bis alle Lücken geschlossen sind.
rl_excessBottom --> Aufschlag bis der Rollo seine Endposition erreicht hat.

siehe auch hier: https://wiki.fhem.de/wiki/ROLLO#Attribute

flummy1978

Moinsen :)

Zitat von: Frank_Huber am 03 August 2020, 08:05:09
Moin Moin,

Das verstehe ich anderst:
rl_secondsDown --> Zeit bis alle Lücken geschlossen sind.
rl_excessBottom --> Aufschlag bis der Rollo seine Endposition erreicht hat.

siehe auch hier: https://wiki.fhem.de/wiki/ROLLO#Attribute

Da werden sich jetzt sicher die Geister scheiden. Ich bin der Meinung:
rl_secondsDown attr <Rollo-Device> rl_secondsDown <number> Sekunden zum hochfahren (hier ist übrigens noch n Fehler, es müsste doch runter heissen ? - Ist im Wiki auch so)


Die Lücken werden niemals zu sein bevor das Rollo nicht aufgesetzt hat - Aber für eine wie ich oben geschrieben habe "halbwegs" Berechnung der Position muss  man afaik mit den offenen Lücken rechnen, weil für das Schließen der Lücken noch mal ca 3 Sek Fahrzeit benötigt werden. Der Rolladen hat aber bei der 40,50.60 usw Position die Lücken immer offen hat. Würde man jetzt also die Laufzeit bis Lücken geschlossen nehmen (z.b. 20 Sek) wären 50 % für das Modul => 10 sek. Ohne die Excess bottom Zeit würde es aber auf 50 von null bis vollständig geschlossen fahren -> das ist weit mehr als 50 % von der Fensterhöhe....**

**In meinem Beispiel ist 0 oben 100 komplett geschlossen

Ist jetzt sehr kompliziert geschrieben, aber anders fällt es mir nicht ein, wie ich erklären könnte, was ich meine  :-\

VG
Andreas

Frank_Huber

Ist ja auch irgendwie eine Frage wie man es regeln will.

Wie fährst Du bei Dir z.B. von zu auf Schlitz? hat ja dann beides die gleiche pct.
andererseits ist deine Position genauer.

Ich fahre meist nur "auf" "zu" oder "Schlitz" (Schlitz sind bei mir je nach Rollo 70 oder 80%)
von daher ist mir eine eventuell falsche 50% Position egal.