Neues Modul: Rolladensteuerung

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

Vorheriges Thema - Nächstes Thema

sparkiie

Hallo,
die Einrichtung der Rollos habe ich ziemlich genau durchgeführt. Die Auf- und Abfahrzeiten etc. habe ich entsprechend hinterlegt.
Soweit funktionert es auch.
Die Steuerung erfolgt (fast) ausschließlich über FHEM. Wir haben aber noch die Fernbedienung rumliegen, die auch zwar selten aber immer noch benutzt wird. Das Signal vom nanoCUL kommt auch hin und wieder nicht an, sodass ich dann per Hand noch einmal mit der Fernbedienung den Befehl auslöse.

Ich denke die beste Lösung wäre das ReadingsAge (hör ich heute zum ersten Mal) zwischen 1. und 2. Befehl auszuwerten und wenn dieses die normale Laufzeit des Rollos nicht übersteigt (bei mir 28 Sekunden), dann den Befehl extern stop zu senden. Ansonsten ist das Rollo im FHEM ja aufgrund der Zeit sowieso gestoppt.

Programmiert bekomme ich das aufgrund meiner noch dürftigen Kenntnisse allerdings nicht!

87insane

#676
Auch wenn ich das in diesem Forum hier hasse !!! Es ist immer gut einfach mal an zu fangen und sich rein zu lesen und dann mit dem Kram einfach mal in die Runde zu fragen. Hier sind super viele Leute die echt ne Menge Ahnung haben. Aber alles durch diese Leute machen zu lassen ist am Ende kein lernen. Ich heule selber oft genug rum hier weil keiner einem was fertiges gibt. ABER ich durfte lernen und kann dir vllt deswegen sogar helfen.

Leg mal los und lies dich ein wenig ein.
Mein Tipp: schreib dir den Vorgang an sich auf ein Blatt Papier. Dabei fallen dir schon Dinge auf, die du sonst ggf übersehen hättest oder die Probleme verursachen könnten.
Danach geh hin und Versuch es in Code zu fassen. Mit diesem landest du dann wieder hier und ich bin mir sicher, sofort werden diverse Leute helfen ;)

sparkiie

Ich bin zwar gerade nicht zu Hause, habe mir aber dennoch ein paar Gedanken gemacht. Leider jedoch funktioniert es nicht...

define Rollo1manhstop notify Rollo1:move_up && ReadingsAge('IT_0FFF00000F','on',0) < ReadingsAge('Rollo1','move_up',0)  set Rollo1 extern stop

pc1246

Zitat von: sparkiie am 16 August 2018, 20:54:59
Ich bin zwar gerade nicht zu Hause, habe mir aber dennoch ein paar Gedanken gemacht. Leider jedoch funktioniert es nicht...

define Rollo1manhstop notify Rollo1:move_up && ReadingsAge('IT_0FFF00000F','on',0) < ReadingsAge('Rollo1','move_up',0)  set Rollo1 extern stop
Moin
Wenn Du Dir die Commandref von notify ansiehst, dann steht da nichts von dem, was du da vorhast!
Wie 87insane schon schrieb, hilft nur lesen, probieren und verstehen. In den seltensten Faellen bekommst Du hier Loesungen vorgesetzt!
Gruss Christoph
HP T610
Onkyo_AVR;3 Enigma2; SB_Server ; SB_Player; HM-USB mit 15 HM-CC-RT-DN, 3 HM_WDS10_TH_O, 6 HM-Sec-SCo, 4 HM-Sec-MDIR-2, 1 HM-Sen-MDIR-O-2, 8 Ferion 5000 OW ; PhilipsTV; 4 harmony hub; Jeelink mit 9 PCA301; Somfy; S7-300; 3 LGW; HUE; HM-IP auf Charly

87insane

Moin moin,

was ich nicht verstehe, warum weichst du vom DOIF ab?
Ich selber habe es auch mit notify gemacht aber ein komplettes sieht z.B. so aus:

