From f34cf6da8b6752c39165bd9aa13a081a19753d1b Mon Sep 17 00:00:00 2001 From: Michael Lehmann Date: Tue, 18 Feb 2025 22:06:50 +0100 Subject: [PATCH] wip --- config/data.go | 1 + data.go | 16 ++++ go.mod | 30 ++++++++ go.sum | 77 ++++++++++++++++++++ images/light-off.png | Bin 0 -> 8389 bytes images/light-on.png | Bin 0 -> 29079 bytes images/room.png | Bin 0 -> 9311 bytes main.go | 60 ++++++++++++--- misc/sample-config.yml | 3 + static/favicon.ico | Bin 0 -> 51535 bytes static/styles.css | 162 +++++++++++++++++++++++++++++++++++++++++ templates/index.html | 68 +++++++++++++++++ 12 files changed, 408 insertions(+), 9 deletions(-) create mode 100644 data.go create mode 100644 images/light-off.png create mode 100644 images/light-on.png create mode 100644 images/room.png create mode 100644 static/favicon.ico create mode 100644 static/styles.css create mode 100644 templates/index.html diff --git a/config/data.go b/config/data.go index a541f4d..9e5f30c 100644 --- a/config/data.go +++ b/config/data.go @@ -19,6 +19,7 @@ type GroupDef struct { // Bulp repräsentiert ein einzelnes Gerät. type Bulp struct { + Name string `yaml:"name"` IP string `yaml:"ip"` Port string `yaml:"port"` } diff --git a/data.go b/data.go new file mode 100644 index 0000000..dc08d3d --- /dev/null +++ b/data.go @@ -0,0 +1,16 @@ +package main + +// BulbStatus fasst den Status zusammen, der im Template dargestellt wird. +type BulbStatus struct { + IP string + Port string + Name string + IsOn bool + Message string // Optional: Zusätzliche Infos, z. B. Fehleranzeige +} + +// GroupStatus repräsentiert eine Gruppe von Bulbs für die Anzeige. +type GroupStatus struct { + Name string + Bulbs []BulbStatus +} diff --git a/go.mod b/go.mod index fae20b1..20aacd5 100644 --- a/go.mod +++ b/go.mod @@ -3,3 +3,33 @@ module kattudden/wiz-controller go 1.23.3 require gopkg.in/yaml.v2 v2.4.0 + +require ( + github.com/bytedance/sonic v1.12.8 // indirect + github.com/bytedance/sonic/loader v0.2.3 // indirect + github.com/cloudwego/base64x v0.1.5 // indirect + github.com/cloudwego/iasm v0.2.0 // indirect + github.com/gabriel-vasile/mimetype v1.4.8 // indirect + github.com/gin-contrib/sse v1.0.0 // indirect + github.com/gin-gonic/gin v1.10.0 // indirect + github.com/go-playground/locales v0.14.1 // indirect + github.com/go-playground/universal-translator v0.18.1 // indirect + github.com/go-playground/validator/v10 v10.25.0 // indirect + github.com/goccy/go-json v0.10.5 // indirect + github.com/json-iterator/go v1.1.12 // indirect + github.com/klauspost/cpuid/v2 v2.2.9 // indirect + github.com/leodido/go-urn v1.4.0 // indirect + github.com/mattn/go-isatty v0.0.20 // indirect + github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect + github.com/modern-go/reflect2 v1.0.2 // indirect + github.com/pelletier/go-toml/v2 v2.2.3 // indirect + github.com/twitchyliquid64/golang-asm v0.15.1 // indirect + github.com/ugorji/go/codec v1.2.12 // indirect + golang.org/x/arch v0.14.0 // indirect + golang.org/x/crypto v0.33.0 // indirect + golang.org/x/net v0.35.0 // indirect + golang.org/x/sys v0.30.0 // indirect + golang.org/x/text v0.22.0 // indirect + google.golang.org/protobuf v1.36.5 // indirect + gopkg.in/yaml.v3 v3.0.1 // indirect +) diff --git a/go.sum b/go.sum index 7534661..3088fda 100644 --- a/go.sum +++ b/go.sum @@ -1,3 +1,80 @@ +github.com/bytedance/sonic v1.12.8 h1:4xYRVRlXIgvSZ4e8iVTlMF5szgpXd4AfvuWgA8I8lgs= +github.com/bytedance/sonic v1.12.8/go.mod h1:uVvFidNmlt9+wa31S1urfwwthTWteBgG0hWuoKAXTx8= +github.com/bytedance/sonic/loader v0.1.1/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU= +github.com/bytedance/sonic/loader v0.2.3 h1:yctD0Q3v2NOGfSWPLPvG2ggA2kV6TS6s4wioyEqssH0= +github.com/bytedance/sonic/loader v0.2.3/go.mod h1:N8A3vUdtUebEY2/VQC0MyhYeKUFosQU6FxH2JmUe6VI= +github.com/cloudwego/base64x v0.1.5 h1:XPciSp1xaq2VCSt6lF0phncD4koWyULpl5bUxbfCyP4= +github.com/cloudwego/base64x v0.1.5/go.mod h1:0zlkT4Wn5C6NdauXdJRhSKRlJvmclQ1hhJgA0rcu/8w= +github.com/cloudwego/iasm v0.2.0 h1:1KNIy1I1H9hNNFEEH3DVnI4UujN+1zjpuk6gwHLTssg= +github.com/cloudwego/iasm v0.2.0/go.mod h1:8rXZaNYT2n95jn+zTI1sDr+IgcD2GVs0nlbbQPiEFhY= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/gabriel-vasile/mimetype v1.4.8 h1:FfZ3gj38NjllZIeJAmMhr+qKL8Wu+nOoI3GqacKw1NM= +github.com/gabriel-vasile/mimetype v1.4.8/go.mod h1:ByKUIKGjh1ODkGM1asKUbQZOLGrPjydw3hYPU2YU9t8= +github.com/gin-contrib/sse v1.0.0 h1:y3bT1mUWUxDpW4JLQg/HnTqV4rozuW4tC9eFKTxYI9E= +github.com/gin-contrib/sse v1.0.0/go.mod h1:zNuFdwarAygJBht0NTKiSi3jRf6RbqeILZ9Sp6Slhe0= +github.com/gin-gonic/gin v1.10.0 h1:nTuyha1TYqgedzytsKYqna+DfLos46nTv2ygFy86HFU= +github.com/gin-gonic/gin v1.10.0/go.mod h1:4PMNQiOhvDRa013RKVbsiNwoyezlm2rm0uX/T7kzp5Y= +github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA= +github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY= +github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY= +github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= +github.com/go-playground/validator/v10 v10.25.0 h1:5Dh7cjvzR7BRZadnsVOzPhWsrwUr0nmsZJxEAnFLNO8= +github.com/go-playground/validator/v10 v10.25.0/go.mod h1:GGzBIJMuE98Ic/kJsBXbz1x/7cByt++cQ+YOuDM5wus= +github.com/goccy/go-json v0.10.5 h1:Fq85nIqj+gXn/S5ahsiTlK3TmC85qgirsdTP/+DeaC4= +github.com/goccy/go-json v0.10.5/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= +github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= +github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= +github.com/klauspost/cpuid/v2 v2.2.9 h1:66ze0taIn2H33fBvCkXuv9BmCwDfafmiIVpKV9kKGuY= +github.com/klauspost/cpuid/v2 v2.2.9/go.mod h1:rqkxqrZ1EhYM9G+hXH7YdowN5R5RGN6NK4QwQ3WMXF8= +github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M= +github.com/leodido/go-urn v1.4.0 h1:WT9HwE9SGECu3lg4d/dIA+jxlljEa1/ffXKmRjqdmIQ= +github.com/leodido/go-urn v1.4.0/go.mod h1:bvxc+MVxLKB4z00jd1z+Dvzr47oO32F/QSNjSBOlFxI= +github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= +github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= +github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= +github.com/pelletier/go-toml/v2 v2.2.3 h1:YmeHyLY8mFWbdkNWwpr+qIL2bEqT0o95WSdkNHvL12M= +github.com/pelletier/go-toml/v2 v2.2.3/go.mod h1:MfCQTFTvCcUyyvvwm1+G6H/jORL20Xlb6rzQu9GuUkc= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= +github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/twitchyliquid64/golang-asm v0.15.1 h1:SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS4MhqMhdFk5YI= +github.com/twitchyliquid64/golang-asm v0.15.1/go.mod h1:a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08= +github.com/ugorji/go/codec v1.2.12 h1:9LC83zGrHhuUA9l16C9AHXAqEV/2wBQ4nkvumAE65EE= +github.com/ugorji/go/codec v1.2.12/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg= +golang.org/x/arch v0.14.0 h1:z9JUEZWr8x4rR0OU6c4/4t6E6jOZ8/QBS2bBYBm4tx4= +golang.org/x/arch v0.14.0/go.mod h1:FEVrYAQjsQXMVJ1nsMoVVXPZg6p2JE2mx8psSWTDQys= +golang.org/x/crypto v0.33.0 h1:IOBPskki6Lysi0lo9qQvbxiQ+FvsCC/YWOecCHAixus= +golang.org/x/crypto v0.33.0/go.mod h1:bVdXmD7IV/4GdElGPozy6U7lWdRXA4qyRVGJV57uQ5M= +golang.org/x/net v0.35.0 h1:T5GQRQb2y08kTAByq9L4/bz8cipCdA8FbRTXewonqY8= +golang.org/x/net v0.35.0/go.mod h1:EglIi67kWsHKlRzzVMUD93VMSWGFOMSZgxFjparz1Qk= +golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc= +golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/text v0.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM= +golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY= +google.golang.org/protobuf v1.36.5 h1:tPhr+woSbjfYvY6/GPufUoYizxw1cF/yFoxJ2fmpwlM= +google.golang.org/protobuf v1.36.5/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +nullprogram.com/x/optparse v1.0.0/go.mod h1:KdyPE+Igbe0jQUrVfMqDMeJQIJZEuyV7pjYmp6pbG50= +rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= diff --git a/images/light-off.png b/images/light-off.png new file mode 100644 index 0000000000000000000000000000000000000000..4ffa269c49e5d1411c2976f619e8163d6a0f5ba8 GIT binary patch literal 8389 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�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 GNF4x}gF)Q@ literal 0 HcmV?d00001 diff --git a/static/styles.css b/static/styles.css new file mode 100644 index 0000000..fd2365d --- /dev/null +++ b/static/styles.css @@ -0,0 +1,162 @@ +/* Grundlegender Reset */ +*, +*::before, +*::after { + box-sizing: border-box; + margin: 0; + padding: 0; +} + +/* Body-Styles */ +body { + font-family: 'Helvetica Neue', Arial, sans-serif; + line-height: 1.6; + color: #333; + background-color: #f8f8f8; + padding: 20px; +} + +/* Container für zentrierten Inhalt */ +.container { + max-width: 1200px; + margin: 0 auto; + padding: 0 15px; +} + +/* Header */ +header { + background-color: #fff; + border-bottom: 1px solid #e0e0e0; + padding: 20px 0; + margin-bottom: 30px; + text-align: center; +} + +header h1 { + margin-bottom: 10px; +} + +header nav ul { + list-style: none; + display: flex; + justify-content: center; + gap: 20px; +} + +header nav ul li a { + text-decoration: none; + color: #555; + font-weight: 500; + padding: 8px 12px; + transition: background-color 0.3s, color 0.3s; +} + +header nav ul li a:hover { + background-color: #007BFF; + color: #fff; + border-radius: 4px; +} + +/* Main Bereich */ +main { + background-color: #fff; + padding: 40px; + border-radius: 8px; + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05); + margin-bottom: 30px; +} + +/* Überschriften */ +h2, +h3 { + margin-bottom: 15px; + color: #222; +} + +/* Gruppen-Karten */ +.group-card { + border: 1px solid #e0e0e0; + border-radius: 8px; + padding: 20px; + margin-bottom: 30px; + transition: box-shadow 0.3s; +} + +.group-card:hover { + box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1); +} + +/* Gruppen-Header */ +.group-header { + display: flex; + align-items: center; + gap: 15px; + margin-bottom: 20px; +} + +.group-image { + width: 50px; + height: 50px; +} + +/* Liste der Glühbirnen */ +.bulb-list { + display: flex; + flex-wrap: wrap; + gap: 20px; +} + +.bulb { + flex: 1 1 200px; + background-color: #f0f0f0; + border-radius: 8px; + padding: 15px; + text-align: center; + transition: transform 0.3s; +} + +.bulb:hover { + transform: translateY(-5px); +} + +.bulb-info p { + margin-bottom: 10px; + font-weight: bold; +} + +/* Statusbild der Glühbirne */ +.bulb-status-image img { + width: 60px; + height: 60px; +} + +/* Fehlermeldung */ +.bulb-error p { + margin-top: 10px; + color: red; + font-size: 0.9em; +} + +/* Footer */ +footer { + text-align: center; + padding: 20px 0; + border-top: 1px solid #e0e0e0; + color: #777; +} + +/* Responsive Anpassen */ +@media (max-width: 768px) { + header nav ul { + flex-direction: column; + gap: 10px; + } + + main { + padding: 20px; + } + + .bulb-list { + flex-direction: column; + } +} \ No newline at end of file diff --git a/templates/index.html b/templates/index.html new file mode 100644 index 0000000..9ce6179 --- /dev/null +++ b/templates/index.html @@ -0,0 +1,68 @@ + + + + + + + + + + + + WIZ-Controller + + + + + + + + +
+

WIZ-Controller

+
+
+ +
+ {{/* Iteration über die Gruppen */}} + {{range .groups}} +
+ +

+ Raum Symbol + {{.Name}} +

+
    + {{/* Iteriere über die Bulbs innerhalb der aktuellen Gruppe */}} + {{range .Bulbs}} +
  • + + Name: {{.Name}} + {{if .Message}} + Fehler: {{.Message}} + {{else}} + + {{if .IsOn}}Licht an{{else}}Licht aus{{end}} + Status: {{if .IsOn}}An{{else}}Aus{{end}} + {{end}} +
  • + {{end}} +
+
+ {{else}} +

Keine Gruppen vorhanden!

+ {{end}} +
+ +
+ + + + + + \ No newline at end of file