NEWS
Rolladensteuerung 433mhz-Funkmotoren
-
danke,
ich habe mir schon gedacht, dass es ohne nicht gehen wird.
Wie könnte so ein Script aussehen?
Mache ich das über Blockly oder JS?
danke schon vorab!
lg
Michael
-
Bist Du ein Nerd, nimmst Du JS.
Bist Du ein Anfänger, nimmst Du Blockly, Google, Foren und Fragen…
-
Sowas:
<xml xmlns="http://www.w3.org/1999/xhtml"><block type="on_ext" id="pXFz%NjSm*lxX6t4Wa{/" x="62" y="-138"><mutation items="1"></mutation> <field name="CONDITION">ne</field> <value name="OID0"><shadow type="field_oid" id="lSzO!3)HsdC3,wtNCH{="><field name="oid">admin.0.ArZi-Rollladen-Parameter.Soll-Position</field></shadow></value> <statement name="STATEMENT"><block type="controls_if" id="0fzy]CF?rVtovpZ])/Yv"><value name="IF0"><block type="logic_compare" id="nzh5k]@5-[TOnO5S=+RR"><field name="OP">LT</field> <value name="A"><block type="on_source" id="!)64vBb4xZezA#SC`DSm"><field name="ATTR">oldState.val</field></block></value> <value name="B"><block type="variables_get" id="h8I~05cFAnp3U?6/rDLw"><field name="VAR">value</field></block></value></block></value> <statement name="DO0"><block type="comment" id="/Oudsj?Ei3v+BVicE~tr"><field name="COMMENT">hoch mit de Maschine</field></block></statement> <next><block type="controls_if" id="[+et`fX=uA6N_EN8^.vI"><value name="IF0"><block type="logic_compare" id="Lxq+w){;nlE:|h,T+~fJ"><field name="OP">GT</field> <value name="A"><block type="on_source" id="4i?:3V`IX)6i8ZLWC^sA"><field name="ATTR">oldState.val</field></block></value> <value name="B"><block type="variables_get" id="ont7oFJJD%Y~/H7vW|iK"><field name="VAR">value</field></block></value></block></value> <statement name="DO0"><block type="comment" id="g6-0/]}mJ,WN{e7M:Ob}"><field name="COMMENT">runter mit de Maschine</field></block></statement></block></next></block></statement></block></xml>
-
da bin ich dann ein "nerdiger" Anfänger :lol:
wie gehe ich mit dem Script vor?
Wie schon geschrieben –> Google, Foren und Fragen <-- bin ich mittendrin, aber meine "spezielle" Anforderung habe ich nicht gefunden.
Einige ähnliche Fragen wurden "gelöst" aber der Lösungsweg nicht beschrieben.
lg
Michael
-
Hallo,
ich bin jetzt "etwas" weitergekommen.
Was funktioniert?
Rolladen über Alexa steuern –> hat immer funktioniert
Rolladen über HQWidget (vis) steuern funktioniert -->hoch und runter
aber der Status im Widget wird nicht angezeigt
Was habe ich gemacht?
Einen Datenpunkt angelegt (TESTOBJEKT)-> Rolle: Switch, Art: Logikwert
ein Skript erzeugt und gestartet:
und eine Szene angelegt (scene.0.Rollade_Kueche_01):
als Trigger habe ich den Datenpunkt "TESTOBJEKT" genommen.
und die Zustandskonfiguration:
in der Szene springt der Status immer zwischen "wahr/undefiniert" wenn der Status "wahr" –>Rollo unten
ist (Rollo ist auch unten)
bei "Falsch" springt der Status immer zwischen "falsch/undefiniert" -->Rollo hochgefahren (oben)
auch im HQWidget Window und Shutter springt der Status zwischen NAN% und 0% bzw. 1% hin und her.
Wobei 1% auch nicht richtig ist --> bei Status "wahr" Rollo unten sollte eigentlich 100% angzeigt werden.
Sobald ich die Szene deaktiviere und über "Objekte" das Hoch- und Runterfahren auslöse, funktioniert es und der Status ändert sich auch auf "true"(unten) und "false"(oben)
Aber über das HQWidget funktioniert es nicht, da die Szene deaktiviert wurde
Einstellung HQWidget:
Eventuell verzettle ich mich mit den Einstellungen, Anregungen und Anpassungen Eurerseits nehme ich gerne an.
Wie schon eingangs geschrieben, Anfänger in diesem Bereich, aber es muss doch zu schaffen sein.
lg
Michael
-
noch etwas:
wenn ich die Trigger in der Szene ändere:
Wahr (Rollo runter) auf <
und
Falsch (Rolle rauf) auf >
dann bleibt der Status in der Scene auf "Undefiniert" stehen
lg
Michael
-
Hallo,
ist das Thema noch offen? Hätte eine Lösung Skript + Vis -
Hallo tobetobe,
ja es ist wieder aktuell geworden, hat bis dato zwar einigermaßen funktioniert, hätte aber gerne die o.a. Themen richtig umgesetzt.
lg
-
Hallo Nussi99,
ob dir meine Lösung passt, kann ich natürlich nicht sagen. Sie ist aber ganz einfach zu testen und funktioniert bei mir seit einigen Jahren vollkommen zuverlässig. Mein Ansatz besteht aus fünf Teilen:
- einem Widget pro Fenster bzw. pro Rolladen
- einem Blockly-Skript pro Rolladen
- einem weiteren Blockly-Skript zur Bildung eines Langzeit-Temperaturwertes, den ich zur Beschattung bei hohen Außentemperaturen verwende
- einem Javascript aus dem Forum zur Bereitstellung der Zeiten für den Sonnenauf- und Untergang
- dem ioBroker Feiertags-Adapter, den du selbst installieren kannst
Hier kommt nun alles, was du brauchst:
Das VIS für drei Rollläden (im Schlafzimmer je Flügel ein Rollladen):
FOLGT wg. Größe
Die Zuordnung der Datenpunkte musst du natürlich passend zu deinen Geräten neu vornehmen.
Funktionsweise: Die Rollos öffnen und schließen jeweils zum Sonnenauf- bzw. -untergang, jedoch nicht vor der unter "NICHT VOR" eingetragenen Uhrzeit und nicht nach der unter "NICHT NACH" eingetragenen Zeit. Diese Zeiten kann man getrennt für Wochentage und für Wochenenden und Feiertage einstellen. Im Bedarfsfall kann man rechts unter "Manuell" mit den Knöpfen AUF, ZU und STOP auch von Hand steuern. Zusätzlich könnte auch eine bestimmte Position angefahren werden, indem man das Feld mit den Prozentwerten anklickt oder einen neuen Wert auswählt. In diese Funktion habe ich, da die automatische Steuerung zuverlässig funktioniert, keine Zeit mehr investiert. Die Verweildauer, die man unter dem %-Wert noch eingeben kann, wird daher (noch) nicht beachtet. Momentan verhält sich das Skript so, dass der Prozentwert angenommen wird und das Rollo in die entsprechende Position fährt, dann jedoch nach einer Minute wieder die vorherige Position bezieht. Wenn ich das noch für dich ändern soll, gib mir bitte Bescheid.
So, nun die Skripte. Zunächst das Skript zur Steuerung der Rollos. Einfach im JS-Adapter importieren und wieder auf Blockly umschalten.
Wenn du einen neuen Raum, bzw. einen neuen Rollladen anlegen möchtest, kopiere das Skritp in einen Editor, suche nach "Umkleidezimmer" und ersetze diesen Begriff mit dem von dir gewünschten Raum, zB "Esszimmer". Mit dem VIS kannst du ebenso verfahren.Für jedes Rollo musst du übrigens die Zeit erfassen, die das Rollo benötigt, um aus dem Zusatnd "Offen" = 0% in den Zustand "Geschlossen" = 100% zu fahren. Das gleiche mit der Zeit zum Schließen, die üblicherweise etwas größer ist, da das Eigengewicht des Rollladen den Vorgang verzögert. Die beiden Werte sind dann am Anfang des Skripts in die vorgesehenen Felder in Millisekunden einzutragen und können später noch optimiert werden, wenn die angefahrene Position nicht ganz passen sollte. Testen würde ich das mit 90% und 10%.
Dann das Skript für den Langzeitwert der Temperatur. Für den Fall, dass du keinen Außenthermostaten besitzt, auf den das Skript reagieren kann, lass es einfach Weg und setze den Temperaturwert in dem vorigen Skript auf einen unsinnig hohen Wert, zB 99 Grad.
Und das Skript für die Sonnenauf- und -untergangszeiten:
Un nun gutes Gelingen. Wenn du Fragen hast, melde dich bitte.
Gruß
Thomas -
-
Und so musst du dir das Ganze vorstellen:
VIS hast du jetzt aus Platzgründen nur für den Oberen Teile (Umkleidezimmer) bekommen. Bitte entsprechend kopieren.
-
Hallo tobetobe,
Herzlichen Dank, ich werde es die nächsten Tage in Ruhe probieren.
melde mich bei Dir wie es funktioniert.lg
nussi99 -
Hallo tobetobe,
eine Frage zum Script, da hast geschrieben:
So, nun die Skripte. Zunächst das Skript zur Steuerung der Rollos. Einfach im JS-Adapter importieren und wieder auf Blockly umschalten.
Wemm ich das Script im JS-Adapter importiere, kann ich nicht auf "Blockly umschalten"
siehe anbei:
bei einem anderem Skript ist die Anzeige vorhanden:
habe auch schon probiert, dieses Skript als zip.Datei zu importieren --> umschalten auf Blockly nicht möglich!
Gibt es hier einen Trick?
danke
nussi99 -
@nussi99
wart mal kurz. Ich erstelle dir einen Export und poste den dann nochmals -
@nussi99
versuche mal, dies zu importieren: -
danke, jetzt geht es.
ich werde mal die Daten ändern.lg
-
-
Hi,
ich hätte da eine Frage, wenn ich die Befehle von einem KNX-Taster aus aufrufen möchte. Wie gehe ich das am Besten an? Kann mir da wer helfen?
Danke!
-
@dali-g
Hallo, wenn ich dich richtig verstehe, möchtest du mit Hilfe eines KNX-Tasters die RF-Link-Befehle an einen 433MHz Funkmotor senden, um so deine Rollläden zu steuern. Meinst du das?Ich verwende KNX selbst nicht, gehe aber mal davon aus, dass der KNX-Adapter Datenpunkte für deine KNX-Taster anlegt. Somit kannst du einfach ein kleines Skript anlegen (Blockly oder JS), das im Prinzip so funktioniert:
on({id: "ID vom KNX", change: "ne"}, function (obj) { if (getState(obj).val == true) { setState("ID vom RFLINK", true) } if (getState(obj).val == false) { setState("ID vom RFLINK", false) }; })
Damit kannst du deinen Rollladen runter und rauf fahren. Zwischendurch stoppen geht nicht, es sei denn, dein KNX-Schalter kennt drei Zustände oder du interpretierst einen zweiten Tastendruck als STOP. Dadurch wird natürlich das Skript aufwändiger
-
Hi und vielen Dank!
Genau, das war der Plan. Ich rüste Rolladen (innen) nach und möchte eigentlich nicht zusätzlich noch eine Fernbedienung haben.
Daher würd ich gerne über KNX meine Szene "Schlafen" aufrufen und die führt das dann aus.
Du liegst richtig, der KNX-Adapter legt Datenpunkte an für die sogenannten Gruppenadressen. Mir fehlte nur das Verständnis der Abfrage.
Danke für deine Unterstützung!!
LG,
Dali