Moin,
bisher hatte ich für meine Rollos alles einzelne DOIF, um rauf/runter/Beschattung zu steuern. Das wurde aber mit der Zeit recht komplex, und so teste ich aktuell das Modul AutoShuttersControl.
Für die Steuerung meiner Hifi-Komponenten hab ich eine Logitech Harmony, auch eingebunden in fhem. Die Sonnenstands-Beschattung hätte ich nun gerne so, dass bei allen Aktivitäten, bei denen der TV läuft und wenn die Einstrahlung über einem Wert x ist, der Rolladen in die Beschattungsposition fährt.
Wie gehe ich das am besten an? Das Modul kann das doch nicht schon von alleine, oder? Ich befürchte, dass sich ggf. das Modul und ein DOIF, dass die TV-Beschattung übernimmt, in die Quere kommen.
Danke für Hinweise,
viele Grüße
Michael
Das musst Du über eine eigene Logik steuern. DOIF zum Beispiel.
Diese Logik kann dann das/die einzelne Rollo/s ASC techn. deaktivieren.
set ASC_ROLLO_DEVICE shutterASCenableToggle ROLLONAME
Ok, danke.
Wäre es ein Vorschlag, in einer zukünftigen Version ein Attribut (z. B. "ASC_Shading_External") einzubauen, bei dem man ein DEVICENAME[:READING] angibt, über das mittels der Werte 0/1 die Beschattung ermöglicht wird? Ggf. sogar mit einer eigenen Position "ASC_Shading_Pos_External". Dann würde die Logik des Moduls erhalten bleiben und man hätte die Möglichkeit der Steuerung über eigene Parameter.
Gruß
Michael
Diese Idee hatte ich schon mal da ein anderer User ein ähnliches Anliegen hatte. Hat sich dann aber raus gestellt das er es anders meinte.
Generell wäre es aber eine Idee, Problem bei Dir ist das Du es in Abhängigkeit mit Sonnenstand und so haben willst. Alles was ich anbieten würde wäre ein Attribut mit Device:Reading:Value und wenn dann ein entsprechender Event kommt würde das Rollo in die passende Position fahren.
Das "Problem" wäre ja dahingehend gelöst, dass sich bei meinem Vorschlag der Nutzer die Logik "seiner" Beschattung selbst erstellt. Deswegen ist es egal, ob das aufgrund Sonnenstand, Gerätezustand etc. passiert. Sobald das entsprechende Reading = 1 ist, fährt der Rolladen in die Position ASC_Shading_Pos_External und so lange greifen die anderen Beschattungsparameter des ASC für dieses Gerät nicht (wohl aber die komplette restliche Logik des ASC). Wechselt das Reading dann auf 0, greift die vollständige Logik des ASC wieder.
Bsp.: Der Rolladen ist in externer Beschattungsposition. Dann kommt die Zeit zum vollständigen Schließen. Der Rolladen schließt und fährt auch nicht wieder hoch, wenn dann das Reading auf 0 wechselt. Oder der Rolladen ist in externer Beschattungsposition und theoretisch wäre aufgrund der Attribute auch die grundsätzliche ASC-Beschattung aktiv. Dann fährt der Rolladen auf diese, wenn das Reading auf 0 wechselt.
Da ich morgen mit dem Zug zum FHEM Vereins Mitgliederversammlung fahre habe ich etwas Zeit mir das mal mit Code an zu schauen. Mal sehen ob ich da was in der Zeit zusammen bekomme. Dann werde ich es in die aktuelle Developer Version einbauen.
Prima, danke! Vielleicht diskutieren ja auch andere hier den Vorschlag mit, um das ganze möglichst flexibel aber so einfach wie möglich zu machen.
Viele Grüße
Michael
Zitat von: CoolTux am 01 November 2019, 13:56:39
Generell wäre es aber eine Idee, Problem bei Dir ist das Du es in Abhängigkeit mit Sonnenstand und so haben willst.
Wobei das ja generell zu https://github.com/fhem/AutoShuttersControl/issues/42#issuecomment-511757627 passen könnte
Nein, eher nicht. Da geht es doch um die Berechnung des Shadings.
Ich würde es gut finden, wenn ein Reading eines anderen Devices ausgewertet wird. Ist dieses = 1 dann fährt ASC die konfigurierten Rollos in eine dazu individuell anzugebende Position, beachtet so lange das Shading nicht, aber wohl die regulären Fahrten am Morgen/Abend. Somit hätte der User die Möglichkeit, über seine eigene Logik das Modul zu übersteuern, ohne die regulären Fahrten zu "verlieren".
Beispiel mit meinem Vorschlag: Die Sonne scheint, Rollo ist oben. TV geht an und es ist zu hell, meine Logik setzt das Reading auf 1, dann fährt Rollo auf halb zu durch ASC. Jetzt geht Sonne unter und die Abend-Fahrt ist dran, also geht der Rollo ganz zu. Würde ich hier mit meiner "TV-Logik" das ASC auf disable setzen und selbst fahren, müsste ich nach dem Ausschalten des TV, wenn es dann theoretisch der Rollo zu sein müsste, das ASC zunächst wieder auf enable setzen und selbst schauen, ob zwischenzeitlich "zu" gefahren worden wäre.
Oder habe ich hier einen Knoten im Hirn?
Ich habe da jetzt was Ansatzweise umgesetzt
https://forum.fhem.de/index.php/topic,103792.msg989339.html#msg989339