Script Handbetrieb

Homematic-, TCL- und Shell-Script, Toolchain, C, etc.

Moderator: Co-Administratoren

Antworten
Tiger99-re
Beiträge: 2
Registriert: 04.02.2017, 14:50

Script Handbetrieb

Beitrag von Tiger99-re » 15.02.2017, 14:13

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.
Script.txt
(1.4 KiB) 117-mal heruntergeladen

Ich hoffe, jemand kann mir sagen, warum mein Script nicht so funktioniert, wie ich es erwarte.
Dateianhänge
Log.PNG
Prog_Handbetrieb.PNG

BadenPower

Re: Script Handbetrieb

Beitrag von BadenPower » 16.02.2017, 11:25

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.
Es funktioniert bis zum vorletzten Punkt auch nur zufällig einwandfrei.

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;
folgendermaßen ab:

Code: Alles auswählen

integer x = (dom.GetObject("BidCos-RF.LEQ0771037:1.LEVEL").Value() * 100).ToInteger();
Das Gleiche, dann noch für die y-Zeilen.
.

Tiger99-re
Beiträge: 2
Registriert: 04.02.2017, 14:50

Re: Script Handbetrieb

Beitrag von Tiger99-re » 16.02.2017, 18:57

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.

Antworten

Zurück zu „Softwareentwicklung für die HomeMatic CCU“