ASC AutoShuttersControl - Meine Rollläden fahren nicht.

Begonnen von netpirat, 14 November 2023, 17:18:07

Vorheriges Thema - Nächstes Thema

CoolTux

Verstehe die Frage nicht so ganz.

Wenn es Abends ist und der Rolladen geschlossen wurde und Du das Fenster öffnest dann fährt der Rolladen in die Lüftenposition. Schließt Du das Fenster wieder schlißt der Rolladen, sollte es aber schon Tag sein nach dem Schließen des Fensters fährt der Rolladen hoch. So ist die Logik
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

netpirat

#16
Hallo CoolTux,

das wäre genial, wenn das genau so läuft.

Leider, Fenster zu - Rolladen auf 80%
Fenster auf - Rolladen auf 100%

Erwartet, laut deiner Schilderung
Fenster zu - Rolladen auf 100%
Fenster auf - Rolladen auf 80%

Mein Fensterreading

Meldekontakt-get falseFalse = zu
true = auf

Ist das der Fehler? Ich weiß nicht wie das genau programmiert wurde.

Oder liegt es an:
ASC_Closed_Pos 100
ASC_Open_Pos 0

CoolTux

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

netpirat

#18
Hallo CoolTux,

alles klar;

dann habe ich das Reading Meldekontakt-get in ein neues Reading ASC_State_Window umgebaut. Also wird aus true - false und aus false - true.

attr ROL_EG_BA_Rolladen_AUA userReadings ASC_State_Window { if (ReadingsVal($name,'Meldekontakt-get',0) eq "true" ) { "false" } elsif (ReadingsVal($name,'Meldekontakt-get',0) eq "false" ) { "true" } }

Funktioniert also.

Natürlich nicht vergessen das Attribut zu ändern:

attr ROL_EG_BA_Rolladen_AUA ASC_WindowRec MEL_EG_BA_Fenster_links_FKT:ASC_State_Window
Was allerdings komisch ist. Wenn ich mit dem Reading Meldekontakt fahre, dann fährt das Fenster hoch und runter.

Beim umgedrehten Reading ( ASC_State_Window) fährt er nichz mehr runter. Verstehe ich nicht.

2023-11-17 22:17:22 KNX MEL_EG_EZ_gr_Fenster_links_FKT Meldekontakt: true
2023-11-17 22:17:22 KNX MEL_EG_EZ_gr_Fenster_links_FKT true
2023-11-17 22:17:22 KNX MEL_EG_EZ_gr_Fenster_links_FKT ASC_State_Window: false
2023-11-17 22:17:33 KNX MEL_EG_EZ_gr_Fenster_links_FKT Meldekontakt: false
2023-11-17 22:17:33 KNX MEL_EG_EZ_gr_Fenster_links_FKT false
2023-11-17 22:17:33 KNX MEL_EG_EZ_gr_Fenster_links_FKT ASC_State_Window: false

Das Ergebnis ist immer false.
Also muss die Formel falsch sein.

Gruß

Tim

CoolTux

Kommt denn auch ein Event entsprechend an. Und hoch fahren tut er aber, oder?
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

netpirat

Guten Morgen CoolTux,

ja hochfahren macht er. Drehe ich true und false in dem Userreading um fährt der Rollladen nur runter. Also immer eine Richtung. Ich vermute mein Userreading ist nicht korrekt. Habe es schon mit sleep versucht zu verzögern oder es umgebaut:

ASC_State_Window { if(ReadingsVal($name,'Meldekontakt',0) eq "true") {return "false";}
else {return "true";} }

Immer das gleiche Ergebnis. Habe schon gedacht, das true und false vielleicht bestimmte readings sind, also keine Textreadings und ich etwas anderes programieren muss. Bin aber trotz suche im Forum noch nicht auf die richtige Formel gestossen.

Gruß
Tim

CoolTux

ASC_State_Window:Meldekontakt:.* { if(ReadingsVal($name,'Meldekontakt',0) eq "true") {return "false";}
else {return "true";} }
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

netpirat

Hallo CoolTux,

Fehler gefunden. Ich hatte versehntlich vorgestern per Set Befehl85 statt 80 eingegeben.

[a[s]ttr ROL_EG_BA_Rolladen_AUA ASC_Ventilate_Pos 85[/s]] -FUNKTIONIERT NICHT!

ASC_Ventilate_Pos 85
statt

ASC_Ventilate_Pos 80
gesetzt.

Damit scheint ASC nicht klarzukommen.

MIt 80 und deinem Script ein wenig abgewandelt läuft es nun. Danke.

ASC_State_Window { if(ReadingsVal($name,'Meldekontakt-get',0) eq "true") {return "false";}
else {return "true";} }

Vielen, vielen Dank.

Liebe Grüße

Tim