NEWS
Blockly-Skript - Telegram messages doppelt
-
Hallo,
habe ein Skript am Laufen, welches mir Meldungen per Telegram schickt, aber die Meldungen kommen immer doppelt und dreifach obwohl das eigentlich nicht sein sollte - siehe Skript. Hatte ich mir aus einem anderen thread kopiert. leider funktioniert das nicht und ich weiss nicht wie ich das beheben kann.
Hier das Blockly: -
kommen denn die Meldungen abwechselnd oder mehrfach die selbe in folge ?
Ggf. springt der Bewegungsmelder nach dem auslösen, und einer Zeit die dann abläuft, auch trotz Bewegung auf false und sofort wieder auf true ? Da würde ich erstmal schauen was der BW tatsächlich macht.
Die Variable ist aktuell überfüssig so wie du sie eingebaut hast.
-
@segway sagte in Blockly-Skript - Telegram messages doppelt:
Hallo,
habe ein Skript am Laufen, welches mir Meldungen per Telegram schickt, aber die Meldungen kommen immer doppelt und dreifach obwohl das eigentlich nicht sein sollte - siehe Skript. Hatte ich mir aus einem anderen thread kopiert. leider funktioniert das nicht und ich weiss nicht wie ich das beheben kann.
Hier das Blockly:Was ist denn Wert? Der ist ja nicht definiert?
Außerdem braucht man den Adressaten beim telegram nicht, wenn man an alle senden will...
Das typische Problem ist, dass Occupancy vermutlich mehrfach hintereinander den Status ändert und somit das Skript mehrfach getriggert wird.
-
Der Wert wird doch auf wahr / falsch abgefragt (true/false).
Unter Objekte in IoB gibt es IMMER nur EIN Wert nie mehrere. Somit gehe ich davon aus, dass der melder auch ur EINMAL meldet.
Ich habe Adressaten in Telegram mit reingenommen, da ich ggf. nicht alle Empfänger haben möchte !
-
@segway
Das mit Wert ist Ok, da JoergH die Funktion wohl überhaupt nicht kennt.
"=wahr" ist wie immer überflüssig und das was JoergH zum Prellen des BWM gesagt hat, könnte ich mir so auch vorstellen. Pack die FALLS deshalb in ein Timeout von 1S und davor den üblichen stop timeout um mehrfache Timeouts zu verhindern.
Das "sonst falls" kannst aber auch einfach durch "sonst" ersetzen.Funktioniert das nicht, müssen wir weiter suchen.
@JoergH
"Wert" aus den Trigger Blöcken bezieht sich immer auf das Objekt im Trigger, somit auch definiert -
denke mal JoergH meint sicher den "virtuellen Schalter" den er auf true/false setzt (unter der Telegramnachricht) diesen aber nicht abfragt jedenfalls wird er nicht mit "Wert" abgefragt
mit dem "virtuellen Schalter" wollte er sicherlich die doppelten Nachrichten abschalten
-
@xbit
Ja, so wie das jetzt drin ist, hat das keine Funktion, würde aber erst mal mit dem Timeout anfangen, da das so am einfachsten ist, wenn der BWM doch prellt. -
das würde ich auch probieren mit dem Timeout, die Variable ist überflüssig, da du ja nur auf Änderungen triggerst.
-
@jan1 sagte in Blockly-Skript - Telegram messages doppelt:
@segway
Das mit Wert ist Ok, da JoergH die Funktion wohl überhaupt nicht kennt.Nein, stimmt. Das kenne ich nicht. Heisst das, ich definiere eine Variable namens "Wert" und die enthält dann immer automatisch den Wert des Objektes?
-
@joergh sagte: Heisst das, ich definiere eine Variable namens "Wert" und die enthält dann immer automatisch den Wert des Objektes?
Nein, unter "Trigger":
-
Ah! Ok, danke! Wieder was gelernt...
-
@cinimod sagte in Blockly-Skript - Telegram messages doppelt:
das würde ich auch probieren mit dem Timeout, die Variable ist überflüssig, da du ja nur auf Änderungen triggerst.
Habs mal umgebaut. Wieder einiges gelernt und hoffentlich richtig gemacht ?
-
@segway berichte mal ob es so klappt
-
@cinimod sagte in Blockly-Skript - Telegram messages doppelt:
@segway berichte mal ob es so klappt
Gerade in die Kälte gegangen und schwups --> klappt
-
-
@cinimod sagte in Blockly-Skript - Telegram messages doppelt:
das würde ich auch probieren mit dem Timeout, die Variable ist überflüssig, da du ja nur auf Änderungen triggerst.
Eigentlich macht man das um die FALLS und nicht in die FALLS (so hatte ich es auch geschrieben), alternativ die Methode wie es Paul vorschlägt, da eleganter.
-
@jan1 sagte in Blockly-Skript - Telegram messages doppelt:
Eigentlich macht man das um die FALLS und nicht in die FALLS (so hatte ich es auch geschrieben), alternativ die Methode wie es Paul vorschlägt, da eleganter.
Ich habe die Falls Bedingung doch genauso gemacht und dann MACHE und SONST. Verstehe ich grad nicht.
@paul53 sagte in Blockly-Skript - Telegram messages doppelt:
@segway sagte: klappt
Dann sollte es auch so klappen (schont Ressourcen):
Okay werde ich noch ändern. Danke.
-
@segway sagte in Blockly-Skript - Telegram messages doppelt:
@jan1 sagte in Blockly-Skript - Telegram messages doppelt:
Eigentlich macht man das um die FALLS und nicht in die FALLS (so hatte ich es auch geschrieben), alternativ die Methode wie es Paul vorschlägt, da eleganter.
Ich habe die Falls Bedingung doch genauso gemacht und dann MACHE und SONST. Verstehe ich grad nicht.
Ich glaube Jan meinte das so:
-
@segway
hier mal ein Beispiel für "um die FALLS"
In der FALLS funktioniert auch, nur wird dann eben die FALLS schon ausgewertet und wenn Du dann noch ne SONST drin hasz muss das dann auch doppelt gemacht werden
-