From ef7e88737095cc7b1f72d32e974cceb1e6dd3cf0 Mon Sep 17 00:00:00 2001 From: Renovate Date: Wed, 7 Jan 2026 17:17:04 +0000 Subject: [PATCH 1/6] Add renovate.json --- renovate.json | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 renovate.json diff --git a/renovate.json b/renovate.json new file mode 100644 index 0000000..5db72dd --- /dev/null +++ b/renovate.json @@ -0,0 +1,6 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "extends": [ + "config:recommended" + ] +} From e9971b843bf2df14fcfbe71c12c39b1370fce725 Mon Sep 17 00:00:00 2001 From: tessak9 Date: Fri, 20 Feb 2026 18:13:24 +0100 Subject: [PATCH 2/6] added new animation `RotatingRainbowKitchenWhite` --- animation.py | 24 ++++++++++++++++++++++++ dmx.py | 4 +++- views/index.tpl | 6 ++++++ 3 files changed, 33 insertions(+), 1 deletion(-) diff --git a/animation.py b/animation.py index 86d5d23..f131be8 100644 --- a/animation.py +++ b/animation.py @@ -216,6 +216,30 @@ class RotatingRainbow(Animation): 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): def __init__(self, color, looptime=1.0): super(Chase, self).__init__(color) diff --git a/dmx.py b/dmx.py index e01d8f4..edafb2f 100644 --- a/dmx.py +++ b/dmx.py @@ -6,7 +6,7 @@ from time import sleep from typing import Union from animation import Animation, Off, RandomSingle, Steady, FadeTo, RotatingRainbow, Chase, TwoColor, Caramelldansen, \ - Hackertours + Hackertours, RotatingRainbowKitchenWhite def ledlog(value): @@ -152,6 +152,8 @@ class DMX: animation = RandomSingle(self._color) elif animation == "hackertours": animation = Hackertours(self._color) + elif animation == "kitchenlight": + animation = RotatingRainbowKitchenWhite() else: raise ValueError(f"No such animation {animation}") self._animation = animation diff --git a/views/index.tpl b/views/index.tpl index 1953385..02d19f1 100644 --- a/views/index.tpl +++ b/views/index.tpl @@ -21,6 +21,12 @@ + % if room == "big": +
+ + +
+ % end
From de2a0da28618b1411c14e728c66574b27a021169 Mon Sep 17 00:00:00 2001 From: rhandos Date: Tue, 3 Mar 2026 20:48:31 +0100 Subject: [PATCH 3/6] Fixed CSS for longer radio button labels in control table --- static/main.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/static/main.css b/static/main.css index 8d44788..1a726ae 100644 --- a/static/main.css +++ b/static/main.css @@ -97,10 +97,10 @@ TODO: better recognition than max-width, full design parity to ha/lovelace*/ display: inline; } .buttons { - width: 30%; + width: 35%; } .colors { - width: 70%; + width: 65%; } .controls { width: 100%; From af8a7d69924463a7ab000c70e5ef131d6cf3c428 Mon Sep 17 00:00:00 2001 From: Stefan Bethke Date: Sat, 23 May 2026 20:50:47 +0200 Subject: [PATCH 4/6] Disable package mode --- pyproject.toml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 01bb425..f882392 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,14 +3,12 @@ name = "foobazdmx" version = "0.1.0" description = "" authors = ["Stefan Bethke "] -#package-mode = false +package-mode = false [tool.poetry.dependencies] python = "^3.9" bottle = "^0.12.21" -[tool.poetry.dev-dependencies] - [build-system] requires = ["poetry-core>=1.0.0"] build-backend = "poetry.core.masonry.api" From 60539a215f155b23cf7da9595c627bf585f045be Mon Sep 17 00:00:00 2001 From: Stefan Bethke Date: Sat, 23 May 2026 20:51:57 +0200 Subject: [PATCH 5/6] Update lock file --- poetry.lock | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/poetry.lock b/poetry.lock index 0fdf274..951aef7 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.8.4 and should not be changed by hand. +# This file is automatically @generated by Poetry 2.3.4 and should not be changed by hand. [[package]] name = "bottle" @@ -6,12 +6,13 @@ version = "0.12.25" description = "Fast and simple WSGI-framework for small web-applications." optional = false python-versions = "*" +groups = ["main"] files = [ {file = "bottle-0.12.25-py3-none-any.whl", hash = "sha256:d6f15f9d422670b7c073d63bd8d287b135388da187a0f3e3c19293626ce034ea"}, {file = "bottle-0.12.25.tar.gz", hash = "sha256:e1a9c94970ae6d710b3fb4526294dfeb86f2cb4a81eff3a4b98dc40fb0e5e021"}, ] [metadata] -lock-version = "2.0" +lock-version = "2.1" python-versions = "^3.9" -content-hash = "861e3ad9d0b00deb876d2ca7797a608f215c7b91ec9b38f367b24bd096a28478" +content-hash = "a526e61db0bf9cc49e967ff677da22b371ff4f5116a32e9a19280c5321bf9ccb" From d5b9d9d1a32176f0eba714af8776601f43933340 Mon Sep 17 00:00:00 2001 From: Stefan Bethke Date: Sat, 23 May 2026 21:09:20 +0200 Subject: [PATCH 6/6] Add CGI module removed in Python 3.13 --- poetry.lock | 14 +++++++++++++- pyproject.toml | 1 + 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/poetry.lock b/poetry.lock index 951aef7..362ac06 100644 --- a/poetry.lock +++ b/poetry.lock @@ -12,7 +12,19 @@ files = [ {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] lock-version = "2.1" python-versions = "^3.9" -content-hash = "a526e61db0bf9cc49e967ff677da22b371ff4f5116a32e9a19280c5321bf9ccb" +content-hash = "19caa4a129f9c7cc8e35e26de5edb2eb372f191ab9dfa0c5cc57b75dc04a8d9a" diff --git a/pyproject.toml b/pyproject.toml index f882392..72af8fe 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,6 +8,7 @@ package-mode = false [tool.poetry.dependencies] python = "^3.9" bottle = "^0.12.21" +legacy-cgi = "^2.6.4" [build-system] requires = ["poetry-core>=1.0.0"]