NEWS
Automatische Rollosteuerung
-
Hallo zusammen,
als Blockly-Anfänger habe ich einen Script gebastelt, ich bin mir aber nicht sicher ob das (zum Beispiel mit den Time-Outs so funktioniert. Hoffentlich könnten einige Blockly-Experten hier vielleicht mal einen Blick darauf werfen?
Die Situation ist wie folgt; ich habe 3 Rollos, die ich steuern kann. Auch habe ich einen Aqura Lichtsensor an einem der Fensterrahmen geklebt.
Jetzt bin ich schon soweit, dass ich einen Datenpunkt 'Sonnencheck' gemacht habe. Wenn die Luxwerte des Lichtsensors einen bestimmten Wert überschreiten, wird dieser auf 'true' aktualisiert.
Was ich mit meinem Script erreichen möchte, ist, dass wenn der Datenpunkt 'Sonnencheck' auf 'true' aktualisiert wird, die Rollos nach 5 Minuten auf 100% runterfahren. Wenn 'Sonnencheck' auf 'false' aktualisiert wird, möchte ich, dass die Rollos auf 20% hochfahren.
Wird das mit diesem Script funktionieren? Schon im Voraus Danke!
Johan
-
@johan2009
Besser so: -
@paul53 Danke! Aber wie werden die Rollos denn angesteuert?
-
@johan2009 sagte: Aber wie werden die Rollos denn angesteuert?
Das musst Du wissen (ich habe keine). Probiere es im Tab "Objekte" aus. "steuere" mit Übergabe einer Position als Zahl ist sicherlich richtig.
-
@paul53 Die Rollos werden mit dem Datenpunkt 'Dimmer' gesteuert. Ich weiß dann aber nicht wie ich deinen Script lesen soll.
Ich lese ihn so:
Falls mein Datenpunkt 'Sonnencheck' (die Sonne scheint) sich ändert, wird der Script aktiv
Falls Wert 'Sonnencheck' (Verweisung auf Objek-ID) ist true
Stop hochfahrenAber dann wird es für mich schwierig
Dann ausführen 'runter' -> aber diese Variabele soll doch mit dem Dimmer der Rollos verbunden werden?
Schon im Voraus schon sorry für eventuell blöde Anfängerfragen!
Johan
-
@johan2009 sagte: Dann ausführen 'runter' -> aber diese Variabele soll doch mit dem Dimmer der Rollos verbunden werden?
Bitte nicht Timer-Variable (für Verzögerung "runter") und Datenpunkt (Dimmer) verwechseln.
Für 3 Rollos mit 100% = runter:"stop hoch" sorgt dafür, dass die Rollos nicht hochfahren, wenn innerhalb der 20 Minuten Verzögerung die Sonne wieder scheint.
-
@paul53 Aha! Jetzt verstehe ich! Werde das morgen sofort austesten (im Moment gibt es ja keine Sonne )
Wiederum vielen Dank für die Hilfe!
Johan
-
@paul53 Ich brauche mal wieder dein Wissen. So wie du vielleicht noch weißt, hatte ich Probleme mit meinen Rollos. Sehr oft kam der Befehl erst beim zweiten Mal durch. Dabei hast du mir mit folgendem Script geholfen und das funktioniert immer noch super.
Weil das mit den Rollos jetzt klappt, habe ich gestern (auch mit deiner Hilfe ) einen Script geschrieben, damit die Rollos bei Sonne runterfahren. Auch dieser Script funktioniert.
Aber: zusammen nicht! Im Tab 'Objekte' kann ich sehen, dass die Rollos auf 100% aktualisiert sind, aber nur ein Rollo ist heruntergefahren. Als ich dann bei den anderen zwei Rollos mit der Hand 100% eingetragen hatte, kam der Befehl wieder ohne Probleme durch.
Wüsstest du vielleicht wie das kommt? Müsste man vielleicht beide Scripte integrieren?
-
Hmmm, gerade gingen alle Rollos dann schon wieder hoch. Vielleicht war ich ein wenig zu schnell mit meiner Reaktion. Ich warte morgen und übermorgen noch ab und melde mich dann wieder!
-
@johan2009 sagte: Wüsstest du vielleicht wie das kommt?
Bei Rollo steuern durch das Script (Sonnenschein) ist der Ursprung "system.adapter.javscript.0". In dem Fall wird nicht nach 6 s wiederholt.
-
@paul53 Leider funktioniert die automatische Rollosteuerung noch nicht. Die Rollos werden überhaupt nicht aktualisiert. Ich bekomme schon eine Menge Warnungen im Log.
Könntest du vielleicht helfen?
-
@johan2009 sagte in Automatische Rollosteuerung:
Ich bekomme schon eine Menge Warnungen im Log.
dein (jeweils genannter) Datenpunkt ist von einem anderen Typ (hier: Array) als der Wert (hier: string).
Entweder den Typ vom Wert oder den Datenpunkt anpassen -
@johan2009 sagte: Leider funktioniert die automatische Rollosteuerung noch nicht.
Du verwendest den falschen Datenpunkt zum Triggern. "scriptEnabled.Eigen_datapunten.Zonnencheck" steuert das Script "Eigen_datapunten.Zonnencheck", in dem in Zeile 10 ein String in einen Array-Datenpunkt geschrieben wird.
-
@johan2009 sagte: Wüsstest du vielleicht wie das kommt?
Bei Rollo steuern durch das Script (Sonnenschein) ist der Ursprung "system.adapter.javscript.0". In dem Fall wird nicht nach 6 s wiederholt.
@paul53 der Script für das automatische Runterfahren bei Sonne funktioniert gut und ich habe ihn jetzt einige Zeit getestet, aber leider passiert es wieder sehr oft (wie ich schon gefürchtet hatte), dass bei einem oder mehreren Rollo den Befehl nicht durchkommt.
Wäre es vielleicht möglich, dass wir beide Scripten kombinieren könnten? Also, dass bei Sonnenschein den Rollos den Befehl zum Hoch- oder Runterfahren gegeben wird und wenn innerhalb von 6 Sekunden nichts passiert, der Befehl wiederholt wird?
Dann wäre mein Problem gelöst!
-
@johan2009 sagte: Wäre es vielleicht möglich, dass wir beide Scripten kombinieren könnten?
Ja, aus den zwei Skripten eins machen, und zusammen mit den "steuere"-Blöcken 3 Variablen astrofahrt1...3 auf wahr setzen, die im Wiederholungsteil ausgewertet und zurück gesetzt werden.
-
@paul53 Dank für deine Antwort. Ich habe mir jetzt drei Stunden den Kopf zerbrochen, aber ich glaube, aber ich kriege es nicht hin. Vor allem die Astrofahrt Variablen verstehe ich noch nicht gut.
Ich habe schon einen Versuch gemacht um von den zwei Skripten (Sonnencheck und Wiederholung) einen neuen Skript zu machen. Ich frage mich aber, ob es so funktionieren würde. Ich glaube, der Skript ist jetzt viel zu kompliziert!
Hier aber mein Skript:
Der Teil für das Hochfahren der Rollos
Der Teil für das Runterfahren der Rollos
Danke nochmals fürs Mitdenken!
Johan
-
-
@paul53 Danke wieder für deine Hilfe! Die Hilfe hier in der Community ist wirklich fantastisch! Ich werde den Skript demnächst testen. Eine kleine (Anfänger) Frage hätte ich noch: müssen die beide Teile auch neben einander im Skript, oder ist das nur wegen des Screenshots und soll die unter einander stellen?
-
@johan2009 sagte: ist das nur wegen des Screenshots
Ja.
-
@johan2009 deine verbissenheit in ehren, aber warum das rad neu erfinden?
warum nicht @simatec 's shuttercontrol verwenden?