NEWS
Rolladen Zeitverzögert ansteuern
-
Hallo in die Runde,
Danke für die zahlreichen Antworten und Lösungsvorschlage.
Ich bin ein ganzes Stück weiter mit der Lösung von pix…
Aber folgendes:
Das umschalten von Auto auf Hand und zurück startet schonmal keine Aktion mehr.
Nun kann ich aber ob Auto oder HAnd vorgewählt alle 3 Fahrten auslösen, was ja nur bei Hand funktionieren soll und bei Auto gesperrt.
Sebastian
-
Ich nochmal,
der erste Vorschlag von Pix war gut und beim schreiben meines ersten Posts gab es nochmal eine Änderung von Pix und mit derm Script geht es garnicht mehr.
Jetzt bin ich vollkommen durcheinander.
Sebastian
-
@pix:Es fehlten aber auch die () nach dem Funktionsaufruf. Ohne ging es bei mir nicht `
Nach if(…) muss der Funktionsaufruf mit () erfolgen.Bei on({id: meineid, val:true}, funktion) darf keine Klammer gesetzt werden (http://forum.iobroker.de/viewtopic.php?f=21&t=1883&sid=8266b84ce04121c6720296933aad6977&sid=8266b84ce04121c6720296933aad6977#p16126). Richtig:
... on({id: Zu, val: true}, Runter); on({id: Auf, val: true}, Rauf); on({id: Halbe, val: true}, Beschattung);
-
Nun kann ich aber ob Auto oder HAnd vorgewählt alle 3 Fahrten auslösen, was ja nur bei Hand funktionieren soll und bei Auto gesperrt. `
Dann versuche es mal so:createState('Jalousien.Hand.Zu', false); createState('Jalousien.Hand.Auf', false); createState('Jalousien.Hand.Halbe', false); createState('Jalousien.Modus.Hand_Auto', false); var Vorwahl = "javascript.0.Jalousien.Modus.Hand_Auto"; var Zu = "javascript.0.Jalousien.Hand.Zu"; var Auf = "javascript.0.Jalousien.Hand.Auf"; var Halbe = "javascript.0.Jalousien.Hand.Halbe"; var hand; // Vorwahl Auto/Hand function Runter() { if (hand) { setState ("hm-rpc.0.BidCoS-RF.12.PRESS_SHORT", true); setStateDelayed("hm-rpc.0.BidCoS-RF.15.PRESS_SHORT",true,2000); } } function Rauf() { if (hand) { setState ("hm-rpc.0.BidCoS-RF.13.PRESS_SHORT", true); setStateDelayed("hm-rpc.0.BidCoS-RF.16.PRESS_SHORT",true,2000); } } function Beschattung() { if (hand) { setState ("hm-rpc.0.BidCoS-RF.14.PRESS_SHORT", true); setStateDelayed("hm-rpc.0.BidCoS-RF.17.PRESS_SHORT",true,2000); } } on(Vorwahl, function (dp) { hand = dp.newState.val; }); on({id: Zu, val: true}, Runter); on({id: Auf, val: true}, Rauf); on({id: Halbe, val: true}, Beschattung);
-
Hallo paul53,
ich werde dein Script erst morgen probieren können,Kinder liegen schon im Bett.
Trotzdem Danke schonmal vorab…werde morgen berichten.
Sebastian
-
Auch hier noch mal erklärt. Denke ich :oops:
@soef:function setFirstTimer(obj) ... on({ id: 'idZweiteOeffnung_Minute', change: 'ne'}, setSecondTimer(obj) ); ```` `
So darf man nicht schreiben. Du versuchst als Event Handler das Ergebnis von Funktion "setSecondTimer" zu benutzen und nicht die Funktion selbst. `
Das stimmt natürlich. Sorry. (obj) darf natürlich nicht angegeben werden. Also nur der Funktionsname.
on({ id: 'idZweiteOeffnung_Minute', change: 'ne'}, setSecondTimer); ```` `
-
Hallo paul53,
wie versprochen eine Rückmeldung von mir
PERFEKT!!!!
Klappt alles super wie ich mir das vorstelle….Danke an Dich und Danke an alle Anderen Beteiligten.
Bis zum nächsten mal
Sebastian
-
Nach if(…) muss der Funktionsaufruf mit () erfolgen.
Bei on({id: meineid, val:true}, funktion) darf keine Klammer gesetzt werden (siehe diesen Beitrag ff.). ` Wieder was gelernt! Danke, Paul.
Gruß
Pix
-
Guten Abend liebes Forum,
ich bin gerade dabei einige CCU Programme zu portieren nach Iobroker.
Und da bin ich gerade auf ein Problem gestossen mit folgender Konstellation.
Ich habe auf meiner Visualisierung 4 Bedienflächen
Rolladen Vorwahl Auto/Manu als Toggle –-- bei Auto ist Astro aktiv , bei Manu die globale Bedienung der Rolladen
Alle Rolladen zu als Taster
Alle Rolladen Beschattung als Taster
Alle Rolladen auf als Taster
Danke im voraus
Sebastian `
Hallo,
vielleicht kann ich hier ein wenig schnorren. Bin Script unerfahren und gerade dabei mein Haus mit Homatic weiter auszurüsten.
Bin jetzt gerade an der Rolladensteuerung und der Lösungsansatz ist im Prinzip das was ich auch gerne hätte.
Rolladen Vorwahl Auto/Manu als Toggle –-- bei Auto ist Astro aktiv , bei Manu die globale Bedienung der Rolladen
Alle Rolladen zu als Taster
Alle Rolladen Beschattung als Taster
Alle Rolladen auf als Taster
Kann mir vielleicht jemand die notwendigen Scripte dafür zur Verfügung stellen?
Danke und Gruß
-
Hi,
ich habe mich mal an das bereits in diesem Thema enthaltene Script gewagt.
Damit ich irgendwann mal verstehe wie das alles funktioniert mal ein paar fragen:
wenn ich das Script so erstelle wie angegeben, muss ich doch zusätzlich in der CCU sagen das bei z.B. Druck der Taste "hm-rpc.0.BidCoS-RF.12.PRESS_SHORT" die Rolladen aktoren auf 0% (zu) fahren, oder mache ich das auch in iobroker?
Das wiederhole ich für alle drei Tasten, korrekt?
Sieht bei mir z.B. so aus:
Wenn ich z.B. diese Taste nehmen würde: "hm-rpc.0.BidCoS-RF.15.PRESS_SHORT" würde der Rolladen 2000ms später fahren, richtig?
Das Programm habe ich erstmal 1 zu 1 in iobroker importiert und gestartet. Danach ist mein Status so:
Ich habe mir zum Testen zwei einfache Widgets erstellt und die jeweils mit der virtuellen Taste für rauf bzw. runter belegt. Das scheint zu klappen.
Wie funktioniert jetzt die Umschaltung zwischen Auto/Hand ? Ein Auto Script habe ich zwar noch nicht aber was muss ich machen um wählen zu können?
Ich kann mit einen weiteren Widget den Status für "Hand_Auto" zwischen "true und false" wechseln, allerdings kann ich egal was da steht immer meine beiden anderen Widgets zum fahren benutzen.
Danke für eure Hilfe