Willkommen im Loxone Community Forum. Um alle Funktionen nutzen und sehen zu können, registriere dich bitte zuerst. Dies gilt auch für das herunterladen von Dateien.
Möchte gerne meine ABB JRA/S 8.230.5.1 Jalousien Aktoren über den Automatikbaustein einsetzen.
KNX Taster ectr. werden keine verwendet!
Die Positionsanzeige in der Visu usw. wären mir wichtig.
Meine Frage: hat schon jemand so etwas mit ABB Aktoren und dem Automatikbaustein am laufen?
Deine Frage ist ein absoluter Klassiker und ich kann dir diese wie folgt beantworten:
- Die ABB-Aktoren hatte ich noch nicht im Einsatz - ich fahre aktuell mit den neusten MDT-Jalousieaktoren (inklusive Intelligenz wie Referenzfahrten, Positionen, Beschattungsberechnung, usw.)
-> Egal was dein KNX-Jalousieaktor an Logik kann oder nicht - sofern du nicht 100% der Loxone überlässt, wird das mit der Automatikjalousie nichts.
Daher: Aktor so "dumm" wie möglich konfigurieren (lange Fahrzeiten, keine Eingriffe/Sperren/etc.) und GAs für Auf/Ab (Langfahrt) + Stop-Befehl erstellen.
(wenn du nen Backup fahren willst bspw. Wind-Alarm oder Frost-Alarm direkt über KNX-only .. kannst du schon eine Sperre fürs Verfahren einbauen -> dann aber nicht wundern, wenn die Loxone den echten Status der Jalousie nicht mehr kennt)
Super funktionieren tut folgende KNX+Loxone-Lösung von den Bausteinen:
- erweiterter KNX-Aktor für Langfahrt Auf-Befehl (x/y/1:0)
- erweiterter KNX-Aktor für Langfahrt Ab-Befehl (x/y/1:1)
- erweiterter KNX-Aktor für Stop-Befehl (x/y/2:1) -> je nach Aktor musst du eine 1 oder eine 0 zum Stoppen schicken.
Hat schon jemand mal probiert, die "Absolute Position" und "Absolute Lamellenposition" der MDT Aktoren mit Loxone zu verheiraten? Ich versuche das gerade, da der Automatikbaustein im Zusammenhang mit KNX wohl Probleme mit dem Timing beim Verstellen der Lamellen Richtung Abdunkeln hat (Lamellen werden zu weit geschlossen), allerdings stehe ich da vor dem Problem, dass man aus dem Automatibaustein von Loxone nicht die absoluten Endwerte der Positionen raus bekommen sondern den aktuellen Wert während der Fahrt. Man könnte nun natürlich erst dann KNX-Nachrichten verschicken wenn sich diese Werte nicht mehr verändern innerhalb einer Zeiteinheit, aber dadurch verliert man die Möglichkeit, mittels Taster die Jalousien und Lamellen mit sichtbarem Feedback an der Jalousie zu bedienen (z.Bsp. genau Positionierung der Lamellen, etc.).
Ich habe das gleiche probiert in der Hoffnung doch noch eine KNX-only Jalousie in Verbindung mit dem Automatikbaustein hinzubekommen. -> Funktioniert de facto nicht.
- Wie du bereits richtig erkannt hast pushed der Baustein lediglich die aktuell berechneten Positionswerte analog zu den gesetzten Timings raus.
Klar so ein Hack mit "Warten bis Wert sich nicht mehr ändert" würde gehen -> jedoch passt dann deine Visu nicht mehr was unschön ist.
Zwecks Lamellenverstellung würde ich die Kurzfahrten des Bausteins nehmen bzw. über den Analogen Eingang % Lamellenverstellung agieren. Falls die Lamellen immernoch zu träge verstellt werden ggf. nochmal die Einstellungen vom Timing des KNX-Telegramms bzw. im Aktor Mindestfahrzeit/Motorwechsel/etc. überprüfen
ich hab mich da jetzt ein wenig mit PicoC-Code gespielt und hab da eine Lösung, die schon recht brauchbar ist. Der Code wertet sowohl Up, Down als auch die absoluten Positionen des Bausteins aus und reagiert mit kaum merkbarer Verzögerung (100ms), das heißt die Jalousie und die Visu passen zusammen. Die Positionierung der Lamellen beim Nachjustieren passen damit perfekt, der MTD-Aktor (bei mir ein Universalaktor im Modus Jalousie) hat das wirklich gut drauf und fährt zur Not auch mal kurze Wege rauf und runter um die Lamellen besser positionieren zu können.
Ich werde das jetzt noch verfeinern und vor allem mal alle meine KNX-Jalousien damit steuern und schauen, wie es dem MS dann damit geht. Laut Doku ist ja die Anzahl der PicoC-Programme auf 8 limitiert (wobei so viele Eingänge pro Baustein zur Verfügung stehen dass 3 Jalousien mit einem Baustein berechenbar wären) und die CPU könnte belastet werden. Das will ich mir mal ansehen ob es hier in diesem Anwendungsfall zu Problemen kommen kann.
gwieser wenn du mehrere PicoC-Bausteine mit der KNX-Auswertung beschäftigst, kann es schon zu spürbaren zeitlichen Verzögerungen bei der Jalousie kommen, wenn du viele Jalousien gleichzeitig ansteuerst. Ob das allerdings tragisch ist, musst du wirklich ausprobieren.
Habe zwecks variabler Position von Stoffrollos beim letzten Projekt auch eine Positions-Auswertung inkl. Offene-Fenster-Sperre mit PicoC umgesetzt, da dauert es ca. 1-2s von der Auswahl der Szene bis zum Fahren der Rollos. Ist aber da nicht weiter schlimm...
Das Problem hab ich auch noch vor mir, wobei ich nicht unbedingt die volle Automatik brauche.
Ich will morgens einfach Lamellen halb öffnen, nachmittags auf ca. 3/4 geschlossen, nachts ganz schließen. Rolläden rauf/runter. Positionen bleiben immer unten außer bei Sturm oder wenn die Türen/Fenster öffnen.
na dann lege dir doch z.B. ein parr KNX Szenen an, die deine Funktionalitäten abdecken. Diese steuerst du dann einfach mit dem Miniserver und Programm erweiterter KNX Aktor an.
Wer kann mir helfen, den ABB KNX Aktor JRA/S8.230.5.1 so zu blenden, oder besser gesagt zu verblöden, damit dieser mit der LOXONE Automatikjalousie zusammenarbeitet.
Habe 2 Rollläden und 4 Jalousien und 2 Relais zum Schalten von Lampen.
Habe im Anhang die Parameter in 9 Blöcken übersichtlich zusammenkopiert, und würde mir dazu die von euch empfohlenen Werte als Eintrag wünschen.
Vielleicht können auch andere KNX Anwender, etwas damit anfangen.
ich glaube meine Lösung ist mittlerweile brauchbar, sofern man KNX-Aktoren mit der Möglichkeit der absoluten Positionierung von Jalousie und Lamellen hat. Die 100ms Verzögerung merkt man nicht wenn man per Hand (Taster, App) steuert, im Automatikmodus merkt man logischerweise gar nix. Die Positionierung der Lamellen funktioniert mit den MTD-Aktoren absolut perfekt.
Mit einem "Programm"-Baustein können 3 Jalousie-Aktoren angesteuert werden, d.h. bei einem Maximum von 8 Programmbausteinen kann man 24 Aktoren ansteuern. Das sollte auch für große Häuser reichen.
Falls es Interesse gibt stelle ich das gerne hier vor.
// this PicoC code allows for managing KNX blind actors with absolute positioning
// capabilities (e.b. MDT Universalaktor, MDT Jalousieaktor) with Loxone's own
// automatic blinds function blocks (German "Automatikjalousie")
//
// This code block can deal with 3 automatic blinds blocks in Loxone Config - you can use just 1,
// any 2 of the three or all of them at once.
//
// Inputs:
// AI1, AI5, AI9: connect to Q(up) of the automatic blinds block - Up command
// AI2, AI6, AI10: connect to Q(down) of the automatic blinds block - Down command
// AI3, AI7, AI11: connect to AQp of the automatic blinds block - absolute position of the blinds (Jalousie)
// AI4, AI8, AI12: connect to AQl of the automatic blinds block - absolute position of the blends (Lamellen)
// AI13: "enable" - set this to constat 1 in normal mode, or attach to a toggle switch to
// allow for testing on/off
// we use an array of values for the variables to loop through the possibly 3 logic input blocks
float lastPos[3], curPos[3], curBlendPos[3], lastBlendPos[3], curDn[3], curUp[3];
// curStatus: 0..no movements, 1..start moving (long movement), 2..still moving (long movement),
// 3..stop moving (long movement)
int curStatus[3];// = 0;
int beforePreviousCycleMoving[3];// = 0;
int previousCycleMoving[3];// = 0;
int curMoving[3];// = 0;
int firstLoop = 1;
int lastCurDn[3];// = 0;
int lastCurUp[3];// = 0;
int dirUp[3];// = 0;
int dirDn[3];// = 0;
float enabled = getinput(12);
int specialUpCase[3];
int i = 0;
while (TRUE) {
if (enabled) {
i = 0;
while (i<3) {
// get the current position
curPos[i] = getinput(i*4+2);
curBlendPos[i] = getinput(i*4+3);
curDn[i] = getinput(i*4+1);
curUp[i] = getinput(i*4+0);
// Loxone tends to use not 100% when the position of the lamella
// is less then 1.0, so we round it up
if (curPos[i]>0.95) {
curPos[i] = 1;
}
if (firstLoop==1) {
// this is the first run, so make sure that the blends
// are aligned with Loxone
setoutput(i*4+1, curBlendPos[i]*100);
setoutput(i*4+0, curPos[i]*100);
lastPos[i] = curPos[i];
lastBlendPos[i] = curBlendPos[i];
}
if (curPos[i] != lastPos[i]) {
curMoving[i] = 1;
} else {
curMoving[i] = 0;
}
// detect in which state we are
if (curDn[i]==1) {
if (lastCurDn[i]==0) {
// go down
curStatus[i] = 1;
dirDn[i] = 1;
lastCurDn[i] = 1;
} else {
curStatus[i] = 2;
}
} else {
if (lastCurDn[i]==1) {
lastCurDn[i]=0;
curStatus[i] = 3;
} else {
// do nothing
}
}
if (curUp[i]==1) {
if (lastCurUp[i]==0) {
// go up
curStatus[i] = 1;
dirUp[i] = 1;
lastCurUp[i] = 1;
} else {
// adding a correction for "Up"
if (curPos[i]==0) {
if (specialUpCase[i]==0) {
curBlendPos[i] = 0;
curPos[i] = 0;
curStatus[i]=3;
specialUpCase[i]=1;
}
//setoutput(0,0);
//setOutput(1, 0);
} else {
curStatus[i] = 2;
}
}
} else {
if(lastCurUp[i]==1) {
if (specialUpCase[i]==1) {
lastCurUp[i]=0;
specialUpCase[i]=0;
} else {
lastCurUp[i]=0;
curStatus[i] = 3;
}
} else {
// do nothing
}
}
switch(curStatus[i]) {
case 1:
// in case we started moving, we need to identify the direction
if (dirUp[i]==1) {
// we go up, so we send a full up first
//direction=0;
setoutput(i*4+1, 0);
setoutput(i*4+0, 0);
}
if (dirDn[i]==1) {
// we go down, so we send a full down first
//direction=1;
setoutput(i*4+1, 100);
setoutput(i*4+0, 100);
}
break;
case 2:
// still moving, nothing to do
break;
case 3:
// stop moving, send final positions
setoutput(i*4+0, curPos[i]*100);
lastPos[i] = curPos[i];
setoutput(i*4+1, curBlendPos[i]*100);
lastBlendPos[i] = curBlendPos[i];
curStatus[i] = 0;
dirUp[i] = 0;
dirDn[i] = 0;
break;
default:
if (curBlendPos[i] != lastBlendPos[i]) {
setoutput(i*4+1, curBlendPos[i] * 100);
}
}
lastPos[i] = curPos[i];
lastBlendPos[i] = curBlendPos[i];
i++;
}
if (firstLoop==1) {
firstLoop = 0;
}
}
enabled = getinput(12);
sleep(100);
}
Das ganze muss in einen "Programmbaustein" kopiert werden und bietet dann für 3 Automatikbausteine die Eingänge an (siehe Doku im Code). Die Ausgänge AQ1/5/9 verbindet man dann mit dem "Absolute Position Jalousie" des jeweiligen KNX-Aktors, und AQ2/6/10 mit "Absolute Lamellenposition" des jeweiligen KNX Aktors.
Hier mal ein Beispiel wie das angeschlossen wird für 2 Jalousiebausteine:
Nicht wundern, in dem Beispiel wird die Jalousie ausschließlich über die Automatik und im Notfall über die Smartphone-App gesteuert, daher keine Anschlüsse für Taster etc. Die Konfiguration der Parameter der Jalousie in Loxone Config und der Aktoren über ETS4 muss übereinstimmen! Sprich die selben Zeiten für Auf und Ab, TR, etc. sonst kann es zu Problemen kommen (Stoppen während der Fahrt, dann gleich weiterfahren, etc.).
AI13 kann auch mit einer Konstante 1 belegt werden wenn man kein Ein/Aus des Bausteins haben will (was der Normalfall ist, hier ist das noch zu Debugging-Zwecke mit einem Virtuellen Eingang gehandhabt).
Wer das ausprobieren möchte nur zu! Ich bin gespannt ob das für den einen oder anderen brauchbar ist!
PS: Hier noch die Konfig eines Kanals am Aktor in ETS4 (die abgeschnittenen Parameter am Screenshot sind alle auf "nicht aktiv"):
Hab mal in den Thread rüber gewechselt... ;-)
Hab das jetzt testweise für eine Jalousie mal nachgebaut.
Im Programm baustein sehe ich auch das sich die Werte ändern aber meine Jalousie tut nichts...
Welche EIS Typ kommt zur Verwendung. Habs mit EIS7 und EIS5 versucht...
Grüße
Matthias gemischte KNX- und Loxoneinstallation im EFH Neubau
hast Du den KNX-Aktor eh auf Absolute Position umkonfiguriert und verwendest auch die neuen Kommunikationsobjekte dafür? In LoxConfig hab ich die Kommunikationsobjekte als EIS6 definiert, siehe Screenshot:
Und hier noch die ETS4-Kommunikationsobjekte-Darstellung:
Wir verarbeiten personenbezogene Daten über Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen, Werbung zu personalisieren und Websiteaktivitäten zu analysieren. Wir können bestimmte Informationen über unsere Nutzer mit unseren Werbe- und Analysepartnern teilen. Weitere Einzelheiten finden Sie in unserer Datenschutzrichtlinie.
Wenn Sie unten auf "Einverstanden" klicken, stimmen Sie unserer Datenschutzrichtlinie und unseren Datenverarbeitungs- und Cookie-Praktiken wie dort beschrieben zu. Sie erkennen außerdem an, dass dieses Forum möglicherweise außerhalb Ihres Landes gehostet wird und Sie der Erhebung, Speicherung und Verarbeitung Ihrer Daten in dem Land, in dem dieses Forum gehostet wird, zustimmen.
Kommentar