Giter Club home page Giter Club logo

Comments (5)

Schmakus avatar Schmakus commented on July 28, 2024

Ich muss erst mal verstehen, was du genau vorhast.
Erste Frage zu

Manuell geschaltet Lampen erkenne ich per JS-Script (state-Änderungen).

Schaltest du die Lampe mit etwas anderem, als LightControl? Wenn ja, wieso?

Wenn isMotion auf true wechselt, wird dann der power Datenpunkt ebenfalls auf true gesetzt und nach ablauf der Zeit auf false?

Warum funktioniert es, wenn ich mit autoOnMotion das Licht anschalte, aber nicht, wenn ich einen PIR Sensor simuliere?

Diese Frage verstehe ich nicht!

Hinweis (falls das hilft):
Das Schalten des Dimmers über Datenpunkt power funtioniert nicht!

Wie hast du den Dimmer konfiguriert? Also der Datenpunkt des Dimmers?

In main.js::Controller wird in Zeile 769 power abgefangen, obwohl der code ab Zeile 883 vorhanden ist.

Dies hat etwas mit der internen Verarbeitung zu tun.

in der Anleitung steht:
Hinweis: Theoretisch können hier auch Schalter angegeben werden. Hauptsache es gibt für Ein/Aus unterschiedliche Werte. Jedoch verhält sich der Auschaltprozess je nach Einstellung. z.B. Licht geht aus nach 60 Sekunden

Bedeutet, wenn du einen eigenen Datenpunkt oder Schalter als Sensor definierst, dann wir das Licht eingeschaltet, wenn der der "Sensor" auf seinen onVal wechselt. Das Licht bleibt dann solange an, bis der "Sensor" auf seinen offValwechselt zuzüglich der Zeit, welche bei autoOffTimed definiert ist.

from iobroker.lightcontrol.

kannstDuMal avatar kannstDuMal commented on July 28, 2024

Danke, dass du so schnell reagiert hast ;-)

Ich muss erst mal verstehen, was du genau vorhast. Erste Frage zu

Manuell geschaltet Lampen erkenne ich per JS-Script (state-Änderungen).

Schaltest du die Lampe mit etwas anderem, als LightControl? Wenn ja, wieso?

Das Eltako/Enocean-System ist erst mal ein eigenes abgeschlossenes System mit eigenen BUS und darüber direkt einprogrammierten Sensoren (bei mir Taster) und Aktoren (bei mir u.a. Dimmer).
Das läuft alles schon seit längerem stabil.
Über FHEM & MQTT kann ich von iobroker aus zusätzlich zugreifen.

Für mich ist lightcontrol ein super Ergänzung.
Es gibt einfach Situation, in denen ich (incl. Familie) das Licht manuell Schalten muss/soll. Ich will aber nicht, dass in einigen Räumen autoOnMotion aktiv ist, sonst würde z.B. auch die Katze das Licht aktivieren. Wenn nun vergessen wird, das Licht auszuschalten, dann soll lightcontrol das übernehmen.

Ich will einfach aus Energiespargründen, dass das Licht (nachdem es manuell eingeschaltet wurde) dann ausgeht, wenn keine Bewegung mehr im Raum ist.
Per lightcontrol heist das für mich: nur die Funktion autoOffTimed aktivieren mit noAutoOffWhenMotion==True und den echten PIR als Sensor dazu konfigurieren.

Nun zu deinen Nachfragen:

Wenn isMotion auf true wechselt, wird dann der power Datenpunkt ebenfalls auf true gesetzt und nach ablauf der Zeit auf false?

isMotion wird korrekt auf True gesetzt und nachdem mein simulierte PIR-Variable auf False geht, geht auch isMotion auf False zurück. Aus meiner Sicht funktioniert das korrekt.
Der power Datenpunkt bleibt dabei immmer auf false. (hier vermute ich das Problem)

Warum funktioniert es, wenn ich mit autoOnMotion das Licht anschalte, aber nicht, wenn ich einen PIR Sensor simuliere?

Diese Frage verstehe ich nicht!

Wenn ich den Dimmer über autoOnMotion anschalte, wird auch der power-Datenpunkt korrekt auf True gesetzt.
Power manuell setzen bringt nichts, da das - wie unten beschrieben - nicht "durchgereicht" wird.
autoOnMotion macht also intern noch "irgendeine Statusänderung", so dass dann autoOffTimed korrekt reagiert.

Wie hast du den Dimmer konfiguriert? Also der Datenpunkt des Dimmers?

Über dim (funtioniert auch einwandfrei)

in der Anleitung steht:
Hinweis: Theoretisch können hier auch Schalter angegeben werden. Hauptsache es gibt für Ein/Aus unterschiedliche Werte. Jedoch verhält sich der Auschaltprozess je nach Einstellung. z.B. Licht geht aus nach 60 Sekunden

Bedeutet, wenn du einen eigenen Datenpunkt oder Schalter als Sensor definierst, dann wir das Licht eingeschaltet, wenn der der "Sensor" auf seinen onVal wechselt. Das Licht bleibt dann solange an, bis der "Sensor" auf seinen offValwechselt zuzüglich der Zeit, welche bei autoOffTimed definiert ist.

Genau das will ich ja ... ich habe eine JS-Variable als manuellen Sensor/PIR -Ersatz definiert .. "leider" aber auch eine echten PIR für noAutoOffWhenMotion.

Was auch korrekt funktioniert: den echten PIR deaktivieren und autoOnMotion aktiveren + meine JS-Variable als Sensor/PIR-Ersatz konfigurieren.
Dann kann ich aber noAutoOffWhenMotion nicht verwenden, da lightcontrol die verschieden Sensoren (echter und simulierter) nicht unterscheiden kann, d.h. das Licht geht dann über autoOffTimed trotz bewegung aus da ich den echten PIR deaktiveren muss.

Ich hoffe du kannst mir weiterhelfen.

from iobroker.lightcontrol.

Schmakus avatar Schmakus commented on July 28, 2024

Komplizierte Sache...... Zum einen hast du einen PIR, welche LightControl steuert, aber kein autoOnMotion wegen der Katze? Macht irgendwie keinen Sinn, oder? Oder verstehe ich das Falsch?

Wenn noAutoOffWhenMotion auf false steht, wir das Licht auch ausgeschaltet, obwohl der state isMotion noch auf true steht. Erst bei einem Wechsel zurück auf false und wieder auf true schaltet das Licht wieder ein.

Wenn also dein Script auf den State des Dimmers reagiert, weil das Licht manuell eingeschaltet wurde, dann geht dein virtueller PIR auf true. LightControll erkennt es als Motion und schaltet das Licht ein mit den Werten des Adapters. Wenn nun Wenn noAutoOffWhenMotion auf false steht steht, müsste das Licht nach der eingestellten Zeit wieder ausgehen. Nun muss dein simulierter PIR auch ausgehen, da dein Licht ausgeht, richtig?

Wenn du zusätzlich einen richtigen PIR sporadisch verwenden möchtest, dann kannst du eine 2. Instanz von LightControl erstellen und dort eine Gruppe mit den selben Lampen erstellen und dort noAutoOffWhenMotion auf true setzen. Über enabledkannst du den richtigen PIR aktivieren oder deaktivieren.

Mit der Version 1.x können auch mehrere Gruppen mit den selben Lampen in einer Instanz erstellt werden, diese Version ist aber noch in Entwicklung.

Wenn ich den Dimmer über autoOnMotion anschalte, wird auch der power-Datenpunkt korrekt auf True gesetzt.
Power manuell setzen bringt nichts, da das - wie unten beschrieben - nicht "durchgereicht" wird.
autoOnMotion macht also intern noch "irgendeine Statusänderung", so dass dann autoOffTimed korrekt reagiert.

Das muss ich mal prüfen. Normalerweise sollte bei power und autoOffTimed ebenfalls das Licht nach Zeit X ausgehen. Wenn das nicht geht, bitte ein separates Issue erstellen.

from iobroker.lightcontrol.

kannstDuMal avatar kannstDuMal commented on July 28, 2024

Wenn also dein Script auf den State des Dimmers reagiert, weil das Licht manuell eingeschaltet wurde,
dann geht dein virtueller PIR auf true. LightControll erkennt es als Motion und schaltet das Licht ein
mit den Werten des Adapters. Wenn nun Wenn noAutoOffWhenMotion auf false steht steht, müsste das Licht
nach der eingestellten Zeit wieder ausgehen. Nun muss dein simulierter PIR auch ausgehen, da dein Licht ausgeht, richtig?

Mein simulierter PIR wird per Timer nach 5 sec wieder zurück auf False gesetzt.
Das Licht geht dann auch aus.

Wenn ich den Dimmer über autoOnMotion anschalte, wird auch der power-Datenpunkt korrekt auf True gesetzt.
Power manuell setzen bringt nichts, da das - wie unten beschrieben - nicht "durchgereicht" wird.
autoOnMotion macht also intern noch "irgendeine Statusänderung", so dass dann autoOffTimed korrekt reagiert.

Das muss ich mal prüfen. Normalerweise sollte bei power und autoOffTimed ebenfalls das Licht nach Zeit X ausgehen.
Wenn das nicht geht, bitte ein separates Issue erstellen.

Das hatte ich auch schon ausprobiert. Das funktioniert nicht. Power manuell zu verändern wird nicht an die interene Verwaltng "durchgereicht" (siehe meine Posting oben).
Meiner Meinung nach müsste power automatisch auf True gehen, sobald dim >0% ist. Dies passiert aber nicht.

Ich mach morgen wegen dieser Power Problematik ein seprates Issue auf.

from iobroker.lightcontrol.

Schmakus avatar Schmakus commented on July 28, 2024

Ich verstehe immer noch nicht, was du meinst.
Vielleicht machst einen Screencast und zeigst deine Schritte oder beschreibst es step-by-step.

from iobroker.lightcontrol.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.