NEWS
Fenster offen Meldung (Blockly)
-
Hallo,
ich habe folgende Idee die gerne mit Blockly umsetzen möchte es aber nicht hin bekomme.
Nach benutzen der Örtlichkeiten im Badezimmer wird das Fenster geöffnet.
Jetzt passiert aber manchmal das gerade jetzt in der kalten Jahreszeit vergessen wird das Fenster wieder zu schließen.
Ich möchte gerne per Sayit oder Telegram informiert werden, das das Fenster nach einer gewissen Zeit, bei einer gewissen
Außentemperatur noch geöffnet ist.
Also,
Außentemperatur <5 °C
Fenster > 10 min offen
dann Meldung
Kann mir da vielleicht jemand einen Tipp geben wie das am besten machen kann.
-
So würde ich da rangehen:
Und hier der Export dazu:
! ````
<xml xmlns="http://www.w3.org/1999/xhtml"><block id="^!r;|,CM:B[pCuB6g~Q3" type="comment" x="288" y="-487"><field name="COMMENT">auf Fensteröffnung triggern</field>
<next><block id="xA*o7]:Gl0b-]#r!v|fl" type="on"><field name="OID">Object ID</field>
<field name="CONDITION">ne</field><statement name="STATEMENT"><block id="dvqT3{Kx^t@G=t[2=.Zn" type="comment"><field name="COMMENT">Temperatur und Fenster auf abfragen</field> <next><block id="d[M,o{c,4MREsFllk.L;" type="controls_if"><mutation else="1"></mutation> <value name="IF0"><block id="{zc_Am[Dv1.)]WX]|OD[" type="logic_operation" inline="false"><field name="OP">AND</field> <value name="A"><block id="WF|YUTW%dawqMgwWs/M-" type="logic_compare"><field name="OP">EQ</field> <value name="A"><block id="KXeG{[ieyz-*?FBk?!4)" type="get_value"><field name="ATTR">val</field> <field name="OID">ID auswählen</field></block></value> <value name="B"><block id="y]XYMfqoR+Fl78/{Uj/X" type="logic_boolean"><field name="BOOL">TRUE</field></block></value></block></value> <value name="B"><block id="{H9^(InEi0FIg`WlNMea" type="logic_compare"><field name="OP">LT</field> <value name="A"><block id="h7dj]@(FF.W.w:D#G_Co" type="get_value"><field name="ATTR">val</field> <field name="OID">ID auswählen</field></block></value> <value name="B"><block id="w,Q{75]Fpg;%O?X%7sqo" type="math_number"><field name="NUM">0</field></block></value></block></value></block></value> <statement name="DO0"><block id="!sgESw=,YYo@[pJsYQO," type="timeouts_settimeout"><field name="NAME">timeout</field> <field name="DELAY">10</field> <field name="UNIT">min</field> <statement name="STATEMENT"><block id="#=h88QDQnUVVV|Y+M10T" type="telegram"><value name="MESSAGE"><shadow id="B98q8IxsOgnDC)-a,@T`" type="text"><field name="TEXT">text</field></shadow></value></block></statement></block></statement> <statement name="ELSE"><block id="q(IQ`d[@:7jrr7Lrts]I" type="timeouts_cleartimeout"><field name="NAME">timeout</field></block></statement></block></next></block></statement></block></next></block></xml>
Enrico
-
Kann mir da vielleicht jemand einen Tipp geben wie das am besten machen kann. `
Da hättest Du auch schon von alleine drauf kommen können. OderGrüße
-
Mein erster Gedanke war auch, zu schreiben, ob er denn schon einen Anfang hat. Ich probiere ja meist auch vorher aus, eine Möglichkeit zu finden, um eben auch ein wenig zu üben, sonst kriegt mans ja nie allein hin.
Hab dann aber doch mal meine Idee dazu erstellt, muss ja auch mal hören, was andere dazu sagen.
Enrico
-
Mein erster Gedanke war auch, zu schreiben, ob er denn schon einen Anfang hat. Ich probiere ja meist auch vorher aus, eine Möglichkeit zu finden, um eben auch ein wenig zu üben, sonst kriegt mans ja nie allein hin.
Hab dann aber doch mal meine Idee dazu erstellt, muss ja auch mal hören, was andere dazu sagen.
`
Bei Dir muss man sich keine Gedanken mehr machenGrüße
-
Hi,
ich bin blutiger Anfänger.
Bin froh das einem hier geholfen wird.
Ich hab das mit dem Timeout noch nicht so richtig verstanden.
Wieso muss ich das stoppen?
-
Da hättest Du auch schon von alleine drauf kommen können. Oder
`
Ich habe da wirklich Probleme damit, für was und welche Blöcke ich da nehmen
muss.
-
Hi,
ich bin blutiger Anfänger.
Bin froh das einem hier geholfen wird.
Ich hab das mit dem Timeout noch nicht so richtig verstanden.
Wieso muss ich das stoppen? `
Nun Du möchtest doch nach 10 Minuten eine Meldung bekommen.Das macht der eingesetzte "Timeout".
Also bildlich ausgedrückt, richtet ioBroker eine Warteschlange ein.
Das wird JEDESMAL gemacht wenn der Baustein ausgeführt wird.
Wenn bei dem Beispiel innerhalb der der 10 Minuten das Fenster mehrmals geöffnet wird, wird jedesmal eine neue Warteschlange eingerichtet.
Wenn das Fenster 5x geöffnet wurde, sind 5 Warteschlangen aktiv.
Die dann nacheinander abgearbeitet würden. Du bekämst dann also 5 Meldungen. Alle 10 Min. eine.
Deshalb sollte man sicherheitshalber einen Timeout vorher stoppen.
Wenn ein Timeout gestoppt wird, wird das was in dem Timeout steht NICHT ausgeführt.
Grüße
-
Ich habe da wirklich Probleme damit, für was und welche Blöcke ich da nehmen
muss. `
Probieren geht über studierenUnd es gibt, hier im Forum, schon ganz viel zu lesen.
Hier ist niemand mit der "Blockly"-Milch großgezogen worden.
Grüße
-
Wenn bei dem Beispiel innerhalb der der 10 Minuten das Fenster mehrmals geöffnet wird, wird jedesmal eine neue Warteschlange eingerichtet.
Wenn das Fenster 5x geöffnet wurde, sind 5 Warteschlangen aktiv.
Die dann nacheinander abgearbeitet würden. Du bekämst dann also 5 Meldungen. Alle 10 Min. eine.
Deshalb sollte man sicherheitshalber einen Timeout vorher stoppen.
Wenn ein Timeout gestoppt wird, wird das was in dem Timeout steht NICHT ausgeführt. `
Siehste, bin doch noch Anfänger :lol: , ich habe den Timeout hauptsächlich deswegen drin, weil ich die Meldung ja nicht mehr bekommen wenn möchte, wenn der Fensteröffner das Fenster gewissenhaft, wegen der Kälte draußen, wieder nach 7 min schließt! :mrgreen:
Enrico
-
Siehste, bin doch noch Anfänger :lol: , ich habe den Timeout hauptsächlich deswegen drin, weil ich die Meldung ja nicht mehr bekommen wenn möchte, wenn der Fensteröffner das Fenster gewissenhaft, wegen der Kälte draußen, wieder nach 7 min schließt! :mrgreen: `
Das wäre die sichere Variante.
Ein Timeout stoppen, der noch nicht läuft, erzeugt KEINEN Fehler.
Grüße
-
Ein Timeout stoppen, der noch nicht läuft, erzeugt KEINEN Fehler. `
Da gebe ich dir Recht, ich glaube aber trotzdem nicht, dass man es schafft, außer der JS-Adapter hängt grad, das Fenster so schnell zu schließen, dass das erste Stop ausgeführt werden würde bevor der Timout startet, oder?
Enrico
-
Da gebe ich dir Recht, ich glaube aber trotzdem nicht, dass man es schafft, außer der JS-Adapter hängt grad, das Fenster so schnell zu schließen, dass das erste Stop ausgeführt werden würde bevor der Timout startet, oder? `
Ja, da hast Du natürlich recht. Es sollte ja auch nur eine sichere Variante aufzeigen.Es soll auch schon mal passiert sein, dass man beim Blockly erstellen/umstellen ein Stop vergessen hat.
Grüße
-
Hi,
ich verstehe nur noch Bahnhof :shock:
Wieso muss ich den Timeout erst Stoppen wie es rantanplan geschrieben hat?
Weil das Fenster vielleicht zwischendurch geschlossen wurde?
Hat das damit was zu tun.
-
Hi,
ich verstehe nur noch Bahnhof :shock:
Wieso muss ich den Timeout erst Stoppen wie es rantanplan geschrieben hat? `
Habe ich, glaub ich, ausführlich beschrieben.Die Folgebeiträge auch lesen.
@totocotonio:Hat das damit was zu tun. `
Was hindert Dich es mal einfach mal auszuprobieren?Da explodiert nichts
Versuch macht Klug
Grüße
-
ich verstehe nur noch Bahnhof :shock: `
Ist doch schon mal was, besser als gar nichts zu verstehen! :lol:
Probiere doch einfach mal die Varianten durch und teile uns deine Ergebnisse mit!
Enrico
-
Hi,
danke für eure Hilfe.
Ich "spiele mal etwas rum"
-
Ich "spiele mal etwas rum" `
:!: :!: :!: -
ich habe das Blockly von oben nach gebaut und leider funktioniert es nicht so wie beschrieben, den wenn man das Fenster paar mal hintereinander auf und zumacht bekommt man auch mehrmals eine Benachrichtigung das es noch offen ist!
habe es dann abgeändert und so hat es dann bei mir auch funktioniert:
-