NEWS
Verständnisfrage: Virtuelle Schalter und nutzen in Blockly
-
@paul53 said in Verständnisfrage: Virtuelle Schalter und nutzen in Blockly:
Den "stop zyklische Ausführung" ist eine falsche Variable zu geordnet! Das passiert leider regelmäßig beim Import.
Anstelle der 40 s oben solltest du die tatsächliche Laufzeit eintragen.Die Variablen hab ich an den zwei Stellen koggrigiert, den Laufzeit auf korrekte 27s eingestellt.
Was er "macht", wenn ich den Positions-Wert manuell auf 50% Stelle, und Taste hoch drücke: Nichts.
Drücke ich "runter", beginnt der Wert von 50 Richtung 0 zu laufen. Auch wenn ich nach 3s "Stopp" drücke, läuft der Slider (Positions-Wert) bewegt bis auf "0" runter.Versuche das Blockly-Script zu verstehen, rechts "Um Bewegung mit delta" ist eine Funktion, der man einen Parameter mitgibt (?).
Aber was ist:
Falls => Wert
Wert ist doch nur True" (oder: 1), oder? (von: "Rollladen Empore hoch wurde geändert").
Soll hier dann der "mache ..." Teil nur Ausgeführt werden, wenn es WAHR ist, also Rollladen-hoch-Taste von False auf True gesprungen ist, nicht von: True auf false? -
@topsurfer sagte: wenn ich den Positions-Wert manuell auf 50% Stelle
Die Position ist nur zur Anzeige. Manuelles Verstellen hat keine Auswirkung.
@topsurfer sagte in Verständnisfrage: Virtuelle Schalter und nutzen in Blockly:
Soll hier dann der "mache ..." Teil nur Ausgeführt werden, wenn es WAHR ist, also Rollladen-hoch-Taste von False auf True gesprungen ist, nicht von: True auf false?
... wenn der Datenpunkt "Up" Bewegung nach oben anzeigt (true), wird der mache-Zweig ausgeführt. Wenn die Bewegung nach oben beendet ist (stop oder Endlage oben) sollte der DP "Up" auf false wechseln und das Intervall gestoppt werden. Passiert es nicht so? Baue zum Testen mal eine Log-Ausgabe ein:
Die beiden Endlagen-Trigger (rechts) sollen die Position synchronisieren, da es sonst im Laufe der Zeit eine immer größere Abweichung gibt.
@topsurfer sagte in Verständnisfrage: Virtuelle Schalter und nutzen in Blockly:
rechts "Um Bewegung mit delta" ist eine Funktion, der man einen Parameter mitgibt (?).
Richtig.
-
@topsurfer sagte: "Stopp" drücke, läuft der Slider (Positions-Wert) bewegt bis auf "0" runter.
Um das Kommando und die Reaktionen darauf zu loggen, füge noch den Kommando-Log-Trigger ein:
Es kann auch ein separates Skript sein.
-
mein erstes Blockly-Script "zusammengeschoben" !
Taste runter - Pause - Stop - Pause - Hoch - Pause - Stop
Das ist der Output:
javascript.0 15:30:41.647 info script.js.common.Neu.blky_Rollladen_P: Kommando:runter
javascript.0 15:30:43.045 info script.js.common.Neu.blky_Rollladen_P: fährt hoch: true
javascript.0 15:30:43.638 info script.js.common.Neu.blky_Rollladen_P: Kommando:stop
javascript.0 15:30:45.758 info script.js.common.Neu.blky_Rollladen_P: Kommando:hoch
javascript.0 15:30:47.805 info script.js.common.Neu.blky_Rollladen_P: Kommando:stop
javascript.0 15:30:48.545 info script.js.common.Neu.blky_Rollladen_P: fährt hoch: false -
@topsurfer sagte: Das ist der Output:
Da läuft etwas völlig durcheinander. Stimmen die Zuordnungen in den Alias-DP?
-
-
@topsurfer sagte: sehe da keinen "dreher" oder Fehler:
Ich auch nicht. Dann ist das Verhalten der Indikator-DP (Runter fahren / Hoch fahren) für mich nicht nachvollziehbar.
-
ich checke nochmal ...
-
Ok,
die Einträge vom Debug (gelb, im Bild jetzt korrigiert!) beim hoch- bzw. runterfahren waren falsch, hat falschen Debug-text ausgegeben, hab jetzt bei hoch- und runterfahren Debug eingetragen und korrigiert,
jetzt stimmen die Ausgaben im Log mit den testen überein!
Sorry!
javascript.0 16:44:39.717 info script.js.common.Neu.blky_Rollladen_P: Kommando:runter javascript.0 16:44:40.892 info script.js.common.Neu.blky_Rollladen_P: fährt hoch: false javascript.0 16:44:40.895 info script.js.common.Neu.blky_Rollladen_P: fährt runter: true javascript.0 16:44:42.560 info script.js.common.Neu.blky_Rollladen_P: Kommando:stop javascript.0 16:44:45.932 info script.js.common.Neu.blky_Rollladen_P: Kommando:hoch javascript.0 16:44:46.372 info script.js.common.Neu.blky_Rollladen_P: fährt hoch: true javascript.0 16:44:46.375 info script.js.common.Neu.blky_Rollladen_P: fährt runter: false javascript.0 16:44:50.092 info script.js.common.Neu.blky_Rollladen_P: Kommando:stop
Aber der Wert von der Position läuft hat nur von z.B. 50 auf 0, auch wenn "Stop" schon wieder getätigt wurde. Bei "Hoch" passiert nichts.
-
Puhhh,
hab versucht etwas zu debuggen, hab den Wert von "Position" mir anzeigen lassen, der war "True" !!Der DP war als "Status" abgelegt, habe ihn auf Level geändert (korrekt?).
Wenn das Script läuft, hört der Wert gar nicht mehr auf zu laufen, ist jetzt bei 1500% -
@topsurfer
Auf "stop" scheinen die Indikator-DP nicht zu reagieren.
Reagiert der Rollladen selbst auf "stop"?Bitte Logs in Code tags posten!
-
@paul53 said in Verständnisfrage: Virtuelle Schalter und nutzen in Blockly:
Reagiert der Rollladen selbst auf "stop"?
Ja, manuelles steuern geht ja!
-
@topsurfer sagte: Wenn das Script läuft, hört der Wert gar nicht mehr auf zu laufen
Dann bleiben die DP "Up" bzw. "Down" auf true.
Folglich muss man das Intervall mit dem Kommando und mit den Endlagen stoppen.Beachte, dass die Trigger links auf "ist größer als letztes" geändert wurden.
-
Hallo,
die DP von dem Rollladen sind echt sch....
(nicht nur im Alias, sondern auch direkt bei Enocean => 0 => ...)Auch wenn die obere oder untere Endposition erreicht wurde, stehen die DP immer noch auf "false".
Den DP "TOP" habe ich schon auf "true" gesehen,dauert wohl paar Minuten (bzw. mind. 30s)."BOT" (Endpunkt unten) ist immer "false"
Was man wohl auch beachten muss, dass auch die Fahrbefehle "UP" bzw. "Do(wn)" auch nach einem getätigten Stop noch auf true sind (als ob der Rollladen sich noch bewegt), das Kommando "CMD" aber korrekt "stop(0)" anzeigt. Dieses Verhalten wäre in einem Script wohl lösbar.
Anhand der Fahrzeit (die immer korrekt und schnell in TT (gefahrene Zeit) zu sehen ist und dem Check der Fahrtrichtung könnte man wohl die Höhe des Rollladen (per Script) berechnen.
Ich werde wohl jetzt aber (nach 2 Wochen) ma beginnen, die anderen Rollläden und Lichter in das System zu bekommen, und nicht noch mehr Zeit in die Positionsinfo oder dem gezielten anfahren von Rollladen (Bsp: "Fhre auf Höhe 70%") zu stecken (leider!)
Es warten halt noch Zigbee, MQTT, Netatmo usw. ..., und von einer nutzbaren Oberfläche (GUI) bin ich noch gaaaaz weit weg...
Thx an Paul! Wenn du noch Ideen hat, gerne!Evtl. macht es Sinn, Jee Cee (dem Entwickler vom Enocean-Adapter) mal zu kontaktieren, warum das erreichend er Endpunkte nicht angezeigt wird, ob es an meinen Rollläden liegt oder am Adapter.
-
@topsurfer sagte: Es warten halt noch Zigbee ...
Wenn du auch Zigbee verwendest, dann steuere Geräte, die mit Netzspannung betrieben werden (wie Rollladen), besser mit Zigbee-Aktoren. Enocean ist für Sensoren optimal.
-
@paul53 said in Verständnisfrage: Virtuelle Schalter und nutzen in Blockly:
Wenn du auch Zigbee verwendest, dann steuere Geräte, die mit Netzspannung betrieben werden (wie Rollladen), besser mit Zigbee-Aktoren. Enocean ist für Sensoren optimal.
Die Rollläden und Enocean-Ansteuerung sind vom Fertighausanbieter verbaut, da gibts bzw. gab es keine Wahl ...
-
Hmmm,
hab jetzt manuell einen neuen Alias angelegt,
und jetzt hab ich beim "Kommando" beim Typ keine Anzeige "Stop|down|up", sondern Zahlenwerte.
Hab auch schon bei "Zustandstyp" und "Rolle" probiert, ändert nichts.
Bei dem Enocean-Object direkt steht nach wie vor: "Stop|Up|down", nur bei den Aliasen nicht mehrZuvor hatte ich immer (?) hier Stop|up| down stehen bzw. zur Auswahl, habe ich was "umgestellt?
In den "Objektdaten steht auch nicht mehr so was drinnen, hab das aber auch zuvor nie manuell ergänzt oder eingetragen:
"states": { "0": "stop", "1": "hoch", "2": "runter"
-
@topsurfer sagte: hab das aber auch zuvor nie manuell ergänzt oder eingetragen:
Musst du aber, wenn du es so dargestellt haben möchtest.
-
@paul53 OK, danke, dann hab ich das verdrängt gehabt ... dachte die wären autom. erstellt worden.
-
@topsurfer sagte: Anhand der Fahrzeit (die immer korrekt und schnell in TT (gefahrene Zeit) zu sehen ist und dem Check der Fahrtrichtung könnte man wohl die Höhe des Rollladen (per Script) berechnen.
Enthält "gefahrene Zeit" immer ganze Sekunden und startet zu Fahrtbeginn mit 0?
Falls ja, versuche es mal so: