Skip to content

Schmakus/ioBroker-LightOnOffPresence

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Falls euch meine Arbeit gefällt :

Paypal Donation

ioBroker.LightOnOffPresence (Version 0.1.1)

Dieses Script ermöglicht es, eure Lampen über beliebig viele Bewegungsmelder (BWM, beliebig viele Taster und über vorhandene Datenpunkte zu Schalten und zu Dimmen.

Aktuell keine Weiterentwicklung!!#

Information

Das Script ist aktuell auf Homematic Taster und x-beliebige BWM ausgelegt und getestet.Es befindet sich noch im Beta Status und kann fehler enthalten. Bei Fehlfunktionen einfach ein Issue aufmachen.

Link zum ioBroker-Forum-Thread: https://forum.iobroker.net/topic/43594/vorlage-lichtscript-lightonoffpresence

Inhalt

Inhalt
  1. Features
  2. Anleitung
  3. Planungen / Ideen
  4. FAQ
  5. Schlusswort
  6. Changelog
  7. License

Features

Licht schalten per Taster

  • Licht ein und aus per Taster, welcher ein "true" liefert (Aktuell getestet mit Homematic IP)
  • Individuell für jede Gruppe kann bei Licht ein gewählt werden, ob die Helligkeit auf einen Standard-Wert oder ob die Helligkeit nach Zeitplan-Definition gesetz wird.
  • Individuell für jede Gruppe kann festgelegt werden, ob ein vorhandener BWM beim Schalten mit Taster außer Kraft gesetzt wird (Putzlicht)
  • Individuell für jede Gruppe kann festgelegt werden, ob eine "Sicherheitsabschaltung" nach Zeit X erfolgen soll (Standard 3600s)
  • Wenn eine Sicherheitsabschaltung festgelegt wurde, dann wird dies bei Bewegung immer zurückgesetzt

Licht schalten per BWM

  • Das Licht wird bei Bewegung eingeschaltet. Dabei spielt es keine Rolle, welcher BWM der Gruppe ausgelöst hat
  • Das Licht wird nach Zeit X (Individuell pro Gruppe einstellbar) ausgeschaltet, wenn alle BWM auf "false" sind
  • Der timeout beginnt erst dann zu laufen, wenn alle BWM den Wert "false" stehen.
  • Bei Bewegung wird das Licht in Abhängigkeit des Zeitplans geschaltet. (z.B.: Helligkeit)
  • Bei Bewegung wird das Licht in Abhängikeit des Lux-Wertes geschaltet (sofern vorhanden)

Hinweis: Die Einschaltdauer sollte nicht nur wenige Sekunden betragen, da einige Bewegungsmelder einen cooldown haben, bevor sie wieder Bewegungen erkennen und melden. Da führt dazu, dass eventuell Lampen bei zu kurzer Einschaltdauer ausschalten, obwohl man noch im Raum ist!

Licht dimmen per Taster

  • Das Licht kann hoch- und runtergedimmt werden. Dies erfolgt aktuell nur durch ein "true" welches durch das vorgegebene Intervall eines Homematic Tasters gesetzt wird
  • Gedimmt werden kann nur, wenn vorher das Licht eingeschaltet wurde (per Taster oder BWM, wobei ein BWM die Helligkeit wieder nach Zeitplan setzen würde)

Notlicht

  • Es gibt einen gemeinsamen Datenpunkt "Notlicht". (z.B. in Verbindung mit Rauchmeldern oder Sonstiges)
  • Über diesen Datenpunkt werden alle zugeordneten Lampen auf eine fest eingestellte Helligkeit oder einfach nur ein geschaltet.
  • Die Notlichtfunktion merkt sich zuvor den aktuellen Status der Lampe. Bei deaktivieren des Notlichts, werden die Lampen auf den zuvor eingestellten Wert gesetzt.

Datenpunkte

  • Alle Lampen können zentral gesteuert werden (Default-Werte oder nach Zeitplan)
  • Alle Lampen einer Gruppe können gesteuet werden (Default-Werte oder nach Zeitplan)
  • Der Lampenstatus jeder Gruppe wird per Datenpunkt angezeigt
  • Der Status jeder Lampe wird per Datenpunkt angezeigt

Script-Updates einspielen

  • Das Script ist so aufgebaut, dass Updates keinen Einfluss auf eure Geräteliste haben (Zumindest nicht bei kleinen Updates ;-)). Ihr müsst eure Geräte nur einmal anlegen und das wars dann auch schon. Die folgende Zeile gibt euch einen Hinweis darauf, ab wo ihr das Script bei einem Update kopieren und wieder einfügen müsst.
    Ab_hier_nichts_mehr_aendern.png

Anleitung

Script erstellen

Ein neues JS Script in iobroker erstellen und das Script aus "script-bwm-script.js" kopieren und einfügen.

erstellung_1.png
erstellung_2.png

Allgmeines

Allgemein gültige Wete für das gesamte Script

