[73_AutoShuttersControl.pm] Rolllos automatisiert steuern - Version 0.10

Begonnen von CoolTux, 22 Juni 2020, 12:38:36

Vorheriges Thema - Nächstes Thema

Reinhard.M

Zitat von: Eistee am 10 August 2020, 11:32:41
Wenn der Azimuth sich ändert dann müsste sich dein Haus ja drehen?
Das macht das Haus ja auch - bezogen auf die Sonne. Ab wann die Sonne in dein Fenster scheint ist stark von der Höhe abhängig. Selbst wenn der erste Sonnenstrahl über dem Horizont bereits dein Fenster trifft. Schau dir mal anhand von https://www.sonnenverlauf.de/ an wie sehr der Azimuth sich für den Sonnenaufgang ändert.

Darkwing Duck

Hallo zusammen,

ich bin etwas ratlos, da sich einige meiner Rollos ungewünscht selbstständig bewegen. Ich versuche mich mal möglichst kurz zu fassen. Meine Rollos sind SOMFY-Devices mit Xiaomi-Magnetfensterkontakten. Letztere sind über Deconz als HueDevices in FHEM eingebunden. Die Verwendung als Twostate-Sensoren funktioniert auch insofern, dass z.B. beim öffnen des Fensters die Rollos in ihre Sollposition fahren bzw. beim abendlichen Herunterfahren nicht vollständig schließen. Die Fenstersensoren bekommen ca. alle 50 min ein Statusupdate, selbst wenn in der Zwischenzeit das Fenster nicht geöffnet bzw. geschlossen wird.

Da ich bisher noch nicht dazu gekommen bin, mich mit dem Shading mittels ASC zu befassen, fahre ich momentan einige Rollos im Laufe des Vormittags manuell in eine Schattierungsposition, in meinem Fall z.B. 70 oder 80. Dabei sind und bleiben die Fenster(kontakte) geschlossen. Wenn nun wie oben beschrieben die Fenstersensoren ihr Statusupdate bekommen, fahren teilweise die entsprechenden Rollos in die offen-Position und bekommen "window closed at day" als Wert des Readings ASC_ShuttersLastDrive. Das ganze scheint mir bisher unbeeinflusst von der Belegung des Attributs ASC_WindowRec_PosAfterDayClosed. Hier habe ich allerdings noch keinen Zusammenhang entdeckt, da ich Fenster habe, an denen das gar nicht passiert und andere, an denen es an manchen Tagen vorkommt und an anderen Tagen wieder nicht. Im ASC-Debug Log sehe ich bis zur eigentlichen Fahrt keinen Unterschied zwischen den Rollos, die sich vermeintlich verselbstständigen und denen die wie gewollt geschlossen bleiben.

Habe ich grundsätzlich irgendwas falsch verstanden, was die Funktionsweise von ASC_WindowRec_PosAfterDayClosed angeht? Ich habe dieses Attribut bei den betroffenen Fenstern auf lastManual gestellt, wobei ich ein Fenster habe, bei dem es explizit auf open steht und sich dort das Rollo nicht verselbstständigt. Welche Logs und Lists wären ggf hilfreich um mein Problem weiter einzugrenzen?

CoolTux

Du musst bei den Fensterkontakten event-on-update-reading entsprechend setzen.
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

D3ltorohd

Wo gebe ich denn die Himmelsrichtung vom Fenster an und ab welchem Winkel shading in / out ?
Kann ich das mit Helligkeit koppeln, schon oder ? Wie geb ich den Temp Sensor an.
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

Reinhard.M

Himmelsrichtungen wird über Azimuth eingestellt, Höhe über Elevation. Über https://www.sonnenverlauf.de/ lassen sich die Werte herausbekommen. Um dein Haus zu sehen "OSM" als Base Map selektieren. Temperatur und Helligkeit werden von Hause aus berücksichtigt. Alles andere steht in der Commandref. Die deutsche Version scheint momentan die aktuellste zu sein. Die englische unterscheidet sich jedenfalls bei mir von der deutschen.

