Hallo Allerseits,
bislang habe ich immer nur im Forum gelesen, finde aber nicht, dass was ich benötige.
Ich habe mit einer CCU2 und Rolladen Aktoren Unterputz eine Rolladensteuerung am laufen. Mit einem Temperatur-Differenz Sensor steuere ich die Beschattung bei Sonneneinstrahlung.
Nun mein Problem:
Da die manuelle Betätigung der Rolladen-Aktoren nicht von der CCU registriert wird, werte ich mit meinem Script die Behanghöhe der Rolläden aus um anhand der Position ein Kriterium zum bekommen, ob die Rolläden automatisch dorthin gefarhen sind, oder sie von Hand gesteuert wurde
Bei Beschattung werden beide Rolläden auf 65 % gefahren. Die Wahrscheinlichkeit, diese Position von Hand zu treffen,
ist eher unwahrscheinlich.
Mein Script prüft zuerst, ob beide auf 100 % stehen -> Handberieb = falsch Status 1
beide auf 0 % -> Handbetrieb = falsch Status 2
Wenn LINKS < 100 % und LINKS > 65 % -> Handbetrieb = wahr Status 3
Wenn LINKS < 65 % und LINKS > 0 % -> Handbetrieb = wahr Status 4
Wenn LINKS = 65 % dann -> Handbetrieb = falsch Status 5
Leider funktioniert mein Script nur bis zum letzten Punkt einwandfrei.
Wenn die Rolläden auf 65 % stehen, ist mein Status trotz allen immer nur 4.
Wer kann mir helfen ?
Hier mein Script:
Ein kleiner Auszug aus dem Log und der eigentliche Aufruf über einen CuxD Timer alle 2 Minuten.
Ich hoffe, jemand kann mir sagen, warum mein Script nicht so funktioniert, wie ich es erwarte.
Script Handbetrieb
Moderator: Co-Administratoren
Re: Script Handbetrieb
Es funktioniert bis zum vorletzten Punkt auch nur zufällig einwandfrei.Tiger99-re hat geschrieben:Leider funktioniert mein Script nur bis zum letzten Punkt einwandfrei.
Wenn die Rolläden auf 65 % stehen, ist mein Status trotz allen immer nur 4.
Dein Problem ist, dass Du versuchst einen real auf exakte Gleichheit zu prüfen. Das muss schiefgehen.
Ändere diese Zeilen
Code: Alles auswählen
real x=dom.GetObject("BidCos-RF.LEQ0771037:1.LEVEL").Value();
x = x * 100;
Code: Alles auswählen
integer x = (dom.GetObject("BidCos-RF.LEQ0771037:1.LEVEL").Value() * 100).ToInteger();
.
-
- Beiträge: 2
- Registriert: 04.02.2017, 14:50
Re: Script Handbetrieb
Hallo Badenpower,
Vielen Dank für Deine Unterstützung. Ich war schon am verzweifeln. Auf die Idee, die Variablen in Integer zu wandeln, bin ich auch schon gekommen, allerdings habe ich mich dabei wohl zu blöd angestellt.
Nochmals Vielen Dank.
Vielen Dank für Deine Unterstützung. Ich war schon am verzweifeln. Auf die Idee, die Variablen in Integer zu wandeln, bin ich auch schon gekommen, allerdings habe ich mich dabei wohl zu blöd angestellt.
Nochmals Vielen Dank.