NEWS
Brauche Hilfe bei Blockly Rollo-Steuerung
-
Hallo,
wie der Titel schon sagt, brauche ich Hilfe beim meimem Blockly Script.
Kurz zu meinem Setup:
Ich habe einen Rolloschalter von Homematic (nicht IP) mit einem Raspberry verbunden auf dem CUU läuft. Funktioniert alles soweit. Der Schalter ist jedoch als Hauptschalter mit den anderen original Schlatern verbunden, heißt ich kann nur den Hauptschalter über Homematic steuern. Ist soweit auch kein Problem, da ich den nur auslösen lassen will, wenn Netatmo Wind über 18 Km/h meldet.
Hab jetzt alles soweit in iobroker eingerichtet und es funktioniert auch.
Jedoch will ich jetzt, dass bei Windstärke 15km/h eine Pushnachricht kommt (funktioniert) und ab 18km/h der Hauptschalter ausgelöst wird. Das funktioniert auch soweit indem ich den Wert 100 für ganz oben über blockly schreiben lasse.
Soweit so gut, nur ist der Hauptschalter dann bei 100%, also oben, aber wenn ich in der ziwschenzeit ein anderes Rollo manuell runter gefahren habe, löst er bei Wind nicht mehr aus. Ich hoffe es ist einigermaßen verständlich erklärt. Der Hauptschalter reagiert quasi nur auf die Aktionen von Alexa, iobroker oder Homematic.
Ich brauche eine funktion die die Rollos immer hochfahren auch wenn in der Zeile 100% steht.
Leider habe ich das über die Schalter selbst noch nicht geschafft, in Homematic habe ich Schalter über die ich hoch und runter fahren kann. In iobroker funktioniert das nur über den Wert den ich ändern muss, 0 ist unten und 100 oben.
aber selbst dann habe ich noch das Problem, dass der Schalter alle paar Minuten auslösen würde, da Netatmo ja den Wert immer wieder meldet…
Hat hier zufällig einer eine Idee wie ich das Sinnvoll umsetzen könnte?
Gruß
Thomas
5977_unbenannt.jpg -
Ich hoffe es ist einigermaßen verständlich erklärt ` also was mich betrifft muss ich leider antworten "Nein, ganz und gar nicht verständlich".
Dadurch dass Du erzählst was alles geht und immer wieder Schalter in deiner Erläuterung vorkommen, habe ich den Faden verloren was Du eigentlich mit dem Script auslösen willst und/oder wann das Script etwas ignorieren soll.
Kannst Du das ganze noch einmal in Prosa - nur auf das gewünschte Script bezogen - zusammenfassen?
Wenn - Dann - Sonst
-
danke schonmal für die Rückmeldung, ja das ist bisschen blöd zum erklären.
Ich Teils einfach mal auf der Reihe nach.
Also mein 1. Problem was das o.g. Script betrifft mit der Pushnachricht.
Ich bekomme jetzt eine Pushnachricht wenn der Wind über 15km/h ist.
Wie kann ich jetzt verhindern dass er das bei jeder Meldung von Netatmo macht? Bekomme jetzt bei Windstärke über 15km/h alle paar minuten eine Pushnachricht.
Ich dachte da an so eine Abfrage wenn Push innerhalb der letzten 60min geschickt, dann keine schicken. Oder denke ich da zu kompliziert?
-
wie wäre es denn so?
(ich habe kein pushover, daher hier ersatzweise das eMail-Pendant)
[EDIT] und hier noch der Code vom Blockly
(die Objekte müssen natürlich durch deine eigenen Objekte ersetzt werden)
! ````
<xml xmlns="http://www.w3.org/1999/xhtml"><block type="on" id="jij6RvorqFCCsKvbGf6d" x="13" y="-262"><field name="OID">Geräte.0.Wind_Strength</field>
<field name="CONDITION">ne</field><statement name="STATEMENT"><block type="controls_if" id=".qFz6tbz5@bdps(U8@D)"><value name="IF0"><block type="logic_operation" id="M2ukLofMR]Owx7IL!/^!" inline="false"><field name="OP">AND</field> <value name="A"><block type="logic_compare" id="#dGmOf9*p~}e6^`w]C|y"><field name="OP">GTE</field> <value name="A"><block type="on_source" id="OC:l@,q`2XD9sk-.qWFF"><field name="ATTR">state.val</field></block></value> <value name="B"><block type="math_number" id=",:/##FQ;p3e;(d?yO/)6"><field name="NUM">15</field></block></value></block></value> <value name="B"><block type="logic_compare" id=")3mWu}kwZ|=Yc2dnP`)#"><field name="OP">LT</field> <value name="A"><block type="on_source" id="ILe7Ri+_pRmsC1XNSIvu"><field name="ATTR">oldState.val</field></block></value> <value name="B"><block type="math_number" id="|6f+JnaDKzC,u-5Q6zdG"><field name="NUM">15</field></block></value></block></value></block></value> <statement name="DO0"><block type="email" id="!-FGVd`{C+N/haFcCn2m"><field name="IS_HTML">FALSE</field> <field name="LOG">log</field> <value name="TO"><shadow type="text" id="lzO8L.oj,k*1eq36g|Oq"><field name="TEXT">Empfänger</field></shadow></value> <value name="TEXT"><shadow type="text" id="Yrn*UPuuxicuzjUS5]+w"><field name="TEXT">Wind ist über 15 km/h</field></shadow></value> <value name="SUBJECT"><shadow type="text" id=",U!cw)D}+9c?SpMdgOtJ"><field name="TEXT">Wind ist über 15 km/h</field></shadow></value> <value name="FROM"><block type="text" id="0xy#HqQ1I(U6~;lB(2L}"><field name="TEXT">iobroker</field></block></value></block></statement> <next><block type="controls_if" id="hg1e;=*-cw;?;qWTiNXN"><value name="IF0"><block type="logic_operation" id="{iN|SxeA4!k!@i8b7uo," inline="false"><field name="OP">AND</field> <value name="A"><block type="logic_compare" id="#{U`~Y5NXpb]RMFMmP9F"><field name="OP">GTE</field> <value name="A"><block type="on_source" id="8?)*DE!e:#ti?~uO{cq1"><field name="ATTR">state.val</field></block></value> <value name="B"><block type="math_number" id="-e)*!i^D6#?m*o]2fJ.3"><field name="NUM">18</field></block></value></block></value> <value name="B"><block type="logic_operation" id="{kmPQDO}DN-jClw2xgUX" inline="false"><field name="OP">AND</field> <value name="A"><block type="logic_compare" id="lTd)Yse=dG:*RTAOh@KL"><field name="OP">LT</field> <value name="A"><block type="on_source" id="6b7t0dXdW.u}Mo*%6d}l"><field name="ATTR">oldState.val</field></block></value> <value name="B"><block type="math_number" id="|fWM.90C%l/`ULL.h@fV"><field name="NUM">18</field></block></value></block></value> <value name="B"><block type="logic_compare" id="i!VEShH9z;cE]Bb[r.2J"><field name="OP">LT</field> <value name="A"><block type="get_value" id="JWMzsyiKx1*37q4~kk~R"><field name="ATTR">val</field> <field name="OID">Geräte.0.Rollo</field></block></value> <value name="B"><block type="math_number" id="T(cNJJv`=Pc22VCt3Lm5"><field name="NUM">100</field></block></value></block></value></block></value></block></value> <statement name="DO0"><block type="control" id="(jT}ova/aEikCsCU-6@I"><mutation delay_input="false"></mutation> <field name="OID">Geräte.0.Rollo</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="math_number" id=":8+y7uNWd.`SnOw@EWSs"><field name="NUM">100</field></block></value></block></statement></block></next></block></statement></block></xml>
[1917_rollo_wind.jpg](/assets/uploads/files/1917_rollo_wind.jpg)
-
eh super, das hört sich ja schonmal sehr gut an! dann kann ich das mit den Pushmeldungen ja schonmal sauber regeln.
Dann muss ich nur noch irgendwie den Homematic Schalter von den Rollos sauber in iobroker bekommen.
Ich kann die Rollos zwar in in iobroker steuern, aber nur indem ich den Wert 0 (unten) bis 100 (oben) ändere.
Für mein Vorhaben brauche ich aber einfach eine Simulation von den Schaltern die lange gedrückt werden.
kannst du mir hier zufällig auch helfen oder soll ich das besser in nem extra thema neu aufmachen? das hat ja direkt nix mit den skripten zu tun
-
Dann muss ich nur noch irgendwie den Homematic Schalter von den Rollos sauber in iobroker bekommen.
Ich kann die Rollos zwar in in iobroker steuern, aber nur indem ich den Wert 0 (unten) bis 100 (oben) ändere.
Für mein Vorhaben brauche ich aber einfach eine Simulation von den Schaltern die lange gedrückt werden. ` Ich verstehe dich nicht. Was ist ein HomeMatic Schalter und was hat der mit dem Wind zu tun?
das hat ja direkt nix mit den skripten zu tun ` das sehe ich ähnlich
-
ok, ich versuchs nochmal.
ich habe einen Homematic IP Rollladenaktor – Unterputz, 151347A0 der quasi als Hauptschalter für meine ganzen Rollos im Haus dient.
Wenn der Wind (Netatmo) über 18km/h ist, sollen die Rollos automatisch hoch fahren.
Hoffe soweit ist es verständlich?
Daher das Skript, ab 15km/h eine Pushmeldung dass es kritisch wird und ab 18km/h dann Rollos nach oben fahren.
Jetzt habe ich jedoch das Problem, dass ich den Rolladenaktor in iobroker nur Steuern kann über den Wert 0-100 die er fahren kann.
d.h. wenn er einmal auf 100% gefahren ist, bleibt der wert auch auf 100 wenn ich die einzelnen rollo schalter darunter bediene. wenn jetzt erneut ein Wind über 18km/h kommt, dann fährt er nicht hoch, da der Wert ja schon 100 ist.
Ich Schaffe es leider nicht die Schalter für AUF und AB von Homematic einzurichten, das würde das Problem lösen.
-
ich verstehe es noch immer nicht …
Ich habe 16 Rolläden und entsprechend 16 HomeMatic Rolladen Aktoren (bei mir sind diese lediglich wired)
Und jeden dieser Rolladen kann ich unabhängig voneinander auf ein bleibige Behanghöhe fahren.
Dabei kann ich jederzeit direkt bei jedem Rolladen auslesen auf welcher Behanghöhe sich dieser aktuell gerade befindet.
Es ist völlig unerheblich auf welche Art und Weise irgendwann einmal einer dieser Rolladen auf was für eine Behanghöhe auch immer gefahren wurde.
Wenn ich nun über ioBroker sage der Rolladen soll auf 100% fahren, dann macht er das auch.
Unabhängig davon ob irgendwelche Schalter irgend etwas anderes in der Zwischenzeit gemacht haben oder irgend ein anderer Rolladen auf 100% steht oder nicht.
-
Ich habe 16 Rolläden und entsprechend 16 HomeMatic Rolladen Aktoren (bei mir sind diese lediglich wired) `
und genau das ist hier anscheinend nicht der Fall, Quasi sozusagen:
@MasterGsus:ch habe einen Homematic IP Rollladenaktor – Unterputz, 151347A0 der quasi als Hauptschalter für meine ganzen Rollos im Haus dient. `
Ich glaube nicht, dass das der vorgesehenen Anwendung des Aktors entspricht.Gruß
Rainer
-
mal so ne frage, davon ab was du manuell mit diesem schalter machst
warum verknüpfst du im Script nicht die einzelnen Rolladen die müssen dann ja auch so nen Rolladenschalter haben?`
Mehrere Rolläden an dem einen Schalter geht nur über Trenn-Relais oder wie machste das?
-
Was macht denn dann das Script bei Wind >= 18 km/h?
Fährt durch das Script nur ein Rolladen hoch oder alle?
Wenn alle, warum ist denn dann plötzlich ein Rolladen nicht mehr auf 100%?
Wurde dieser manuell wieder heruntergefahren?
-
d.h. wenn er einmal auf 100% gefahren ist, bleibt der wert auch auf 100 wenn ich die einzelnen rollo schalter darunter bediene. `
denke er hat den Master-Schalter per Script auf alle andren geschaltet, oder direktverknüpft; gehts das?
dann müsste das aber doch einfach zu umgehen sein wenn er im Script die einzelnen Rolläden abfragt und nicht seinen master schalter`?
-
dann müsste das aber doch einfach zu umgehen sein wenn er im Script die einzelnen Rolläden abfragt und nicht seinen master schalter `
Wenn unsere Glaskugeln recht haben, ja!Dann muss er alle einzelnen abfragen (die aber~~@MasterGsus:~~
mit den anderen original Schlatern verbunden ` wahrscheinlich nicht abfragbar sind) und wenn nur ein einzelner <100 ist, dann erneut hoch!
Gruß
Rainer
-
ich habe nur EINEN Homematic Schalter der über iobroker bzw homematic geschaltet werden kann.
Dieser ist mein Hauptschlater. Alle Rollo Schalter sind ganz normal elektrische Schalter, die miteinander verbunden sind und über den Hauptschalter bedient werden können.
D.h. ich kann nur ALLE Rollos hoch oder runter fahren über die Steuerung. Die einzelnen Rollos muss ich manuell am Schalter an der Wand bedienen.
Und nein das ist nicht so gedacht, funktioniert aber. Ich brauche nicht jeden einzeln schalten, es soll nur ein Notschalter für starken Wind sein, bzw kurez kommandos an Alexa "Rollo hoch".
-
funktioniert aber. `
Eben nicht!zumindest nicht, wenn jemand an den "original" Schaltern etwas bedient.
Woher soll dann der Hauptschalter noch die Position kennen?
Gruß
Rainer
-
ja ich weiß es ist kompliziert
drum bräuchte ich ja die AUF und AB Schalter in iobroker von Homematic CCU. In der Homematic Oberfläche habe ich die ja und die funktionieren unabhängig vom Wert 0-100.
aber ich bekomme die Schalter nicht zum laufen in iobroker
-
du könntest ne sysvar in der CCU erstellen und dann in der ccu ein programm für wenn SYSvar true dann Rolladenschalter Tastendruck lang. Die SYSVar dann über iobroker steuern;oder?
-
Und nein das ist nicht so gedacht, funktioniert aber. ` jain - nur solange auch wirklich alle Schaltungen nur über diesen HomeMatic IP Aktor erfolgen. Kaum dass etwas außerhalb dessen durchgeführt wird fuktioniert es wohl eben nicht mehr. 8-)
-
drum bräuchte ich ja die AUF und AB Schalter in iobroker von Homematic CCU. In der Homematic Oberfläche habe ich die ja und die funktionieren unabhängig vom Wert 0-100.
aber ich bekomme die Schalter nicht zum laufen in iobroker ` nach meine Verständnis wirst Du das über ein "View" lösen müssen
-
drum bräuchte ich ja die AUF und AB Schalter in iobroker von Homematic CCU. In der Homematic Oberfläche habe ich die ja und die funktionieren unabhängig vom Wert 0-100.
aber ich bekomme die Schalter nicht zum laufen in iobroker
nach meine Verständnis wirst Du das über ein "View" lösen müssen
die states Tastendruck lang und kurz gibt es nicht beim Iobroker oder wie meinste das?