NEWS
Test Adapter shuttercontrol v1.7.x
-
@tobitobsta sagte in Test Adapter shuttercontrol v1.2.x:
"ManuMode"
an dem problem wird im moment rumgerätselt, wie man in diversen postings lesen kann...
-
@kuddel sagte in Test Adapter shuttercontrol v1.2.x:
Kann man auch zwei Sensoren pro Rollo-Aktor hinterlegen?
grundsätzlich mal nicht. wird ohne trixxen nicht lösbar sein. (blockly für beide sensoren, die einen DP füllen.)
-
@negalein Hallo zusammen,
ich werde das Gefühl nicht los, dass die Ursache (mal wieder) an der Implementierung der Homematic Aktoren liegt. Ich hatte das hier schon mal thematisiert.
Die HmIP-Aktoren BROLL und FROLL benutzen den Kanal 3, um den IST-Zustand darzustellen. Die Kanäle 4, 5 und 6 werden benutzt, um SOLL zu setzen. Da Shuttercontrol nur einen Kanal verwenden kann, muss dies logischerweise 4, 5 oder 6 sein (ich verwende im Folgenden mal Kanal 4). Und genau da fängt das Problem an, denn Kanal 4 und Kanal 3 werden in der CCU nicht synchronisiert. Der richtige Wert nach dem Stopp des Rolladens steht deshalb ausschließlich in Kanal 3. In Kanal 4 steht der Sollwert, auch, wenn die Fahrt aus beliebigem Grund vorher gestoppt wurde. Hinzu kommt, dass nach dem Losfahren die Werte in Kanal 3 zufällig wechseln können. Nachdem der Rolladen angehalten hat, dauert es einige Zeit, bis in Kanal 3 der IST-Wert eingetragen wird.
Ich habe mal versucht, das durch ein kleines Skript in den Griff zu bekommen, das einfach den Status des Rolladens überprüft und, sobald dieser angehalten hat, mit einer Verzögerung von einigen Sekunden den Wert aus Kanal 3 in den Kanal 4 schreibt. Das hat jedoch aus nicht nachvollziehbaren Gründen nur teilweise funktioniert, weshalb ich es wieder aufgegeben habe.
Wollte man das Thema zuverlässig lösen, so müssten m.E. in Shuttercontrol zwei Kanäle (IST=3, SOLL=4 oder 5 oder 6) verwendet werden. Wie aufwändig diese Änderung wäre, kann ich natürlich nicht einmal ahnen.
-
@it-veteran
Müsste sich das nicht durch Alias'e umgehen lassen? -
@muchul
Genau durch Alias wurde das Thema hier schon einige male beschrieben. Für den Aktor einen Alias anlegen, indem IST und SOLL Werte des Aktors verknüpft werden und es läuft in shuttercontrol.
Im Prinzip wurde Alias genau für solche Anwendungen geschaffen -
@it-veteran sagte in Test Adapter shuttercontrol v1.2.x:
Ich habe mal versucht, das durch ein kleines Skript in den Griff zu bekommen, das einfach den Status des Rolladens überprüft und, sobald dieser angehalten hat, mit einer Verzögerung von einigen Sekunden den Wert aus Kanal 3 in den Kanal 4 schreibt. Das hat jedoch aus nicht nachvollziehbaren Gründen nur teilweise funktioniert, weshalb ich es wieder aufgegeben habe.
Ja, ging mir auch so.
Bis ich den obigen Thread aufgemacht habe.
Mit dem Alias sind die Werte passend.Leider hat es nichts mit dem aktuellen HM Problem zu tun.
-
@simatec sagte in Test Adapter shuttercontrol v1.2.x:
@muchul
Genau durch Alias wurde das Thema hier schon einige male beschrieben. Für den Aktor einen Alias anlegen, indem IST und SOLL Werte des Aktors verknüpft werden und es läuft in shuttercontrol.
Im Prinzip wurde Alias genau für solche Anwendungen geschaffengibt es hier für ein Beispiel?
Wären dann 2 Datenpunkte in einem oder? -
@bishop sagte in Test Adapter shuttercontrol v1.2.x:
gibt es hier für ein Beispiel?
// Original-Datenpunkt const idOrigin = 'hm-rpc.0.00115A49A5B2BE.4.LEVEL'/*Rollo Wohnzimmer :4 LEVEL*/ // Optional: Status-Datenpunkt, wenn Kommando und Status getrennt. // Bei Nicht-Verwendung Leerstring '' zuweisen const idRead = 'hm-rpc.0.00115A49A5B2BE.3.LEVEL'/*Rollo Wohnzimmer :4 LEVEL*/ // Alias-Datenpunkt const idAlias = 'Rollos.Rollo_Wohnzimmer'; var typeAlias, read, write, nameAlias, role, desc, min, max, unit, states, custom, raum, gewerk; // Folgende kommentieren, wenn keine Änderung der Eigenschaft erforderlich nameAlias = 'Rollo Wohnzimmer'; desc = 'per Script erstellt'; // typeAlias = 'boolean'; // oder 'number' // read = "val < 0 ? -val : 0"; // Erkennung "Aus" --> false erfolgt automatisch // write = "val ? String(1) : String(0)"; // role = 'value'; // min = 0; // nur Zahlen // max = 100; // nur Zahlen // unit = '%'; // nur für Zahlen // states = {0: 'Aus', 1: 'Auto', 2: 'Ein'}; // Zahlen (Multistate) oder Logikwert (z.B. Aus/Ein) custom = {}; // verhindert doppelte Ausführung von history, ... // raum = 'EG_Flur'; // Groß-/Kleinschreibung in der ID beachten ! // gewerk = 'Licht'; // Groß-/Kleinschreibung in der ID beachten ! // Ab hier nichts ändern !! function createAlias(idDst, idSrc, idRd) { if(existsState(idDst)) log(idDst + ' schon vorhanden !', 'warn'); else { var obj = {}; obj.type = 'state'; obj.common = getObject(idSrc).common; obj.common.alias = {}; if(idRd) { obj.common.alias.id = {}; obj.common.alias.id.read = idRd; obj.common.alias.id.write = idSrc; obj.common.read = true; } else obj.common.alias.id = idSrc; if(typeAlias) obj.common.type = typeAlias; if(obj.common.read !== false && read) obj.common.alias.read = read; if(obj.common.write !== false && write) obj.common.alias.write = write; if(nameAlias) obj.common.name = nameAlias; if(role) obj.common.role = role; if(desc) obj.common.desc = desc; if(obj.common.type == 'number') { if(min !== undefined) obj.common.min = min; if(max !== undefined) obj.common.max = max; if(unit) obj.common.unit = unit; } else { if(obj.common.min !== undefined) delete obj.common.min; if(obj.common.max !== undefined) delete obj.common.max; if(obj.common.unit) delete obj.common.unit; } if(states) obj.common.states = states; if(custom && obj.common.custom) obj.common.custom = custom; obj.native = {}; setObject(idDst, obj, function() { if(idRd) setState(idRd, getState(idRd).val, true); else setState(idSrc, getState(idSrc).val, true); }); if(raum && existsObject('enum.rooms.' + raum)) { let obj = getObject('enum.rooms.' + raum) obj.common.members.push(idDst); setObject('enum.rooms.' + raum, obj); } if(gewerk && existsObject('enum.functions.' + gewerk)) { let obj = getObject('enum.functions.' + gewerk) obj.common.members.push(idDst); setObject('enum.functions.' + gewerk, obj); } } } createAlias('alias.0.' + idAlias, idOrigin, idRead);
-
-
Hallo zusammen,
erstmal vielen Dank für den tollen Adapter.
Meine Frage hierzu ist jetzt folgende, ich hätte gerne eine Beschattung abhängig von Himmelsrichtung und Lichtsensor.
Da jede Beschattung im Dropdown einen Temperatursensor verlangt habe ich bei Temperatur eine Wert von -50 eingetragen. Damit wollte ich erreichen, dass die Beschattung auch im Winter fährt.
Der Adapter Scheint mit dem Negativen wert aber nichts anfangen zu können. eine Fahrt findet nicht statt.
Auch die Temperaturwerte einfach leer lassen hat nicht funktioniert.
Hat jemand eine Idee?Vielen dank schonmal
-
@harry94
Das war eigentlich mal "oder" verknüpft, ist es aber nicht mehr ist "und" verknüpft ist mir auch aufgefallen.
Ich habe eine sehr niedrige Außentemperatur mit einer hohen Hysterese gewählt, soweit funktioniert es mal.
Vielleicht liegt es am negativen Wert, versuch mal ein Positiven Wert! -
@harry94 sagte in Test Adapter shuttercontrol v1.2.x:
Da jede Beschattung im Dropdown einen Temperatursensor verlangt habe ich bei Temperatur eine Wert von -50 eingetragen. Damit wollte ich erreichen, dass die Beschattung auch im Winter fährt.
Der Adapter Scheint mit dem Negativen wert aber nichts anfangen zu können. eine Fahrt findet nicht statt.
Auch die Temperaturwerte einfach leer lassen hat nicht funktioniert.
Hat jemand eine Idee?den Lichtsensor als Außentemperatur verwenden
-
@homoran
so einfach und doch so genial.... Danke
Ich habe aber mittlerweile gefunden warum meine ganzen Tests nicht funktionieren. Der Rollladen bleibt auch nach Adapter Neustart im Manuellen Modus.... Ich weiß das wurde hier schon mal diskutiert aber eine Lösung habe ich nicht gefunden (oder überlesen).
Wie kann ich die Automatik wieder zurücksetzen ohne einen Tag lang zu warten? -
@harry94 sagte in Test Adapter shuttercontrol v1.2.x:
Wie kann ich die Automatik wieder zurücksetzen ohne einen Tag lang zu warten?
Ich weiß es nicht genau.
Aber es sollte klappen, wenn du den Rolladen für die nächste automatisierte Aktion in die dann erwartete Position bringst.Also 100% auf, wenn als nächstes die Beschattung startet
-
@homoran said in Test Adapter shuttercontrol v1.2.x:
@harry94 sagte in Test Adapter shuttercontrol v1.2.x:
Wie kann ich die Automatik wieder zurücksetzen ohne einen Tag lang zu warten?
Ich weiß es nicht genau.
Aber es sollte klappen, wenn du den Rolladen für die nächste automatisierte Aktion in die dann erwartete Position bringst.Also 100% auf, wenn als nächstes die Beschattung startet
Konnte ich jetzt so nicht erreichen.
auch unter shuttercontol.0.control gibt es ja diverse auto... States, aber die scheinen keinen erkennbaren Einfluss zu haben?
Um den Adapter weiter zu testen deinstalliere ich aktuell nach jedem Test die Instanz um sie dann wieder zu installieren damit die Automatik wieder aktiv ist.
-
@harry94 sagte in Test Adapter shuttercontrol v1.2.x:
Konnte ich jetzt so nicht erreichen.
Interessant
Hast du gewartet bis die Beschattung hätte starten müssen? -
@homoran
Die Beschattung müsste aktuell bereits runtergefahren sein.
Ich habe den Rollladen manuell auf 100 % hoch gefahren, dann gewartet bis im Debug-Log wieder Sonnenstand und Elevation abgefragt werden und dann ist nichts weiter passiert. Bedingungen für Sonnenschutz waren auch schon beim hochfahren des Rollladens erfüllt.Da ich den Adapter nur für den Sonnenschutz verwende und die normalen Fahrzeiten alle leergelassen habe, frage ich mich gerade ob der Adapter jemals wieder in den Automatikmodus geht?
@simatec
fände für kommende Versionen einen DP zum rücksetzen aller Rollläden oder einzelner Bereiche in den Automatikmodus echt gut. -
@harry94 sagte in Test Adapter shuttercontrol v1.2.x:
Die Beschattung müsste aktuell bereits runtergefahren sein.
dann greift der nächste Schritt, bei dem der mode wieder auf auto gestellt werden würde nicht.
@harry94 sagte in Test Adapter shuttercontrol v1.2.x:
dann gewartet bis im Debug-Log wieder Sonnenstand und Elevation abgefragt werden
...und die Kriterien im vergleich zur letzten Abfrage jetzt zutreffen...
-
@harry94 Hab's gerade getestet:
heute morgen manuell in Beschattung gefahren, weil die Automatik zu spät gegriffen hätte -> manu Mode
Sonne weg, Rollladen bleib unten
manuell ganz hoch gefahrenSonne kommt wieder -> Rollladen fährt runter -> auto mode
-
@homoran
Ich habs jetzt über die control.openAll (oder Bereichsweise) auch hinbekommen. dann fährt der Rollladen auch wieder in Sonnenschutz wenn sich die Bedingungen nicht geändert haben. (im auto State steht dann UP)Vielen vielen Dank für die ausführliche Hilfe.