Allgemeine_Werte_definieren.png

  • defaultTransition: TrasitionTime (sollte aufgrund des Dimmens nicht kleiner als 0.8 sein
  • DimIntervall: Schritte fürs dimmen (bei Level von 0-100 sind 10er Schritte ideal)
  • luxThreshold: Helligkeits-Wert der Lichtsensoren, ab wann das Licht geschaltet werden soll
  • statesPath: Ort, wo die Datenpunkte agelegt werden sollen
  • logging: Einfaches Logging
  • extLogging: Erweitertes Logging

Gruppe definieren

Das Anlegen einer Gruppe ist sehr einfach.

  • Man benötigt nur die Pfade der Taster, BMWs und Lichtsensor.

  • Definieren der Timer und Sperren.

  • Zuordnen aller Lampen über die Lampennummer (nächster Punkt: Lampen definieren)

  • In allen eckigen Klammern können mehrere Datenpunkte oder Werte definiert werden. Wichtig hierbei ist die Trennung durch ein Komma

  • Alle Werte sind in folgendem Screenshot beschrieben:

    Gruppen_definieren.png

Lampen definieren

  1. Für jede Lampe die erste Zahl forlaufend erhöhen! (Es können natürlich auch Lampengruppen wie z.B. vom Deconz Adapter verwendet werden werden)
  • Alle Werte sind in folgendem Screenshot beschrieben:

    Lampen_definieren.png

Zeitplaene definieren

Vorwort: Die Zeitpläne sind nicht dafür gedacht, das Licht ein- oder auszuschalten, sondern legen nur fest, in welcher Helligkeit, Farbtemperatur und Farbe das Licht haben soll, wenn es geschaltet wird!

Es können beliebig viele Zeitpläne erstellt werden. Für jeden Zeitplan die erste Zahl forlaufend erhöhen!

Hinweis Wenn mehrere Zeitpläne einer Lampe zugeordnet werden, sollten sich die Zeiten nicht überschneiden! Dies führt zur Fehlfunktion des Scripts!

  • Für jeden Zeitplan wird ein automatischer Schedule angelegt, welcher zur Startzeit die Werte brightness (nur wenn Licht an ist), colorTemp und color ändert.

    Zeitpläne_definieren.png

  • from: Startzeit als Uhreit (z.B. 12:00 oder als Astrozeit "sunrise") => Ebenfalls ist es möglich ein Offset in minuten zu setzten: sunrise+30
  • to: Endzeit
  • days: 1: Mo // 1-2: Mo-Di // 2-3: Di-Mi // 1-4: Mo // 1-7: Mo-So // usw.
  • brightness: Helligkeit der Lampe (Sofern der Datenpunkt pathControll der Gruppe des Typs number entspricht)
  • colorTemp: Farbtemperatur, sofern in der Gruppe ein Datenpunkt definiert wurde
  • color: Farbe, sofern in der Gruppe ein Datenpunkt definiert wurde (Angabe als Hex-Wert: z.B. #0000FF oder als xy-Wert: z.B. 100, 100
  • state: true/false = Ein/Aus (Sofern der Datenpunkt pathControll der Gruppe des Typs boolean entspricht)
  • name: Freier Text zur einfacheren Unterscheidung. Keine Funktion innerhalb des Scripts, nur beim logging

Astrozeiten

  • "sunrise": sunrise (top edge of the sun appears on the horizon)
  • "sunriseEnd": sunrise ends (bottom edge of the sun touches the horizon)
  • "goldenHourEnd": morning golden hour (soft light, best time for photography) ends
  • "solarNoon": solar noon (sun is in the highest position)
  • "goldenHour": evening golden hour starts
  • "sunsetStart": sunset starts (bottom edge of the sun touches the horizon)
  • "sunset": sunset (sun disappears below the horizon, evening civil twilight starts)
  • "dusk": dusk (evening nautical twilight starts)
  • "nauticalDusk": nautical dusk (evening astronomical twilight starts)
  • "night": night starts (dark enough for astronomical observations)
  • "nightEnd": night ends (morning astronomical twilight starts)
  • "nauticalDawn": nautical dawn (morning nautical twilight starts)
  • "dawn": dawn (morning nautical twilight ends, morning civil twilight starts)
  • "nadir": nadir (darkest moment of the night, sun is in the lowest position)

Beschreibung Datenpunkte

Datenpunkte.png

Zukuenftige Planungen

  • Schalten des Lichts mit nur einem einzelnen Taster
  • Schalten und Dimmen des Lichts mit unterschiedlichen Tastertypen. z.B. Aquara welche einen Zahlenwert auswerfen
  • Individuelle Brighness-Werte von Lampen (z.B. anstatt 0-100 => 0-256)
  • Ansteuerung der Farben, wenn mehrere Datenpunkte beschrieben werden müssen (HSL, HS,...)

Greetings

Vielen Dank an Carlo Pittini, Stefan Feldkamp und MIC für die Inspiration für diese Script. Ich habe mich bei beiden ewtas beim Coding abgeschaut. ;-)

Das wars dann auch schon. Nur noch speichern und das Script starten

Viel Spaß dabei

Changelog

0.1.1 (2021-03-25)

  • (schmakus) BugFix beim setzen der Lampenparameter durch den Zeitplan. Helligkeit wurde auch gesetzt, obwohl Lape aus war
  • (schmakus) Verwenden von Astrozeiten in den Zeitplänen
  • (schmakus) Diverse Optimierungen

0.1.0 (2021-03-16)

  • (schmakus) Release der ersten Beta
  • (schmakus) Umsetzung der Änderung von Farbtemperatur, Farbe und Helligkeit durch automatische Zeitpläne

0.0.3 (2021-01-20)

  • (schmakus) bugfixes

0.0.2 (2020-12-31)

  • (schmakus) zahlreiche Änderungen nach ersten Tests

0.0.1 (2020-12-15)

  • (schmakus) initial commit

License

MIT License

Copyright (c) 2021 schmakus

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

About

Dieses Script ermöglicht es, eure Lampen über beliebig viele Bewegungsmelder, beliebig viele Taster und über vorhandene Datenpunkte zu Schalten und zu Dimmen.

Resources

License

Stars

Watchers

Forks

Packages

No packages published