Zeitgesteuert Licht Dimmen

  • Ich brauche mal wieder Eure Hilfe für eine OpenHAB Rule.

    Ziel ist es zu einer bestimmten Zeit meine Aquarienbeleuchtung langsam hoch bzw runter zu dimmen.

    Ich habe mir hier eine Rule als Grundlage genommen, die etwas komplexer als meine Aufgabe ist.


    Zum Einschalten habe ich mir die Rule folgendermaßen abgeändert.


    irgendwo bei 50%
    hängt es dann.



    Zum Ausschalten habe ich folgende Rule.

    Die produziert dann am Ende folgenden Fehler

    Code
    2020-11-02 19:17:42.875 [vent.ItemStateChangedEvent] - MyWiFiLight_color2 changed from 1.0980392843484878540039062500 to 0.0980392843484878540039062500
    2020-11-02 19:17:48.665 [vent.ItemStateChangedEvent] - wifiled_wifiled_40F520C82B33_color changed from 0,100,5.0980392843484878540039062500 to 0,0,0
    2020-11-02 19:17:48.667 [vent.ItemStateChangedEvent] - MyWiFiLight_color2 changed from 0.0980392843484878540039062500 to 0
    
    
    ==> /var/[definition='1','0']log[/definition]/openhab2/openhab.[definition='1','0']log[/definition] <==
    2020-11-02 19:17:48.869 [WARN ] [rthome.model.script.actions.BusEvent] - Cannot convert '-1' to a command type which item 'MyWiFiLight_color2' accepts: [PercentType, OnOffType, IncreaseDecreaseType, RefreshType].

    Ich hoffe, ihr könnt mir mal wieder helfen.
    Gruß
    Patrick

  • Ganz schönes Chaos, was du da hast… :D Bei so ner einfachen Sache brauchst du den nAquaCount doch gar nicht. Macht es irgendwie nur unnötig kompliziert, egal… Bei deinem Ausschalten ist das Problem, dass du da in den negativen Bereich kommst. Du fängst bei 100 an, ziehst bei jedem Durchlauf 1 ab und prüfst, ob nAquaCount < 101 ist, was dann natürlich immer der Fall ist. Irgendwann ist deine Lampe aus (0) und du versuchst sie noch dunkler (Minusbereich) zu machen… dann knallt es. Hoffe das war verständlich. Du kannst gerne Code von überall übernehmen aber du musst verstehen, was es macht und Unnötiges rauswerfen, sonst hat es keinen Sinn.

  • Hi,

    für den Start vielleicht eine While-Schleife anstatt der sich selbst aufrufenden Funktion?

    Die Umwandlung in den String weiß ich nicht genau. Ist auch nur von hier kopiert: https://community.openhab.org/t/how-to-slowy…e-lights/2369/2

    Grüße

  • @tojo2503

    Außerdem geht das Ding hier immer davon aus, dass die Lampe zu Beginn 100% hat, muss ja nicht der Fall sein.

    "Eigentlich" soll die Beleuchtung immer vom selben Wert (wahrscheinlich schon 100% ) langsam auf null runtergedimmt werden.

    die andere Rule käme dann dementsprechend von Null bis auf Maximum hoch. Zur Zeit habe ich eine klassische Zeitschaltuhr dazwischen. Das soll jett halt nur um die Dimm - Möglichkeit erweitert werden, damit sich die Fische beim ein und ausschalten nicht so erschrecken.

  • @tojo2503

    Das ist keine gute Idee, man sollte keine Threads blockieren. Außerdem geht das Ding hier immer davon aus, dass die Lampe zu Beginn 100% hat, muss ja nicht der Fall sein.

    Ist hier ja nur eine sehr kurze Zeit mit der Blockade, aber generell hast du natürlich recht. Das mit dem von 100 herunterdimmen ist glaube ich einfach anzupassen, da muss ja nur der aktuelle Wert der Lampe eingesetzt werden.

    Grüße

  • Ist hier ja nur eine sehr kurze Zeit mit der Blockade, aber generell hast du natürlich recht. Das mit dem von 100 herunterdimmen ist glaube ich einfach anzupassen, da muss ja nur der aktuelle Wert der Lampe eingesetzt werden.

    Ja, bei einer kleinen Installation macht das keine Probleme aber man weiß ja nie wie groß es ist und noch wird. Richtig erkannt, einfach den aktuellen Wert der aktuellen Lampe nutzen. [ay]

  • Ich habe anscheinend ein grundlegendes Konfiguratonsproblem.

    Die LEDs lassen sich nicht dimmen, weil sie irgendwie einen falschen Status zurückliefern.
    Beim Dimmen "von Hand"
    Ich benutze den "Color Regler, weil beide weiß Regler keinen Effekt haben.


    Code
    log" data-line="1">2020-12-06 12:06:10.139 [nt.ItemStatePredictedEvent] - MyWiFiLight_power predicted to become NULL
    2020-12-06 12:06:12.416 [ome.event.ItemCommandEvent] - Item 'MyWiFiLight_power' received command ON
    2020-12-06 12:06:12.424 [nt.ItemStatePredictedEvent] - MyWiFiLight_power predicted to become NULL
    2020-12-06 12:06:15.847 [ome.event.ItemCommandEvent] - Item 'MyWiFiLight_color' received command 92
    2020-12-06 12:06:15.851 [nt.ItemStatePredictedEvent] - MyWiFiLight_color predicted to become NULL
    Code: wifiled.things
    Thing wifiled:wifiled:40F520C82B33 "Wohnzimmer" @ "LED"[ ip="192.168.178.78", port=5577, pollingPeriod=3000, protocol="LD686", driver="CLASSIC", fadeDurationInMs=1000, fadeSteps=100 ]
    
    
    //Thing wifiled:wifiled:40F520C82A7C "Fischkeller" @ "LED"[ ip="192.168.178.77", port=5577, pollingPeriod=3000, protocol="LD686", driver="CLASSIC", fadeDurationInMs=1000, fadeSteps=100 ]
    Code: wifiled.items
    Switch MyWiFiLight_power "Power Wohnzimmer" (Light) {channel="wifiled:wifiled:40F520C82B33:power"}
    Dimmer MyWiFiLight_white "White" (Light) {channel="wifiled:wifiled:40F520C82B33:white"}
    Dimmer  MyWiFiLight_color "Color" (Light) {channel="wifiled:wifiled:40F520C82B33:color"}
    Dimmer MyWiFiLight_white2 "White2" (Light) {channel="wifiled:wifiled:40F520C82B33:white2"}
    
    
    //Switch MyWiFiLight_power "Power" (Light) {channel="wifiled:wifiled:40F520C82A7C:power"}
    //Dimmer MyWiFiLight_white "White" (Light) {channel="wifiled:wifiled:40F520C82A7C:white"}
    //Color  MyWiFiLight_color "Color" (Light) {channel="wifiled:wifiled:40F520C82A7C:color"}

    Bei dieser Rule wird auf irgendeinen Wert gedimmt, der nicht im Log auftaucht und dann steigt die Rule aus.

    Ich hoffe @horschte ist wieder fit und kann mir helfen??

  • Wenn ich protocol="LD382" benutze, liefert die LED Werte zurück:

  • Wenn ich protocol="LD382" benutze, liefert die LED Werte zurück:

    Das "Protocol" entspricht dem Device Type / Controler. Man muß zu deinem Controler schon das passende Protocol/Device wählen, damit alles funktioniert. Die auf der binding-Seite angegeben Devices sind anscheinend Standard-Werte. habe selbst solchen Controler mit LED Streifen, dort funktionieren die meisten Sachen (für mich). Eine weitere LED Birne, die ich habe, funktioniert nur bedingt, da anscheinend die Standard- Devices nicht meiner Birne entsprechen.
    Weiterhin ist wichtig, welchen Driver du benutzt und was damit funktioniert:


    While the CLASSIC driver lets you choose and run device internal programs (e.g. alternating blue),all normal operations (e.g. turn on or off, switch color, etc.) are performed immediately andwithout any fading effect.
    If you prefer to switch colors smoothly and to turn your light on and off by slightly increasing/decreasing the brightness, you should try the FADING driver.If selected, you can also set the number of fading steps and the fading duration in the Thing configuration.Each fading step will at least take 10 ms to be processed.This limit comes from the speed of the LED controller and your network speed.Thus a color fading with a configured fading duration of 0s might still take some time; count on more than 1 second for 100 steps.If the FADING driver is chosen, the program and the programSpeed channels will not have any effect.
    The polling period is a parameter only used by the CLASSIC driver and specifies the time in seconds after the LED state is refreshed in openHAB.

    Steht auch auf der oben verlinkten Seite.

    Tschau nepo

  • Ich habe mir die Binding-Seite bereits ein paar mal durchgelesen, leider hilft es mir persönlich nicht so richtig weiter.
    Allerdings bin ich irgendwann darüber gestolpert, daß eigentlich keine Konfiguration nötig ist.
    Also habe ich mal versucht, OH die Konfig des controllers zu überlassen. Dann scheint das Protokoll LD382A benutzt zu werden.
    Hat aber keine Besserung gebracht. Dimmen läßt sich der LED Stripe nur über den Color Kanal. Grundsätzlich funktioniert das auch. Allerdings hängt sich nach ein paar Probe Dimmen oder Schaltungen irgendwas auf.

    Natürlich war der Controller bei den Versuchen ONLINE !!

  • meine thing config bei diesen controllern:
    Thing wifiled:wifiled:D8F15B86445B "3D Drucker Licht" @ "Büro" [ ip="192.168.2.89", port=5577, pollingPeriod=3000, protocol="LD382A", driver="CLASSIC", fadeDurationInMs=1000, fadeSteps=100 ]
    der channel "white" ist nur für rgbw controller und rgbw stripes.
    wenn ich dein bild richtig interpretiere hast du aber nur einen stripe ohne rgb und ohne weissspektrum oder?
    dann wäre es korrekt, dass der colorchannel zum dimmen benutzt wird da du keinen eigenen weiss channel hast.
    es sollte also Dimmer MyWiFiLight_color "Color" (Light) {channel="wifiled:wifiled:40F520C82B33:color"} alsi item ausreichen. den rest deiner items brauchst du nicht.
    baue das mal so zusammen und setze diesen dimmer in die sitemap. dann versuchst du mal manuell ob so die steuerung passt

  • Genau, ich habe einen Streifen der nur weiß kann. Den hattest Du mir empfohlen.
    Händisch dimmen über die Sitemap oder auch die PaperUI mit dem ColorChannel geht.

    Manchmal bleibt das Dimmen dann hängen. Könnte es sein, daß die MagicHome App vom Handy da irgendwie zwischen funkt??
    Aber bisher habe ich den Fehler nicht genau reproduzieren können. Vielleicht geht das auch von alleine weg, wenn ich nicht so viel dran rum fummel ;)
    Soll ja nur morgens langsam an und abends langsam aus gehen. Die rule mit dem Dim Level von oben scheint mit dem LD382 Protokoll nicht zu laufen.

    Aber so ähnlich

    könnte man es doch machen ?? Wenn man sich besser auskennt als ich .......

    Also den Status der LED auslesen und alle X Sekunden einen niedrigeren / höheren Wert schalten. Bis an oder aus.....
    Ich bin mir mittlerweile nicht sicher, ob die LED nicht schon vor 100% die volle helligkeit haben (?)

  • @horschte

    Habe things items und sitemap getestet.
    Läuft!

    auch curl localhost:8080/basicui/CMD?MyWiFiLight_color_Wz=70

    geht
    2020-12-08 18:26:34.711 [nt.ItemStatePredictedEvent] - MyWiFiLight_color_Wz predicted to become 70
    2020-12-08 18:26:34.721 [vent.ItemStateChangedEvent] - MyWiFiLight_color_Wz changed from 99 to 70

    Jetzt brauche ich "nur" noch die rules

  • Bei dieser rule Geht es gleich von 100 auf 1 runter

  • Ich habe eine funktionierende rule gefunden

    Fürs hoch dimmen habe ich die rule so umgestrickt


    Was aber seltsam ist:
    Im Log läft sie bis 100 hoch. Die LEDs werden ab 50% aber nicht mehr heller.
    Wenn ich in die MagicHome App sehe, steht die Intensität bei 50%.
    Dort kann ich dann bis 100% hochdrehen und die LEDs werden auch heller.

    auch bei curl localhost:8080/basicui/CMD?MyWiFiLight_color_Wz=50 oder größer gehts manchmal nicht weiter.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!