From 17d4406deb7182bcb3543beafe1fdbcc0e3f4049 Mon Sep 17 00:00:00 2001 From: Paulchen Panther <16664240+Paulchen-Panther@users.noreply.github.com> Date: Sat, 1 May 2021 17:00:44 +0200 Subject: [PATCH] Refactor PR #957 (#1234) --- 3RD_PARTY_LICENSES | 68 +++++- README.md | 2 +- .../network_bridge/udpraw_serialadalight.py | 18 +- assets/webconfig/apple-touch-icon.png | Bin 28314 -> 39175 bytes assets/webconfig/content/about.html | 122 +++++----- assets/webconfig/content/conf_colors.html | 18 +- assets/webconfig/content/conf_effect.html | 13 + assets/webconfig/content/conf_general.html | 2 +- assets/webconfig/content/conf_leds.html | 19 +- assets/webconfig/content/conf_network.html | 6 +- assets/webconfig/content/connection_lost.html | 11 +- assets/webconfig/content/dashboard.html | 188 +++++++------- .../content/effects_configurator.html | 17 +- .../webconfig/content/ie_not_supported.html | 2 +- assets/webconfig/content/login.html | 56 ++--- assets/webconfig/content/remote.html | 13 + assets/webconfig/css/darkMode.css | 32 ++- assets/webconfig/css/hyperion.css | 211 ++++++++++------ .../webconfig/css/materialdesignicons.min.css | 3 + assets/webconfig/favicon.png | Bin 2612 -> 1459 bytes .../fonts/materialdesignicons-webfont.eot | Bin 0 -> 1026396 bytes .../fonts/materialdesignicons-webfont.ttf | Bin 0 -> 1026176 bytes .../fonts/materialdesignicons-webfont.woff | Bin 0 -> 465188 bytes .../fonts/materialdesignicons-webfont.woff2 | Bin 0 -> 325244 bytes assets/webconfig/i18n/cs.json | 5 +- assets/webconfig/i18n/de.json | 7 +- assets/webconfig/i18n/en.json | 12 +- assets/webconfig/i18n/es.json | 5 +- assets/webconfig/i18n/it.json | 5 +- assets/webconfig/i18n/nl.json | 5 +- assets/webconfig/i18n/pl.json | 5 +- assets/webconfig/i18n/ru.json | 5 +- assets/webconfig/i18n/sv.json | 5 +- assets/webconfig/i18n/tr.json | 5 +- assets/webconfig/i18n/vi.json | 5 +- .../webconfig/img/hyperion/hyperionlogo.png | Bin 10549 -> 0 bytes .../img/hyperion/hyperionwhitelogo.png | Bin 23592 -> 0 bytes .../webconfig/img/hyperion/logo_negativ.png | Bin 0 -> 12854 bytes .../webconfig/img/hyperion/logo_positiv.png | Bin 0 -> 13790 bytes assets/webconfig/img/hyperion/ssdp_icon.png | Bin 11111 -> 16532 bytes assets/webconfig/index.html | 49 +--- assets/webconfig/js/content_colors.js | 31 ++- assets/webconfig/js/content_dashboard.js | 229 +++++++++--------- assets/webconfig/js/content_effects.js | 32 ++- .../js/content_effectsconfigurator.js | 6 +- assets/webconfig/js/content_general.js | 34 ++- assets/webconfig/js/content_index.js | 7 + assets/webconfig/js/content_leds.js | 69 +++--- assets/webconfig/js/content_logging.js | 14 +- assets/webconfig/js/content_network.js | 64 +++-- assets/webconfig/js/content_remote.js | 3 + assets/webconfig/js/content_webconfig.js | 2 +- assets/webconfig/js/hyperion.js | 2 +- assets/webconfig/js/ledsim.js | 20 +- assets/webconfig/js/ui_utils.js | 81 ++++--- assets/webconfig/js/wizard.js | 19 +- assets/webconfig/mstile-144x144.png | Bin 20241 -> 30612 bytes cmake/nsis/header.bmp | Bin 0 -> 34254 bytes cmake/nsis/hyperion-logo-vert.bmp | Bin 154542 -> 0 bytes cmake/nsis/hyperion-logo.bmp | Bin 88054 -> 0 bytes cmake/nsis/installer.ico | Bin 89173 -> 203536 bytes cmake/nsis/logo.bmp | Bin 0 -> 206038 bytes cmake/packages.cmake | 6 +- doc/logo.png | Bin 0 -> 21219 bytes .../leddevice/dev_net/LedDeviceYeelight.cpp | 10 +- 65 files changed, 943 insertions(+), 600 deletions(-) create mode 100644 assets/webconfig/css/materialdesignicons.min.css create mode 100644 assets/webconfig/fonts/materialdesignicons-webfont.eot create mode 100644 assets/webconfig/fonts/materialdesignicons-webfont.ttf create mode 100644 assets/webconfig/fonts/materialdesignicons-webfont.woff create mode 100644 assets/webconfig/fonts/materialdesignicons-webfont.woff2 delete mode 100644 assets/webconfig/img/hyperion/hyperionlogo.png delete mode 100644 assets/webconfig/img/hyperion/hyperionwhitelogo.png create mode 100644 assets/webconfig/img/hyperion/logo_negativ.png create mode 100644 assets/webconfig/img/hyperion/logo_positiv.png create mode 100644 cmake/nsis/header.bmp delete mode 100644 cmake/nsis/hyperion-logo-vert.bmp delete mode 100644 cmake/nsis/hyperion-logo.bmp create mode 100644 cmake/nsis/logo.bmp create mode 100644 doc/logo.png diff --git a/3RD_PARTY_LICENSES b/3RD_PARTY_LICENSES index 76ea8ba1..e573395a 100644 --- a/3RD_PARTY_LICENSES +++ b/3RD_PARTY_LICENSES @@ -704,6 +704,64 @@ trademarks does not indicate endorsement of the trademark holder by Font Awesome, nor vice versa. **Please do not use brand logos for any purpose except to represent the company, product, or service to which they refer.** +============ +Material Design Icons +============ + +Copyright (c) 2014, Austin Andrews (http://materialdesignicons.com/), with Reserved Font Name Material Design Icons. + +Copyright (c) 2014, Google (http://www.google.com/design/) uses the license at https://github.com/google/material-design-icons/blob/master/LICENSE + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL + +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +PREAMBLE The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, +to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and +improved in partnership with others. + +The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. +The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. +The fonts and derivatives, however, cannot be released under any other type of license. +The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives. + +DEFINITIONS "Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. +This may include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the copyright statement(s). + +"Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, or substituting -- in part or in whole -- any of the components of the Original Version, +by changing formats or by porting the Font Software to a new environment. + +"Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, +to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions: + +Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself. + +Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, +provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, +human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user. + +No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. +This restriction only applies to the primary font name as presented to the users. + +The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, +endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission. + +The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. +The requirement for fonts to remain under this license does not apply to any document created using the Font Software. + +TERMINATION This license becomes null and void if any of the above conditions are not met. + +DISCLAIMER THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE. + ===== Gijgo ===== @@ -739,7 +797,7 @@ HIDAPI Copyright 2009, Alan Ott, Signal 11 Software. All Rights Reserved. - + This software may be used by anyone for any reason so long as the copyright notice in the source files remains intact. @@ -856,8 +914,8 @@ THE SOFTWARE. ## Markdown -Copyright © 2004, John Gruber -http://daringfireball.net/ +Copyright © 2004, John Gruber +http://daringfireball.net/ All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: @@ -1377,7 +1435,7 @@ tinkerforge Copyright (C) 2012-2013 Matthias Bolte Copyright (C) 2011 Olaf Lüke - + Redistribution and use in source and binary forms of this file, with or without modification, are permitted. @@ -1415,7 +1473,7 @@ Pulse-Eight Licensing http://www.pulse-eight.net/ - + GNU GENERAL PUBLIC LICENSE Version 2, June 1991 diff --git a/README.md b/README.md index 22a3a73a..e6258b08 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -![Hyperion](https://raw.githubusercontent.com/hyperion-project/hyperion.ng/master/assets/webconfig/img/hyperion/hyperionlogo.png) +![Hyperion](doc/logo.png) [![Latest-Release](https://img.shields.io/github/v/release/hyperion-project/hyperion.ng?include_prereleases)](https://github.com/hyperion-project/hyperion.ng/releases) [![GitHub Actions](https://github.com/hyperion-project/hyperion.ng/workflows/Hyperion%20CI%20Build/badge.svg?branch=master)](https://github.com/hyperion-project/hyperion.ng/actions) diff --git a/assets/firmware/arduino/network_bridge/udpraw_serialadalight.py b/assets/firmware/arduino/network_bridge/udpraw_serialadalight.py index b69efe20..b46597a9 100755 --- a/assets/firmware/arduino/network_bridge/udpraw_serialadalight.py +++ b/assets/firmware/arduino/network_bridge/udpraw_serialadalight.py @@ -138,7 +138,7 @@ to this service over the network. sys.stderr.write( '--- UDP to Serial redirector\n' '--- listening on udp port {a.localport}\n' - '--- sending to {p.name} {p.baudrate},{p.bytesize}{p.parity}{p.stopbits}\n' + '--- sending to {p.name} {p.baudrate},{p.bytesize}{p.parity}{p.stopbits}\n' '--- type Ctrl-C / BREAK to quit\n'.format(p=ser, a=args)) try: @@ -153,7 +153,7 @@ to this service over the network. srv = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) srv.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) - srv.bind(('0.0.0.0', args.localport)) + srv.bind(('0.0.0.0', args.localport)) # lgtm [py/bind-socket-all-network-interfaces] try: intentional_exit = False @@ -165,14 +165,14 @@ to this service over the network. if not data: break - if args.ada: - numleds = len(data)/3 - hi = (numleds-1)/256 - lo = (numleds-1)&255 - sum = hi^lo^0x55 - ser.write ("Ada"+ chr(hi) + chr(lo) + chr(sum)) + if args.ada: + numleds = len(data)/3 + hi = (numleds-1)/256 + lo = (numleds-1)&255 + sum = hi^lo^0x55 + ser.write ("Ada"+ chr(hi) + chr(lo) + chr(sum)) - ser.write(data) # get a bunch of bytes and send them + ser.write(data) # get a bunch of bytes and send them except socket.error as msg: if args.develop: raise diff --git a/assets/webconfig/apple-touch-icon.png b/assets/webconfig/apple-touch-icon.png index 48342175311803dff0d5989e21b9c6f298e45ab5..f6e7d55f6efda274e3213a3b221bedad87a42ca3 100644 GIT binary patch literal 39175 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 literal 28314 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 - -
-
-
+ +
+
+
-
- -
+
+ +
diff --git a/assets/webconfig/content/conf_colors.html b/assets/webconfig/content/conf_colors.html index e3972070..0ec85948 100644 --- a/assets/webconfig/content/conf_colors.html +++ b/assets/webconfig/content/conf_colors.html @@ -2,11 +2,23 @@
- -
+ + +
+
+ +
+
+ +
- diff --git a/assets/webconfig/content/conf_effect.html b/assets/webconfig/content/conf_effect.html index 704172d8..282cdf1f 100644 --- a/assets/webconfig/content/conf_effect.html +++ b/assets/webconfig/content/conf_effect.html @@ -2,6 +2,19 @@
+ +
+
+ +
+
+
diff --git a/assets/webconfig/content/conf_general.html b/assets/webconfig/content/conf_general.html index 50a439c4..161a551c 100644 --- a/assets/webconfig/content/conf_general.html +++ b/assets/webconfig/content/conf_general.html @@ -6,7 +6,7 @@
-
+
diff --git a/assets/webconfig/content/conf_leds.html b/assets/webconfig/content/conf_leds.html index 60e2d16e..6236da28 100755 --- a/assets/webconfig/content/conf_leds.html +++ b/assets/webconfig/content/conf_leds.html @@ -4,7 +4,20 @@ Hyperion - LED Device Configuration
- + + +
+
+ +
+
+
diff --git a/assets/webconfig/content/conf_network.html b/assets/webconfig/content/conf_network.html index 6b370360..ab4b7c33 100644 --- a/assets/webconfig/content/conf_network.html +++ b/assets/webconfig/content/conf_network.html @@ -1,12 +1,12 @@
- +
-
+
@@ -34,4 +34,4 @@
- \ No newline at end of file + diff --git a/assets/webconfig/content/connection_lost.html b/assets/webconfig/content/connection_lost.html index 760f46d2..d1a1c697 100644 --- a/assets/webconfig/content/connection_lost.html +++ b/assets/webconfig/content/connection_lost.html @@ -1,6 +1,6 @@
- Redefine ambient light! + Redefine ambient light!