cwagner

Zitat von: CoolTux am 10 August 2020, 11:52:10
Dein Attribut attr ROLL_Terrasse ASC_ShuttersPlace window ist mit window falsch belegt. Wenn es eine Terrasse ist solltest Du es auf terrace stellen. Und dazu noch ASC_LockOut auf soft. Das reicht schon.
Exakt so funktioniert es nun wie gewünscht und: Jetzt verstehe ich auch die Schilderung im Wiki - vielen Dank!
PI 2B+/3B+ Raspbian 12, Perl 5.36.0, FHEM 6.3: 295 Module in ConfigDB: Steuerung Heizkessel, FBH, Solarthermie, kontr. Lüftung mit WRG. Smarthome u.a. HMCUL, 1-Wire (FT232RL ; DS2480B), EnOcean (TCM EPS3), MQTT2. DOIF, PID20, Threshold, OWX; Micropelt IRTV, Volkszähler, SolarForecast; MariaDB

D3ltorohd

Zitat von: Reinhard.M am 11 August 2020, 07:25:58
Himmelsrichtungen wird über Azimuth eingestellt, Höhe über Elevation. Über https://www.sonnenverlauf.de/ lassen sich die Werte herausbekommen. Um dein Haus zu sehen "OSM" als Base Map selektieren. Temperatur und Helligkeit werden von Hause aus berücksichtigt. Alles andere steht in der Commandref. Die deutsche Version scheint momentan die aktuellste zu sein. Die englische unterscheidet sich jedenfalls bei mir von der deutschen.

Ok, ich habe mal angefangen. Astro Modul installiert und im ASC hinterlegt, denke passt soweit. So nun der Temp Sensor, ist als Dummy über ioBroker eingereicht. Gebe ich das so an Devicename:Reading steht es einfach nur grau im ASC. Sollte das nicht auch orange sein, wie das Astro Modul, wenn ich es richtig verknüpft habe ?

List vom Temp Sensor Dummy ::

Internals:
   CFGFN     
   FUUID      5f3243b6-f33f-fc62-ba5f-1f58475f06244d50
   NAME       zigbee.0.00158d00045c3576.temperatur
   NR         100
   STATE      22.78
   TYPE       dummy
   READINGS:
     2020-08-11 09:07:34   state           22.78
Attributes:
   alias      Außentemperatur Temperature
   comment    Auto-created by ioBroker fhem.0
   group      zigbee.0.00158d00045c3576
   room       ioB_IN


Sollte doch so richtig angegeben sein, im ASC unter TempSensor ?

zigbee.0.00158d00045c3576.temperatur:state
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

Reinhard.M

Zitat von: D3ltorohd am 11 August 2020, 09:16:15
Sollte das nicht auch orange sein, wie das Astro Modul, wenn ich es richtig verknüpft habe ?
zigbee.0.00158d00045c3576.temperatur:state
Sobald du ":<reading>" an das TempSensor Device anfügst, in deinem Fall ":state", wird das Device nicht mehr als Link (= orange) angezeigt. Wenn du das möchtest, musst du im TemperatureDevice ein entsprechendes Reading für den Defaultwert anlegen:
attr <TemperatureDeviceName> userReadings  temperature {ReadingsVal("$NAME","state",0);;}
Dann kannst du ":state" löschen und dar TempSensor wird als Link angezeigt.


Zitat von: D3ltorohd am 11 August 2020, 09:16:15
Sollte doch so richtig angegeben sein, im ASC unter TempSensor ?
zigbee.0.00158d00045c3576.temperatur:state
Ob dein RolloDevice die richtige Außentemperatur vom Sensor sieht findest du am leichtesten hiermit heraus:
{ascAPIget('OutTemp','<RolloDeviceName>')}

Darkwing Duck

