removed grafana and victoria

This commit is contained in:
2026-09-06 15:31:57 +02:00
parent 2da3685ad2
commit b7f98c2ccf
15 changed files with 407 additions and 379 deletions
+13 -16
View File
@@ -5,11 +5,7 @@ from hue_collector.collector import Collector
class FakeClient:
data = {
"device": [
{"id": "d1", "metadata": {"name": "Motion"}},
{"id": "d2", "metadata": {"name": "Lamp"}},
{"id": "d3", "metadata": {"name": "Offline lamp"}},
],
"device": [{"id": "d1", "metadata": {"name": "Motion"}}, {"id": "d2", "metadata": {"name": "Lamp"}}, {"id": "d3", "metadata": {"name": "Offline lamp"}}],
"room": [{"id": "r1", "metadata": {"name": "Office"}, "children": [{"rid": "d1"}, {"rid": "d2"}, {"rid": "d3"}]}],
"zone": [{"id": "z1", "metadata": {"name": "Downstairs"}, "children": [{"rid": "d2"}]}],
"light": [
@@ -31,20 +27,21 @@ class FakeClient:
class CollectorTests(unittest.TestCase):
def setUp(self):
self.metrics = Collector(FakeClient()).collect()
self.snapshot = Collector(FakeClient()).collect()
def test_group_counts_only_connected_lights(self):
self.assertIn('hue_group_lights_available{group="Office",group_id="r1",group_type="room"} 1', self.metrics)
self.assertIn('hue_group_lights_off{group="Office",group_id="r1",group_type="room"} 0', self.metrics)
self.assertIn('hue_group_lights_unavailable{group="Office",group_id="r1",group_type="room"} 1', self.metrics)
self.assertIn('hue_group_lights_shining_percent{group="Office",group_id="r1",group_type="room"} 100.0', self.metrics)
self.assertIn('hue_group_lights_off_percent{group="Office",group_id="r1",group_type="room"} 0.0', self.metrics)
self.assertIn('hue_group_lights_unavailable_percent{group="Office",group_id="r1",group_type="room"} 50.0', self.metrics)
self.assertIn('hue_group_average_brightness_percent{group="Office",group_id="r1",group_type="room"} 60.0', self.metrics)
def test_group_light_state(self):
office = next(item for item in self.snapshot["groups"] if item["name"] == "Office")
self.assertEqual(office["available"], 1)
self.assertEqual(office["on"], 1)
self.assertEqual(office["off"], 0)
self.assertEqual(office["unavailable"], 1)
self.assertEqual(office["brightness"], 60)
def test_sensor_values_have_location(self):
self.assertIn('hue_temperature_celsius{room="Office",sensor="Motion",sensor_id="t1",sensor_type="temperature",zones=""} 21.5', self.metrics)
self.assertIn('hue_light_level_lux{room="Office",sensor="Motion",sensor_id="s1",sensor_type="light_level",zones=""} 123.4', self.metrics)
temperature = next(item for item in self.snapshot["sensors"] if item["type"] == "temperature")
light = next(item for item in self.snapshot["sensors"] if item["type"] == "light_level")
self.assertEqual((temperature["name"], temperature["room"], temperature["value"]), ("Motion", "Office", 21.5))
self.assertEqual((light["name"], light["room"], light["value"]), ("Motion", "Office", 123.4))
if __name__ == "__main__":