NEWS
Dimmen und schalten per Blockly
-
Guten Abend zusammen,
ich habe mein erstes Blockly erstellt und bräuchte einmal eure Hilfe.
An einem Shelly 1 mit Taster hängt ein Paulmann Zigbee Coin. Der Shelly wird nur genutzt, um den Taster abzugreifen (nicht geschaltet, steht auf detached).
"Decke an/aus" ist ein Datenpunkt (Boolean). Hier schaltet ein weiteres Blockly den Coin je nach Wert an und aus. Das funktioniert auch.
In "Dimmaktion_hoch" speichere ich die letzte Dimmrichtung, ob ich also an oder ausgedimmt habe, um bei einem weiteren langen Tastendruck das Gegenteil machen zu können.
"Dimmer aktiv" setze ich auf true, wenn ich den Dimmer genutzt habe, eben um die Richtung umzukehren. Dieser Wert wird nach 10 Sekunden von einem weiteren Blockly auf false gesetzt.
In "Decke dimmwert" speichere ich ebendiesen und "Brightness" ist der Datenpunkt vom Coin.
Mein Problem ist jetzt, dass ich das Licht Problemlos mit einem kurzen Tastendruck an- und ausschalten kann. Das läuft über die letzte if-Abfrage. Allerdings kommt er nur bei jedem zweiten Versuch in die zweite oder dritte schleife, um auf oder abzudimmen. Der Longpush vom Shelly wird erkannt. Hat irgendeiner eine Idee, woran das liegen kann? Hab ich irgendeinen Logikfehler? Die Variablen (Datenpunkte) sind ja zu jeder Zeit vorhanden.
Ich Danke euch schon vielmals. Ich sitze da schon einige Stunden dran und komme einfach nicht weiter.In der Facebook Gruppe konnte man mir leider nicht helfen. Der Hinweis von dort, auf den Wert von Object ID Input/Detach durch "Wert" zu ersetzen hilft leider nicht, da ich dann das Dimmen nicht mehr unterbrechen kann.
-
Hey David,
willst du nicht lieber nur einen datenpunkt nutzen um den dimmwert zu schreiben, und dann beim longpush einfach zu prüfen wo eben dieser steht, und dann die Aktion in die entsprechende richtung ausführen
du hast da echt arg viele datenpunkte im einsatz für ein einziges licht
zum ein/ausschalten (normal) benutzt du ein weiteres script ja ?
-
@dom-sch das könnte man auch überlegen, löst aber das Problem, dass er nur jedes zweite Mal dimmt glaub ich nicht.
Geschaltet wird das Licht ganz unten, falls es keinen Longpush gab. Bzw. der Datenpunkt wird entsprechend gesetzt und mit einem anderen Blockly dann geschaltet, ja. -
@david-kurtze
ich habe ehrlich gesagt die ganze Schaltung und deine vielen Datenpunkte noch nicht wirklich verstanden...Du hast nen Shelly1 an nem Wandschalter/Taster der aber nicht direkt das licht schaltet sonder nur über dieses script das licht schalten soll, stimmt das soweit ?
kannst du nicht direkt Brightness, und NUR den Brightness von der Lampe ansteuern ?
wenn nicht longpush auf 0 oder 100 ... sonst wenn longpush und brightness <=10 ausführen hochdimmen ... falls longpush und brightness <=95 runterdimmen
-
der datenpunkt "input/detach" der den trigger auslöst, schaltet ja true/false gell, und wird bei jedem Schaltvorgang ausgelöst egal ob lang oder kurz ?
dein dimm script läuft immer nur durch wenn der true ist, demnach nur jedes zweite mal
Könnte das so nicht klappen ? einfach immer nur die Helligkeit verändern ...
mein HOLD datenpunkt ist in deinem fall der longpush