Beiträge von neo-v

    HI, lade mal Bitte das ganze Blockly als txt Datei hier hoch. wenn Null da steht bekommen sie gar keinen Wert. ergibt so noch keinen Sinn, daher mal bitte txt hoch laden. Danke

    Nachtrag

    Ich vermute ohne das ganze Blockly gesehen zu haben:

    Bei den Shelly Plus1 oben / unten, den Pfad zum Shelly mal Bitte auf "Input" setzen statt auf den "Switch".

    Damit wir nur den Tastendruck triggern und nicht den Zustand ON / OFF vom Relais.

    bei dem Debug Blocks noch die "Objekt ID" (unter Trigger links zu finden) mit dazu nehmen, dann sieht welcher der Trigger aktiv ist.

    Beim starten vom Blockly kann es zu Fehlerkommen wenn die internen Variablen keinen Wert haben, daher werden sie vor dem Trigger gefüllt.

    Damit kann man auch schon def. was passieren soll beim Start vom Blockly.

    Sonst sind sie leer und können nicht verarbeitet werden.

    Wenn z.b. einer von den Shellys im Trigger auslöst und noch andere Variablen im Fallsblock sind. müssen die anderen auch einen Wert haben. Den bekommen sie dann schon beim Start.

    2.

    Ja damit kann man das Kellerlicht ein und ausschalten.

    kann man auch etwas umbauen.

    toggle Funktion ohne Timer. Ist ja nur ein Beispiel. Anpassen wie man es wünscht.

    Info Nachtrag,

    was zum Problem werden kann, ist der Motion selbst, läufst du nur durch ist alles gut. wird der Motion aber immer angestoßen durch eine Bewegung..

    verlängert sich ggf. der Timer im Motion immer um die Eingestellte Zeit X und der Wert "motion" bleibt true.

    Also wenn deine 3min im Blockly abgelaufen sind, und der motion noch auf true steht, stehste vermutlich dann im Dunkeln, weil erst der Motion fertig werden muss. Da muss man mit den Einstellung im Motion spielen."dark" etc... Helligkeitsschwelle anpassen

    Wenn du noch ein Sperre brauchen solltest, also z.B. der Motion schaltet ein, Timer läuft... du willst aber unbedingt das Licht auf Dauer ON haben, egal was die Motions machen, z.B. drücken der Shelly Plus1 im Treppenhaus,

    dann muss mit einer Variablen arbeiten, die z.B. "Sperre-Timer" beim drücken Shelly Plus1 (long) auf true gesetzt wird. Die wird dann mit in den falls Blöcken eingearbeitet, "false"

    Drückt man wieder den Plus1 (long) wird die Sperre auf false gesetzt, Dauerlicht damit wieder AUS und Timer aktiv....grobe Richtung.

    erst wenn das Licht aus ist könnte man es wieder erneut anschalten, oder?

    bei dem Blockly was ich dir vorgestellt habe, sollte der Timer immer wieder gestopt und dann um 3 min verlängert werden bis kein Motion oder Button mehr gedrückt wird. also keine Änderung mehr bei den "Einschaltern" erfolgt. Klassische Verlängerung vom Treppenhauslicht mit Timer.

    Warum brauch ich den Count beim Button

    weil du im Trigger auf ändern triggern solltest, was ist wenn du zwei oder 3x nur S drückst, dann reagiert der Trigger beim Button nicht, der Counter zählt immer hoch, also auf den Counter triggern und sich dann den Event holen.

    drückst du immer etwas anderes beim Button, dann kannst du den Event mit "ändern" im Triggern nehmen,

    drückst du immer das gleiche, dann aktualisieren, hast du aber viele Shellys im trigger dann rattert der öfters los bei gleichen Werten , das finde ich nicht so gut. nur laufen lassen wenn es sein muss, also Änderung in diesem Fall.

    schau es Dir mal an, damit brauchst du nur ein Blockly und kannst alles damit machen was du oben gewünscht hast.

    erweitern und Ändern sollte sehr einfach sein.

    Timer ändern,

    oder andere schalten lassen, oder Verzögern, usw... und Zeitangabe , einen Offset eintragen..

    da kann man mit spielen.

    Debug Blöcke für Fehlersuche mit einbauen und später wenn es läuft wieder rauswerfen.

    Teste mal und wenn es läuft kannst du ja gern die Vorlage hier unter Iobroker- Vorlagen einstellen, dann haben alles etwas davon.

    So Blockly fertig. (im groben)

    noch deine Shelley Pfade eintragen, dann sollte es laufen. "Theorie".


    Setup:

    Pfade der Shellys eintragen. beim Button den Counter und den Event.

    Sonst Motion und Switch wählen..

    Bildschirmfoto vom 2022-04-17 20-11-56.png

    Trigger und Auswertung, interne Variablen werden gefüttert

    Bildschirmfoto vom 2022-04-17 20-19-30.png


    Nur der Button im Keller mit "S"

    Bildschirmfoto vom 2022-04-17 20-28-22.png

    BWM bei Nacht bis Früh wenn min einer aktiv ist

    Bildschirmfoto vom 2022-04-17 20-44-39.png

    Licht wenn Button L oder Switch gedrückt wird

    Bildschirmfoto vom 2022-04-17 20-23-49.png


    Blockly:

    Treppenhaus_Licht_V1.txt

    Das geht mit Blockly, Stück für Stück, JavaScript, kann man auch nehmen, wenn man das in Textform besser auf die Reihe bekommt.

    Ich kann beide Wege, aber Blockly gefällt mir besser.


    Ich baue dir mal kurz ein Muster zusammen, Wenn man den Anfang hat und die internen Variablen sauber gefüttert werden, ist der Rattenschwanz der dann folgt eigentlich leicht aufzubauen, auch mit Zeit Angabe, Timer usw..

    Bin noch Unterwegs. ab 20Uhr kann ich drüber schauen.

    Gibt einige Wege das umzusetzen.

    Wann wird der Button 1 gedrückt?

    also BWM reagiert und der Button wurde z.B. vor 1h gedrückt? und das Blockly soll dann reagieren? (Scharfschaltung?)

    Wenn ja dann mit einem Datenpunkt arbeiten, den der Button1 auf z.b. true setzt. den dann mit Abfragen wenn BWM aktiv ist.

    Naja kommt drauf an wie man was im Blockly weiter verwenden will,

    wenn mal einen Triggerblock mit vielen Trigger verwendet und die später unterschiedlich auswerten will / Filtern, dann brauch man weniger in den falls wenn Blöcken schreiben.

    Damit Filter ich die kommenden Auslöser und kann passend reagieren.

    Ist aber egal wie, solang das Blockly schmal bleibt und funktioniert ohne Fehlermeldung.


    Vorteil ist, man brauch nur oben im Kopf den Pfad ändern und schon hat man einen anderen Shelly und muss nicht im Blockly jeden Eintrag ändern.

    Einfaches Setup.