Zitat von: CoolTux am 10 August 2020, 17:15:07
Du musst bei den Fensterkontakten event-on-update-reading entsprechend setzen.

Danke, das hat mich zumindest in die richtige Richtung gebracht. Ein setzen von event-on-change-reading auf die Wildcard schafft ebenfalls Abhilfe. Allerdings verstehe ich noch nicht ganz, warum ich das oben geschilderte Problem nicht bei allen Fenstern hatte.

CoolTux

Zitat von: Darkwing Duck am 11 August 2020, 12:13:18
Danke, das hat mich zumindest in die richtige Richtung gebracht. Ein setzen von event-on-change-reading auf die Wildcard schafft ebenfalls Abhilfe. Allerdings verstehe ich noch nicht ganz, warum ich das oben geschilderte Problem nicht bei allen Fenstern hatte.

Ach verdammt man sollte seinen Text auch lesen. Ich meinte in der Tat change und nicht update.
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

D3ltorohd

Zitat von: Reinhard.M am 11 August 2020, 10:20:07
Sobald du ":<reading>" an das TempSensor Device anfügst, in deinem Fall ":state", wird das Device nicht mehr als Link (= orange) angezeigt. Wenn du das möchtest, musst du im TemperatureDevice ein entsprechendes Reading für den Defaultwert anlegen:
attr <TemperatureDeviceName> userReadings  temperature {ReadingsVal("$NAME","state",0);;}
Dann kannst du ":state" löschen und dar TempSensor wird als Link angezeigt.

Ob dein RolloDevice die richtige Außentemperatur vom Sensor sieht findest du am leichtesten hiermit heraus:
{ascAPIget('OutTemp','<RolloDeviceName>')}

Dann passt das so hoffentlich. Dachte, wenn es kein Link ist, hab ich was falsch angegeben, aber dann sollte das so passen.

Das mit der Überprüfung der Temp, mach ich oben in der Eingabeleiste von FHEM ?

Wenn ich das so eingebe {ascAPIget('OutTemp','Schlafzimmer_li')} dann steht da -100
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

Reinhard.M

Zitat von: D3ltorohd am 11 August 2020, 16:11:19
Dann passt das so hoffentlich. Dachte, wenn es kein Link ist, hab ich was falsch angegeben, aber dann sollte das so passen.

Das mit der Überprüfung der Temp, mach ich oben in der Eingabeleiste von FHEM ?

Wenn ich das so eingebe {ascAPIget('OutTemp','Schlafzimmer_li')} dann steht da -100

Da ist offensichtlich dein Temp-Sensor nicht richtig konfiguriert.

D3ltorohd

Zitat von: Reinhard.M am 11 August 2020, 16:20:37
Da ist offensichtlich dein Temp-Sensor nicht richtig konfiguriert.

Ich habe das jetzt im ASC gesetzt, unter den einzelnen Rollo Devices, gibt es ja noch mal das Attr ASC_TempSensor muss ich diesen hier auch noch einmal setzten ? Oder würde das dann im ASC Global für alle Rollos sein, ausser ich setzte im Rollo ein extra Sensor ein, der vllt direkt am Kasten klebt ?

Hm so hab ich den eingetragen im ASC :: zigbee.0.00158d00045c3576.temperatur:state

Mein list sah ja so aus.

Internals:
   CFGFN     
   FUUID      5f3243b6-f33f-fc62-ba5f-1f58475f06244d50
   NAME       zigbee.0.00158d00045c3576.temperatur
   NR         100
   STATE      22.78
   TYPE       dummy
   READINGS:
     2020-08-11 09:07:34   state           22.78
Attributes:
   alias      Außentemperatur Temperature
   comment    Auto-created by ioBroker fhem.0
   group      zigbee.0.00158d00045c3576
   room       ioB_IN


So noch ein EDIT. Gebe ich das direkt im Rollo Device an, zeigt er mir die Temp das passt schon mal. Kann ich eigentlich so auch prüfen,ob der Rain Sensor passt ?
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