define az_rollo_manuell_auf notify ESPEasy_az_rollo:strom_output_hoch:.* {\
if ($EVTPART1 eq "on" && Value("az_rollo") ne "drive-up") {\
  fhem("set az_rollo extern open");;;;\
}\
elsif ($EVTPART1 eq "off" && Value("az_rollo") eq "drive-up") {\
  fhem("set az_rollo extern stop");;;;\
}\
}


Hier müsste dir auffallen, dass das notify auf eine Sache reagiert und danach wird geprüft - Ist das && das der Fall, dann mach dies und das WENN NICHT dann mach eben dies und jenes.
Auch wenn du nicht programmieren kannst (ich übrigens auch nicht), solltest du hieraus deine Abfrage anpassen können.

sparkiie

#680
Ich habe die Erkennung des externen öffnens und schließens des Rollos per Notify eingerichtet. Damit komm ich besser zurecht.

Ich taste mich jetzt mal langsam ran möchte zunächst die Erkennung mit einer Bedingung einrichten, was aber nicht klappen will:

define Rollo1_ext_up notify IT_0FFF00000F:on if Value("Rollo1") ne "drive-up" set Rollo1 extern open

87insane

Da ich nicht weiß ob oder wie dein IT Events erzeugt, mach mal :on weg. Dann reagiert das notify zwar bei allem was von dem gerät kommt aber du hast es zum heran testen einfacher.

sparkiie

#682
Ich verstehe die Logik hinter dem notify nicht.
Ich habe ein notify zum externen öffnen und schließen, das auch funktioniert
IT_0FFF00000F:off set Rollo1 extern closed

Aus dem Wiki habe ich mir folgendes notify zusammengebastelt, das funktioniert jedoch nicht?!?
IT_0FFF00000F:on
IF ([Rollo1] ne "drive-up")
(set Rollo1 extern open)ELSE
(set Rollo1 extern stop)

pc1246

Zitat von: sparkiie am 19 August 2018, 16:46:58
Ich verstehe die Logik hinter dem notify nicht.
Ich habe ein notify zum externen öffnen und schließen, das auch funktioniert
IT_0FFF00000F:off set Rollo1 extern closed

Aus dem Wiki habe ich mir folgendes notify zusammengebastelt, das funktioniert jedoch nicht?!?
IT_0FFF00000F:on
IF ([Rollo1] ne "drive-up")
(set Rollo1 extern open)ELSE
(set Rollo1 extern stop)

Moin
Das ist jetzt mehr als OT, bitte im Anfaengerbereich ein Thema dazu eroeffnen. Dann wird Dir auch geholfen. Und vorher nochmal ein wenig lesen, Einsteigerdoc und Commandref!
IF ist uebrigens nicht gleich if !
Gruss Christoph
HP T610
Onkyo_AVR;3 Enigma2; SB_Server ; SB_Player; HM-USB mit 15 HM-CC-RT-DN, 3 HM_WDS10_TH_O, 6 HM-Sec-SCo, 4 HM-Sec-MDIR-2, 1 HM-Sen-MDIR-O-2, 8 Ferion 5000 OW ; PhilipsTV; 4 harmony hub; Jeelink mit 9 PCA301; Somfy; S7-300; 3 LGW; HUE; HM-IP auf Charly

365Bit

Hal­li­hal­lo,

Ich bin noch recht neu hier und hätte eine Frage zum homebridgeMapping und zwar steuere ich meine Rolladenmotoren per Relais an. Dies funktioniert auch auf der Web-Oberfläche ohne Probleme, nur werden diese obwohl sie im Raum Homebridge sind nicht wie die anderen Geräte auf der HomeKit App angezeigt. Hier im Forum hat der Nutzer JulianT sein homebridgeMapping geteilt [Seite 40], welches ich übernommen habe. Da ich bisher nichts anderes dazu gefunden habe und habe damit nun das selbe Problem, jetzt werden die Geräte zwar angezeigt aber die App übermittelt keine Befehle. Ich hoffe ihr könnt mir weiterhelfen.

LG 365Bit

Lanhydrock

