NEWS
(gelöst) mein erstes Blockly... korrekt?
-
@Humidor sagte:
kann ma so lassen?
Na ja, den Umweg über den Trigger und die Variablen kann man sich sparen, wenn man die Variablen nicht noch anderweitig verwenden möchte: Die Messwerte können auch im Zeitplan eingelesen werden.
-
@paul53 sagte in mein erstes Blockly... korrekt?:
@Humidor sagte:
kann ma so lassen?
Na ja, den Umweg über den Trigger und die Variablen kann man sich sparen, wenn man die Variablen nicht noch anderweitig verwenden möchte: Die Messwerte können auch im Zeitplan eingelesen werden.
Jain, meine nächste Frage betrifft genau dass, wenn eine Variable gesetzt wird, soll beim 1.x nicht die Zeit verstreichen, sondern gleich eine Message gesendet werden. Also ein einmaliger Trigger, wie macht man diesen? Aber ohne in der standard Abfrage eine Message einzubauen.
-
@Humidor sagte:
Also ein einmaliger Trigger, wie macht man diesen?
Was verstehst Du unter "einmaliger Trigger".
@Humidor sagte in mein erstes Blockly... korrekt?:
ohne in der standard Abfrage eine Message einzubauen.
Wie soll das gehen ?
-
Im linken Block, parallel zur Zeit, ein Trigger-Event
-
@Humidor sagte in mein erstes Blockly... korrekt?:
Also ein einmaliger Trigger, wie macht man diesen?
Dann musst du mit einer "Sperrvariablen" arbeiten.
Diese setzt du nach der ersten Nachricht auf true und nach einer gewissen Zeit, nach einer gewissen Anzahl von übersprungenen Events,.... wieder auf false.Nach dem Trigger musst du dann auch noch auf diese Variable prüfen, und den Versand der Nachricht nur ausführen, wenn die Sperrvariable auf false ist.
@Humidor sagte in mein erstes Blockly... korrekt?:
zuerst wird ein Trigger geschaffen, d.h. eine Abfrage definiert, ob die Feuchtigkeit außerhalb der Norm ist.
Dein Trigger prüft das nicht sondern jagt das Skript bei JEDER AKTUALISIERUNG des Datenpunktes los.
Das ist aber so ok.
Anschließend prüfst du ja im FALLS was Sache ist. -
@Humidor sagte:
parallel zur Zeit, ein Trigger-Event
Du möchtest, wenn die Bedingung erfüllt ist, sofort senden und danach periodisch, solange die Bedingung erfüllt ist ?
-
@paul53 sagte in mein erstes Blockly... korrekt?:
@Humidor sagte:
parallel zur Zeit, ein Trigger-Event
Du möchtest, wenn die Bedingung erfüllt ist, sofort senden und danach periodisch, solange die Bedingung erfüllt ist ?
Ja richtig.
aktuell meine ich, dass Blocky nicht läuft?
die ganz rechte müsste mir eine Debuganzeige ausgeben alle 10s, es passiert nichts?
habs schon, ein nicht laufendes Script hatte einen Fehler und das blockiert alles... ?
-
@Humidor sagte:
Ja richtig.
Wenn gleiche Aktionen aus verschiedenen Triggern (Zeitplan ist auch ein Trigger) erfolgen sollen, verwendet man Funktionen.
-
@Humidor sagte:
ganz rechte müsste mir eine Debuganzeige ausgeben alle 10s
Debug-Ausgaben macht man dort, wo sich beobachtete Zustände ändern.
-
@Humidor
Einfachere Variante mit nur einer Variablen msgHum: -
@paul53
Cool! Danke Jungs! das ist jetzt ein guter Code -
@Humidor sagte in mein erstes Blockly... korrekt?:
@paul53
Cool! Danke Jungs! das ist jetzt ein guter CodeDu hattest jetzt auch von DEM, der es perfekt kann, Hilfe. Merke Dir den User Namen.
@paul53
Weitere Fragen kommen bestimmt. Immer gut so kompetente Menschen im Forum zu haben. -
@Humidor sagte in mein erstes Blockly... korrekt?:
Danke Jungs!
Das ist alleine Pauls Verdienst!
Ich habe mich da auch nur drangehängt um selber was von ihm zu lernen -
@paul53 sagte in mein erstes Blockly... korrekt?:
@Homoran sagte:
mit dem WERT für den Timeout verwechselt hatte. Aber den kann man dann auch nicht auf diese Art abfragen.
Das ist eine Konstante, die man nicht abfragen kann, außer man verwendet eine selbst erstellte Variable, deren Namen man im Timer eingeben kann, was allerdings nur bei Auswahl von "ms" funktioniert.
Nicht ganz
so kann man feststellen, wann ein Timer triggern wird und damit auch alle anderen Zeiten. Startzeit ist, wann der Trigger gesetzt wurde, Ausführzeit wann er feuert.
-
irgendwas stimmt noch nicht an der sofortigen Meldung per Telegram
ich erhalte nur die stundenweisen per Zeitplan ?
ich habe diese Änderung gemacht, ist diese korrekt?
-
-
@Humidor sagte in mein erstes Blockly... korrekt?:
irgendwas stimmt noch nicht an der sofortigen Meldung per Telegram
ich erhalte nur die stundenweisen per Zeitplan ? -
@Humidor
Das kann ich nicht nachvollziehen: Solange "Feuchte OK" ist, ist auch MessageSent falsch. Wird nun ein Grenzwert verletzt, wird einmalig gesendet, denn nach dem einmaligen Senden wird MassageSent wahr, solange bis wieder "Feuchte OK" ist. Dass trotz MessageSent falsch nicht bei "Feuchte OK" gesendet wird, verhindert der Leerstring bei der Abfrage falls Message in der Funktion. -
Bin verwirrt, hab es wieder zurück korrigiert.
Eigentlich passt es ja, aber warum hab ich dann keine Meldung bei der direkten Änderung erhalten?
Muss das nochmal prüfen...