D3ltorohd

So, ich hab jetzt mal alles eingetragen, wie ich meine, das es richtig ist. Jetzt ist hier auch noch bewölkt. Aber ich kann ja Lux Wert runtersetzten zum testen.

EDIT: Naja wär hätte es gedacht, klappt noch nicht so wirklich. Hab mal Brightness runter und auch den Wert von : bis geändert. Nun kommt folgendes im Rollo Device :

ASC_ShadingMessage
ERROR: ASC_Shading_Mode attribut is set but global shading has errors, look at ASC device ASControl


Gehe ich ins ASC Device steht dort folgendes ::

controlShading
no valid data from the ASC temperature sensor, is ASC_tempSensor attribut set?


Der ist gleich gesetzt wie im Rollo Device, dort kann ich unter Abfrage auch die Temp sehen. Sollte doch im ASC dann gleich gesetzt werden ?
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

meier81

Servus,

mal ne Frage, kann ich bei ASC_Shading_Pos keine Perl-Code mehr eingeben? Hatte vor folgendes umzusetzen:

ASC_Shading_Pos {(ReadingsVal("Wetterstation","temperature",0) >= 22 ? 0:10)}

Wenn ich aber auf das Attribut gehe bekomme ich nur eine Auswahlliste von 10 bis 100.

Wird das jetzt in der Version 0.10 anders realisiert?

Hallo Hagen,
bezüglich deines Problems:
Zitat von: D3ltorohd am 11 August 2020, 16:50:47
So, ich hab jetzt mal alles eingetragen, wie ich meine, das es richtig ist. Jetzt ist hier auch noch bewölkt. Aber ich kann ja Lux Wert runtersetzten zum testen.

EDIT: Naja wär hätte es gedacht, klappt noch nicht so wirklich. Hab mal Brightness runter und auch den Wert von : bis geändert. Nun kommt folgendes im Rollo Device :

ASC_ShadingMessage
ERROR: ASC_Shading_Mode attribut is set but global shading has errors, look at ASC device ASControl


Gehe ich ins ASC Device steht dort folgendes ::

controlShading
no valid data from the ASC temperature sensor, is ASC_tempSensor attribut set?


Der ist gleich gesetzt wie im Rollo Device, dort kann ich unter Abfrage auch die Temp sehen. Sollte doch im ASC dann gleich gesetzt werden ?

Welche Parameter hast du denn alle gesetzt, du benötigst im ASC-Device:
ASC_tempSensor -> da kommt das Device rein für den Außentemperaturwert, wenn das reading "temperature" heißt reicht dort das Device z.B. "Wetterstation"
ASC_twilightDevice -> das Device für die Astrowerte, bei mir "Astro"

im Rolladen-Device:
ASC -> bei mir "2" weil zu 0% und auf 100% ist
ASC_BrightnessSensor -> bei mir "Wetterstation", die liefert auch die Helligkeit bei mir
ASC_Shading_InOutAzimuth -> bei meinem Rollladen auf der Ostseite z.B. "15:185"
ASC_Shading_MinMax_Elevation -> bei mir "20:100", soll morgens ab 20° beschatten
ASC_Shading_Min_OutsideTemperature -> bei mir "15", soll ab 15°C aktiv sein
ASC_Shading_Mode -> "always" bei mir
ASC_Shading_Pos -> "10" bei mir damit noch geschlitzt ist

Danach im ASC-Device "set control shading on", dann solltest du dort ein reading haben das "controlShading" heißt und "on" ist.


Gruß Markus
QNAP NAS mit Debian VM, darauf FHEM, debmatic, influxdb2 und Grafana || HB-RF-ETH || SIGNALduino 433MHz mit Maple mini || WS980 Wetterstation || Xiaomi Mi Robot mit valetudo-FW || Buderus web KM100 || div. Tasmota-Devices