Compare commits

..

1 commit

Author SHA1 Message Date
ef7e887370 Add renovate.json 2026-01-07 17:17:04 +00:00
7 changed files with 15 additions and 53 deletions

View file

@ -216,30 +216,6 @@ class RotatingRainbow(Animation):
return "rainbow" return "rainbow"
class RotatingRainbowKitchenWhite(Animation):
def __init__(self, looptime=50.0):
super(RotatingRainbowKitchenWhite, self).__init__()
self.looptime = looptime
pass
def update(self, index, count):
"""
Same as RotatingRainbow but the two lights above the kitchen are mapped to white
"""
if (index == 2 or index == 7):
rgb = (255, 255, 255)
else:
hue = (time() / self.looptime + (index + 0.0) / count) % 1.0
rgb = hsv_to_rgb(hue, 1, 1)
return rgb
def __str__(self):
return f"{type(self).__name__}"
def name(self):
return "kitchenlight"
class Chase(Steady): class Chase(Steady):
def __init__(self, color, looptime=1.0): def __init__(self, color, looptime=1.0):
super(Chase, self).__init__(color) super(Chase, self).__init__(color)

4
dmx.py
View file

@ -6,7 +6,7 @@ from time import sleep
from typing import Union from typing import Union
from animation import Animation, Off, RandomSingle, Steady, FadeTo, RotatingRainbow, Chase, TwoColor, Caramelldansen, \ from animation import Animation, Off, RandomSingle, Steady, FadeTo, RotatingRainbow, Chase, TwoColor, Caramelldansen, \
Hackertours, RotatingRainbowKitchenWhite Hackertours
def ledlog(value): def ledlog(value):
@ -152,8 +152,6 @@ class DMX:
animation = RandomSingle(self._color) animation = RandomSingle(self._color)
elif animation == "hackertours": elif animation == "hackertours":
animation = Hackertours(self._color) animation = Hackertours(self._color)
elif animation == "kitchenlight":
animation = RotatingRainbowKitchenWhite()
else: else:
raise ValueError(f"No such animation {animation}") raise ValueError(f"No such animation {animation}")
self._animation = animation self._animation = animation

19
poetry.lock generated
View file

@ -1,4 +1,4 @@
# This file is automatically @generated by Poetry 2.3.4 and should not be changed by hand. # This file is automatically @generated by Poetry 1.8.4 and should not be changed by hand.
[[package]] [[package]]
name = "bottle" name = "bottle"
@ -6,25 +6,12 @@ version = "0.12.25"
description = "Fast and simple WSGI-framework for small web-applications." description = "Fast and simple WSGI-framework for small web-applications."
optional = false optional = false
python-versions = "*" python-versions = "*"
groups = ["main"]
files = [ files = [
{file = "bottle-0.12.25-py3-none-any.whl", hash = "sha256:d6f15f9d422670b7c073d63bd8d287b135388da187a0f3e3c19293626ce034ea"}, {file = "bottle-0.12.25-py3-none-any.whl", hash = "sha256:d6f15f9d422670b7c073d63bd8d287b135388da187a0f3e3c19293626ce034ea"},
{file = "bottle-0.12.25.tar.gz", hash = "sha256:e1a9c94970ae6d710b3fb4526294dfeb86f2cb4a81eff3a4b98dc40fb0e5e021"}, {file = "bottle-0.12.25.tar.gz", hash = "sha256:e1a9c94970ae6d710b3fb4526294dfeb86f2cb4a81eff3a4b98dc40fb0e5e021"},
] ]
[[package]]
name = "legacy-cgi"
version = "2.6.4"
description = "Fork of the standard library cgi and cgitb modules removed in Python 3.13"
optional = false
python-versions = ">=3.8"
groups = ["main"]
files = [
{file = "legacy_cgi-2.6.4-py3-none-any.whl", hash = "sha256:7e235ce58bf1e25d1fc9b2d299015e4e2cd37305eccafec1e6bac3fc04b878cd"},
{file = "legacy_cgi-2.6.4.tar.gz", hash = "sha256:abb9dfc7835772f7c9317977c63253fd22a7484b5c9bbcdca60a29dcce97c577"},
]
[metadata] [metadata]
lock-version = "2.1" lock-version = "2.0"
python-versions = "^3.9" python-versions = "^3.9"
content-hash = "19caa4a129f9c7cc8e35e26de5edb2eb372f191ab9dfa0c5cc57b75dc04a8d9a" content-hash = "861e3ad9d0b00deb876d2ca7797a608f215c7b91ec9b38f367b24bd096a28478"

View file

@ -3,12 +3,13 @@ name = "foobazdmx"
version = "0.1.0" version = "0.1.0"
description = "" description = ""
authors = ["Stefan Bethke <stb@lassitu.de>"] authors = ["Stefan Bethke <stb@lassitu.de>"]
package-mode = false #package-mode = false
[tool.poetry.dependencies] [tool.poetry.dependencies]
python = "^3.9" python = "^3.9"
bottle = "^0.12.21" bottle = "^0.12.21"
legacy-cgi = "^2.6.4"
[tool.poetry.dev-dependencies]
[build-system] [build-system]
requires = ["poetry-core>=1.0.0"] requires = ["poetry-core>=1.0.0"]

6
renovate.json Normal file
View file

@ -0,0 +1,6 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:recommended"
]
}

View file

@ -97,10 +97,10 @@ TODO: better recognition than max-width, full design parity to ha/lovelace*/
display: inline; display: inline;
} }
.buttons { .buttons {
width: 35%; width: 30%;
} }
.colors { .colors {
width: 65%; width: 70%;
} }
.controls { .controls {
width: 100%; width: 100%;

View file

@ -21,12 +21,6 @@
<input type="radio" class="js_animation" name="state" id="animation_rainbow" value="rainbow"/> <input type="radio" class="js_animation" name="state" id="animation_rainbow" value="rainbow"/>
<label for="animation_rainbow">Rainbow</label> <label for="animation_rainbow">Rainbow</label>
</div> </div>
% if room == "big":
<div>
<input type="radio" class="js_animation" name="state" id="animation_kitchenlight" value="kitchenlight"/>
<label for="animation_kitchenlight">Kitchenlight</label>
</div>
% end
<div> <div>
<input type="radio" class="js_animation" name="state" id="animation_hackertours" value="hackertours"/> <input type="radio" class="js_animation" name="state" id="animation_hackertours" value="hackertours"/>
<label for="animation_hackertours">Hackertours</label> <label for="animation_hackertours">Hackertours</label>