Hallo und vielen Dank für das tolle Modul !

Wir nutzen es für Roto Dachfenster mit Außenrollos, alles gut.

Eine Anforderung haben wir i.d.Zshg. noch nicht lösen können.
Die Roto i8 Dachfenster sind per HM-LC-SW4-WM eingebunden.
Wir möchten nun nicht nur die elektrischen Aussenrolladen, sondern auch das elektrische Fenster selbst mit ROLLO abbilden, Fenster auf und zu klappt auch schon gut.

Allerdings muss das Fenster beim geschlossenen Zustand erst die Verriegelungen lösen und das dauert ein paar Sekunden, so das gilt:

  • geschlossen > 10% dauert eine Zeit t-rüst plus t-const
  • 10% > 20% sowie 80% > 90% dauern nur eine Zeit t-const
Mit reactionTime addiert er ja unabhängig von der Position eine bestimmte Zeit.

Habt Ihr hier eine Idee? Danke im Voraus.
- FHEMs in VM @ Mac mini & RPi, fhem2fhem
- Homematic, 1wire, Hue & Lightify & Tradfri & Xiaomi & Oblo via zigbee2mqtt/Conbee II, Rademacher DuoFern, Roto i8 & Hunter Ventile via HM-LC-Sw4-DR
- Interdomo GBK (via Siemens ozw672; dank HTTPMOD, lest Post #33765)
- homebridge(-fhem), Grafana, DBLog

Markus M.

Zitat von: Lanhydrock am 30 August 2018, 11:58:06Mit reactionTime addiert er ja unabhängig von der Position eine bestimmte Zeit.
Habt Ihr hier eine Idee? Danke im Voraus.
excessBottom?!
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7590/7580/546E

HM Aktor/Sensor/Winmatic/Keymatic/Thermostat, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony, Siro ERB15LE
https://paypal.me/mm0

Lanhydrock

#687
Hallo Markus, vielen Dank für Deine Idee.

excessBottom packt das aber ja an die Fahrt von oben nach unten dran:
additional time the shutter need from visible closed position to the end position

Da der Code aber so nachvollziehbar programmiert wurde, so kommt man,- wenn man die Dokumentation auslässt  :) ,- mit 2 zusätzlichen Zeilen in Perl aus...

in der Sub ROLLO_Initiatlize
    . " reactionBottomTime"

und in der Sub ROLLO_calculateDriveTime
  $drivetime += AttrVal($name,'reactionBottomTime',0) if($time > 0 && $steps > 0 && $oldpos == 100);


Problem gelöst, danke nochmals...
- FHEMs in VM @ Mac mini & RPi, fhem2fhem
- Homematic, 1wire, Hue & Lightify & Tradfri & Xiaomi & Oblo via zigbee2mqtt/Conbee II, Rademacher DuoFern, Roto i8 & Hunter Ventile via HM-LC-Sw4-DR
- Interdomo GBK (via Siemens ozw672; dank HTTPMOD, lest Post #33765)
- homebridge(-fhem), Grafana, DBLog

MarkusHiba

Hallo,

kann man den oben genannten Code bei github reinstellen plus die dazugehörige Doku

Grüße

MarkusHiba

Gesendet von meinem G8141 mit Tapatalk

Mit freundlichen Grüßen

MarkusHiba

Markus M.

Zitat von: Lanhydrock am 30 August 2018, 23:00:51
Hallo Markus, vielen Dank für Deine Idee.
excessBottom packt das aber ja an die Fahrt von oben nach unten dran:
additional time the shutter need from visible closed position to the end position

War doch schon genau das was du brauchst!?
Das sind die zusätzlichen Sekunden, die dein Fenster jeweils zwischen geschlossen und verriegelt braucht.
Diese Zeit kommt immer nur dann drauf, wenn von komplett geschlossen oder zu komplett geschlossen gefahren wird.
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7590/7580/546E

HM Aktor/Sensor/Winmatic/Keymatic/Thermostat, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony, Siro ERB15LE
https://paypal.me/mm0