NEWS

  • Starter

    Hi, hat einer ne Idee warum das nicht ausgeht in dem einfachen Skript ?

    1E85671E-154E-4311-9E1A-330F0BB4B8A3.jpeg


  • @otterfan
    Mich wundert eher dass es überhaupt schon an geht 🙂
    Ture UND Uhrzeit, was soll true sein? Genau das selbe im zweiten Block "if true", was denn bitte?

  • Starter

    Na wenn die Uhrzeit zwischen 19 Uhr Abends und 7 Uhr morgens ist. Bei Bewegung / Anwesenheit : Licht an.
    So hab ich einige Skripte und die gehen alle. Auch aus. Nur das nicht ?


  • @otterfan
    Hi, du musst bei der falls bzw. if Abfrage auch angeben was true bzw. false sein soll. Also if Wert von Objekt ID = true. Objekt Id wäre in diesem Fall dein Precense. Und wieso steuerst du dein Küche Arbeitsplatte.OnOff mit 1 und 0? Müsste doch eigentlich mit true oder false gesteuert werden.
    Precense.JPG
    Und du kannst das Ein und Ausschalten in einem Trigger realisieren.
    Wenn Precence ist true und Aktuelle zeit zwischen 19 und 7 schalte ein, sonst schalte aus.


  • @otterfan
    Noch ein Tipp, ich würde das ausschalten mit einem Timeout lösen, der bei erneutem Einschalten, in der Zeit, gestoppt wird. Sonst kann es dir passieren, das wenn keine Bewegung ist, der Ausschaltbefehl kommt, die Verzögerung 3 Minuten läuft. Du Bewegst dich wieder aber die Zeit 3 Minuten würde nicht stoppen, also würde das Licht trotz Bewegung nach 3 Minuten ausgehen.
    Precence2.JPG
    Edit:
    Mir fällt da noch ein das es mal Probleme gab wenn man ne zwischen Zeit wählt die über einen Tageswechsel geht, wie bei dir 19 - 7. Solltest du damit Probleme haben kannst du auch sagen nicht zwischen 7 und 19 Uhr
    Precence3.JPG


  • @otterfan
    Das kann nicht funktionieren, weil sich Dein True auf nichts bezieht und TREU in einer FALLS eh schon als Standard Abfrage drin ist. Somit ist Dein erste Blockly lediglich eine Falls Uhrzeit, mehr nicht.
    Im zweiten wirds dann noch weniger sinnvoll, da sich das TRUE dort alleine befindet und sich auf nichts bezieht.
    Das was Du willst ist ein ganz andere Block und ist unter Trigger "Wert", denn das bezeeht sich direkt auf das Objekt im Trigger. Ein einfaches TRUR macht überhaupt nichts.

    So sollte das erste aussehen, wenn das Objekt des Trigger und die Zeit UND verknüpft werden sollten:
    0c605a45-6751-4bde-a732-a03bcac108bb-grafik.png

    Wobei man das eigentlich schon so erledigen könnte:
    496f74ed-170b-4ac5-bb09-71a5b93bda74-grafik.png

  • Starter

    Hallo ihr 2,
    aber es funktioniert ja....ich hab das genau so bei anderen lichtern in Betrieb. Klappt wunderbar :

    0a131787-7b5d-426f-8aad-93399cd17b56-image.png

    Warum bezieht sich mein true auf nichts ? Ich sage doch bei dem trigger ( rot ) Event if Presence changed, und dieser change ist "true", dann schalte an. Das klappt prima und auch in dieser Zeit. Wo hab ich meinen Logic / Denkfehler ? Und warum klappt es dann ?


  • @otterfan
    Deine Bedingung heißt "true and..." mehr nicht. Weil True alleine steht und sich eben auf nicht bezieht. Oder was soll Deiner Meinung nach hier auf True geprüft werden, das Objekt im Trigger? Denn das tut es nicht, weil kein Bezug dazu. Schau meine Beispiele an, da ist es ersichtlich.
    Klar funktioniert das, allerdings könntest das true auch raus nehmen und es würde immer noch genau so funktionieren. Nur weil was funktioniert, ist es noch lange nicht richtig 😉

    Wenn der BWM sich ändert und das innerhalb der Zeit passiert, reagieren Deine Lampen, allerdings ist es egal ob der auf true oder false wechselt, weil Du das nicht abfragst.


  • @otterfan
    Hi, das klappt weil eine Änderung stattfindet, dabei ist es egal ob true oder false und die Urzeit zwischen den beiden Werten ist. Das heißt egal ob Bewegung erkannt wird oder nicht mehr erkannt, jedes mal wird eingeschaltet, aber nicht mehr aus.

  • Starter

    ahhhhhh ok. jetzt macht das Sinn ! Vielen Dank erstmal.


  • @frankyboy73
    Exakt, hatte ich oben eben gerade ergänzt 🙂


  • @Jan1
    Ich war zu langsam, oder du schneller 🙄


  • @frankyboy73
    Er hats verstanden und das zählt 😉

  • Starter

    👍 👌

  • Starter

    So sollte das jetzt passen oder ?
    aba3ee4c-e1b3-48c5-829c-195b4066479c-image.png

    Das mit dem timeout ist mir nicht ganz klar- Also so wie das jetzt programmiert ist, verlängert sich die Zeit bei jeder Bewegung um 3 Minuten, und die "alte" Zeit wird gestoppt / gelöscht. Nur wenn 3 Min keine Bewegung mehr ist, dann geht es aus ?

  • Forum Testing Most Active Global Moderator Administrators

    @otterfan sagte in Licht geht nicht aus:

    verlängert sich die Zeit bei jeder Bewegung um 3 Minuten, und die "alte" Zeit wird gestoppt / gelöscht. Nur wenn 3 Min keine Bewegung mehr ist, dann geht es aus ?

    genau so.

    Aber dein stop-Baustein müsste ein "timeout" im Text haben wo das pulldown ist

  • Starter

    jetzt ja 🙂 Danke Dir

  • Starter

    So habe ich das am laufen...

    2020-03-28 19_43_47-javascript - ioBroker.png

  • Starter

    nochmals vielen Dank. Das ist jetzt echt klasse. Mit meinem Homee zusammen ist IOBroker ein echt gutes Team !


  • @otterfan
    Na 100% hast das noch nicht drin. True wird immer bei ner FALLS geprüft, deshalb ist das doppelt wenn man es noch mal abfragt und wenn überhaupt, dann am Ende und nicht mitten drin.
    Das stop ist auch falsch, weil es nicht definiert ist. Wenn es richtig wäre, würde es "stop timeout1" heißen. Dann sollte der Stop auch immer noch direkt vor dem selben timeout sein, da nur so sicher ist, dass ein eventuell laufender timeout vorher auch eliminiert wird, ansonsten hast die Gefahr, dass mehrere timeouts gleichzeitig laufen können.

Suggested Topics

1.8k
Online

35.2k
Users

41.1k
Topics

565.8k
Posts