Lost connection to Hyperion service!


@@ -29,6 +29,15 @@ var count = 1; var reconnectInterval = 4000; var connURL = window.location.protocol+"//"+window.location.hostname+":"+window.jsonPort+window.location.pathname+window.location.hash; + +if($('body').css("background-color") == "rgb(33, 33, 33)") { + // Dark Mode (darkMode.css:3) + document.getElementById("hyperion").src = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfQAAAB4CAMAAAAzDfCvAAADAFBMVEVHcEz///////////////////+96M3////////////////////////5///+///////////////////////////////////////jD03n2AHfAYb///////8B+9H///////9Zvxia79P9///t9AL////Evv7/////////////Dw3/JRD/////Ay7d/fj08wEY7/wSE/r///+YBMtC0DQZEvtKyCYA+fFRuxH/DQSVBMwICPkF+ZoA+OwA8PyjE8wJIfzj++hWwBb/////////CQr/EBL///+XBMzy+wL0AI//BwjbvfV8A9f39gAA9vgA7/v///+++P8U63D+AGhlww7wAJkHGvwsDvMA9OMA+u9MwhdLwBsJ9In///////7/////EQX3+gK71P/ZAKenAcCMDNAB9bZQvxj/FQc00joE96CbA8v9AHD/BQ8C/aVOAej///+h4Ad+A9YA9s1XwRbyAJj/DQyiBMnmAKf///8l3lMa6GUC/aMA+ulzAtoAkvz/nAK46wT9AUzDArz/Axkg31bl+gQA+vT9ksAb5F8A7Pz////72wPz+4m+ALRQwgz/mYoA+PjMArgA/uEcqPz/laT/AixewhQBafv7lwc4zjTwAJ37+f/4AJBzANQ2zDX/AU5HCuwnAPT/VwT+lQX/qQP9lwf9IQDlAKnWAbPJArqyA8PzkdYA3vz/ATJMAej9XwjikeIB+7mH1hD/AGFpCuEE+5r6tQM1AOrJ8gsAovwAZfz884j+ABb+WwbD7wAAq/r9zwUKpPkA/cXG8gf/AHgp1EIKcPn///8Ac/mc4wD6ZAAKPvp10gCK1Qv/AGfU9wf/VATR8Y/+0gPh943i4v8Kz/v/AEEAPvqo5AlWAN+n5Q+A0A226wub3gzC65D6AI/9sIu45pDXlen/AGX////8w4v74IrZ2P+Oi/727fv80ovj4/9U8fz+UE3C7LOc23HS/P62t//bs/L16/zKfedva/7b3f/67v3////6/v3u7v717f3t+//s9f71/fMldEOMAAAA/nRSTlMADGJD7woBXkuP81JxBSgs6OK0/PglFBsEBgnNPRWfdAQgZU4hRzVrqi4WRx7+IQpigxwT3zMwDA4RwDvIIDU1/VzGl5hX21WI6kVMJ92V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"; +} else { + // Light Mode + document.getElementById("hyperion").src = "data:image/png;base64,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"; +} + function tryReconnect() { if(count > 100) diff --git a/assets/webconfig/content/dashboard.html b/assets/webconfig/content/dashboard.html index a83d72ec..a83ef2e9 100644 --- a/assets/webconfig/content/dashboard.html +++ b/assets/webconfig/content/dashboard.html @@ -1,98 +1,92 @@ -
-
-
- -
-
-
-
-
- - Information -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
unknown
Platform:
LED type:
Instance
Ports
Hyperion version:unknown
Watched version branch:unknown
Latest version:unknown
-
-

Smart Access

- -


- -
-
-
-
-
-
- - Components status -
-
- - - - - - - - - -
ComponentStatus
-
-
-
- -
-
- -
- -
- +
+
+
+ - + +
+ + +
+ + +
+
+
+ Status +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + Ports +
protounknown
flatunknown
jsonunknown
websocketunknown
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + Version +
Hyperion version:unknown
Watched version branch:unknown
Latest version:unknown
+
+ +
+
+
+ +
+
+ +
+ +
+ + + diff --git a/assets/webconfig/content/effects_configurator.html b/assets/webconfig/content/effects_configurator.html index a6b7b344..2d7015f5 100644 --- a/assets/webconfig/content/effects_configurator.html +++ b/assets/webconfig/content/effects_configurator.html @@ -1,7 +1,20 @@
- + + +
+
+ +
+
+
@@ -20,7 +33,7 @@ - +