* LedDevice - Address clang findings
* Fix Windows Warnings
* Ensure newInput is initialised
* Clean-up unused elements for Plaform Capture
* Fix initialization problem and spellings
* Address clang findings and spelling corrections
* LedDevice clean-ups
* Cleanups
* Align that getLedCount is int
* Have "display" as default for Grabbers
* Fix config during start-up for missing elements
* Framegrabber Clean-up - Remove non supported grabbers from selection, filter valid options
* Typo
* Framegrabber.json - Fix property numbering
* Preselect active Grabbertype
* Sort Grabbernames
* Align options with selected element
* Fix deletion of pointer to incomplete type 'BonjourBrowserWrapper'
* Address macOS compile warnings
* Have default layout = 1 LED only to avoid errors as in #673
* Address lgtm findings
* Address finding that params passed to LedDevice discovery were not considered
* Cleanups after merging with latest master
* Update Changelog
* Address lgtm findings
* Fix comment
* Test Fix
* Fix Python Warning
* Handle Dummy Device assignment correctly
* Address delete called on non-final 'commandline::Option' that has virtual functions but non-virtual destructor
* Correct that QTimer.start accepts only int
* Have Release Python GIL & reset threat state chnage downward compatible
* Correct format specifier
* LedDevice - add assertions
* Readonly DB - Fix merge issue
* Smoothing - Fix wrong defaults
* LedDevice - correct assertion
* Show smoothing config set# in debug and related values.
* Suppress error on windows, if default file is "/dev/null"
* CMAKE - Allow to define QT_BASE_DIR dynamically via environment-variable
* Ignore Visual Studio specific files
Co-authored-by: Paulchen Panther <16664240+Paulchen-Panther@users.noreply.github.com>
* Feature: Weighted Moving Average Smoothing with Decay
* fix assign
* try fix MSVC error related to always inline on static
* use proper imports for windows
* crossplatform inline declaration
* Allow --version, even if hyperion is already running
* Add CPU-Model to SysInfo
* Add additional CPUInfos
* Use fileUtils & RegEx on CPU-Info
* Add CPU - Hardware info
* Update changelog
* Suppress empty CPU info elements
* Save BLACK as lastLedColor during writeBlack
* Remove debug statement overhead
* Re-Add typecasting to ensure readable output
* Revert "New language support: Russian and Chinese (simplified)"
This reverts commit 5c95fab894.
* Ignore TemporaryError
* Return tan to API requests whenever possible
* Set default tan to value 0
Co-authored-by: Paulchen Panther <16664240+Paulchen-Panther@users.noreply.github.com>
* Switch Off devices, when no input source
* Realign Enable/SwitchOn, Disable/SwitchOff
* Align to updated LedDevice-Flow
* Remove debug statements slipped in
* Send last color update after enabling again
* Fix WLED getProperties API call
* Remove unused signals
* LedDevice process flow documentation
* LedDevice process flow documentation
Co-authored-by: Paulchen Panther <16664240+Paulchen-Panther@users.noreply.github.com>
* Add CEC functionality
* Initial commit
* removed libCEC from the system skip list
Co-authored-by: Paulchen Panther <16664240+Paulchen-Panther@users.noreply.github.com>
* Refactor LedDevices - Initial version
* Small renamings
* Add WLED as own device
* Lpd8806 Remove open() method
* remove dependency on Qt 5.10
* Lpd8806 Remove open() method
* Update WS281x
* Update WS2812SPI
* Add writeBlack for WLED powerOff
* WLED remove extra bracket
* Allow different Nanoleaf panel numbering sequence (Feature req.#827)
* build(deps): bump websocket-extensions from 0.1.3 to 0.1.4 in /docs (#826)
* Bumps [websocket-extensions](https://github.com/faye/websocket-extensions-node) from 0.1.3 to 0.1.4.
- [Release notes](https://github.com/faye/websocket-extensions-node/releases)
- [Changelog](https://github.com/faye/websocket-extensions-node/blob/master/CHANGELOG.md)
- [Commits](https://github.com/faye/websocket-extensions-node/compare/0.1.3...0.1.4)
* Fix typos
* Nanoleaf clean-up
* Yeelight support, generalize wizard elements
* Update Yeelight to handle quota in music mode
* Yeelight extend rage for extraTimeDarkness for testing
* Clean-up - Add commentary, Remove development debug statements
* Fix brightnessSwitchOffOnMinimum typo and default value
* Yeelight support restoreOriginalState, additional Fixes
* WLED - Remove UDP-Port, as it is not configurable
* Fix merging issue
* Remove QHostAddress::operator=(const QString&)' is deprecated
* Windows compile errors and (Qt 5.15 deprecation) warnings
* Fix order includes
* LedDeviceFile Support Qt5.7 and greater
* Windows compatibility and other Fixes
* Fix Qt Version compatability
* Rs232 - Resolve portname from unix /dev/ style, fix DMX sub-type support
* Disable WLED Wizard Button (until Wizard is available)
* Yeelight updates
* Add wrong log-type as per #505
* Fixes and Clean-up after clang-tidy report
* Fix udpe131 not enabled for generated CID
* Change timer into dynamic for Qt Thread-Affinity
* Hue clean-up and diyHue workaround
* Updates after review feedback by m-seker
* Add "chrono" includes
-> All instances are now sorted in ascending order using the instance ID
-> The web interface gets an incorrect instance order, which causes further problems
* use QSerialPortInfo do detect presence of a serial port (fix#836)
* checking for existence of device file does not work on windows
* instead: construct QSerialPortInfo from device name and check, if it is not null
When constructing QSerialPortInfo from device name, this constructor finds the
relevant serial port among the available ones according to the port name name,
and constructs the serial port info instance for that port.
(https://doc.qt.io/qt-5/qserialportinfo.html#QSerialPortInfo-2)
* serial port: set device in error with a failure text, if device name is invalid
Co-authored-by: heiko <heiko@bihr.internal>
The pythonPath pointer was not properly enlarged when expanded.
Reduced to the return of Py_DecodeLocale.
This sets the correct size of the pointer at the beginning.
* Fix Rewrite/Latch Time
* dependencies can now be specified in the schema
Signed-off-by: Paulchen-Panther <Paulchen-Panter@protonmail.com>
* dependencies can now be specified in the schema
Signed-off-by: Paulchen-Panther <Paulchen-Panter@protonmail.com>
* correct default config
Signed-off-by: Paulchen-Panther <Paulchen-Panter@protonmail.com>
* dependencies part 2
Signed-off-by: Paulchen-Panther <Paulchen-Panter@protonmail.com>
* Update README.md
* build: Update Windows to Qt5.15 (#798)
* Update compile howto
- to qt5.15
- minimal install overhead
- sync with vscode and cmake
* Update docs with more input
gh actions windows: Qt5.15 and msvc2019
* fix: Azure build
* feat: Add Trapezoid to LED Layout (#791)
* Update schema-ledConfig.json
extend schema with corner points (vertcal and horizontal values in percent)
* Update conf_leds.html
input fields for corner points
* Update content_leds.js
add corner values and calculation of led rows
* Update de.json
german title for corners
* CHanges 26.12.2019 Correction and PowerOff add
* GrabberFix PiCam
* VType as QString
* Unused variable deletet
* Missing new paramneters for GrabberFix
* Error json
* JSon error by user
* Crosscompile SutnikElf frok
* Warning unused variable
* Revert "Crosscompile SutnikElf frok"
This reverts commit 443fe80090.
* Fixing a linting error
* Adding Grabber Override Names
* Adding more Grabber Fix translations
* Missed one
* remove V4L2 Grabber Fix and Power Button from Dashboard
Signed-off-by: Paulchen-Panther <Paulchen-Panter@protonmail.com>
* Setting some limits to the trapezoid
Co-authored-by: SputnikElf <58911932+SputnikElf@users.noreply.github.com>
Co-authored-by: SputnikElf <sputnikelf@gmx.de>
Co-authored-by: Paulchen-Panther <Paulchen-Panter@protonmail.com>
* add Hue EntertainmentAPI + Forwarder & other Fixes (#592)
* whitespaces + typo fixes
* JS / LGTM fixes
* SSDP Handler crash fix
* MessageForwarder handlePriorityChanges Slave fixes
* use aboutToQuit Signal
* complete rewriten Hue Entertainment API structure
combined Philips Hue and Entertainment API
with new MbedTLS based SSL UDP Provider
* add required cross-compile submodules
* logical rebuild fn: initLeds, setLights + new logs
-more detailed checks and error handling inside iniLeds and setLights
- logical script procedure before ProviderUdpSSL init
- first steps for multiple ProviderUdpSSL usage
- better fallback support to old RestAPI, if entertainment api is not supported
- just 4 u LordGrey: new log fn for cosmetic config outputs ;)
* add OSX CompileHowTo - undo from CrossCompileHowTo
* whitespace fixes
* lightID toString fix
* fix unsigned int E-API + debug output
* bugfixes, reworked black signal detection, wizard:
- change device config field light-ids from int to string -> real unsigned int fix
- add signal detection brightness minimum threshold value
0.0 for 0% brightness - 1.0 for 100% brightness to count for blacklight signal detection
reason: input may not 100% black, like mine - i have a deep dark gray input signal
-> my threshold value is set to 0.005 for 0.5% minimum brightness = 1 (from max 255) to count as black
- wizard optimations, with fallback without entertainment support (beta state)
- whitespace fixes
* cleanup + minor fixes
* change fixed Hue UPD SSL config to _devConfig paras
* Hotfix SSL Connection, new light models, wizard:
- Fix UPD SSL Connection failed Problems
- add new supported gamut C light models: LCG002, LCA001, LCA002, LCA003
- wizard: extend fallback support to classic mode + hints
* whitespace, typo fix
* uncheck useEntertainmentAPI, if noAPISupport detected + hint
* coredump fix -> add _blackLightsTimer nullptr init
* code cleanup / remove old debugs + whitespacefixes
* add gamut C LCP001, LCP002
* SSL UDP config made more flexible + remove qDebug
-> switch to hyerion.ng _log
-> replace logCommand with verbose
-> code cleanups etc...
* extended mbedtls debugging infos
* add adjustable ssl timeout settings
* error handling
* streamdebugger bugfixes
* UPDSSL psk / psk_identity bugfixes! + hue wizard fn typo fix +
- verbose option available without dependencies
- whitespace fixes
* Philips Hue Assistant now recognizes non-original bridges better...
+ Added note if no clientkey is set when using the entertainment API
+ User creation (+ clientkey) for non-original bridges can now also be used
+ Minor changes and bug fixes
* CMAKE mbedTLS detection
* minor bug fixes + code cleanups
* FindMbedTLS.cmake remove Path-Hints + wizard.js: ajax timeout handling
Test - content_grabber.js: run relevant code only, if V4L2_AVAIL is true:
conf_grabber don't displays other devices, if V4L2 is not available
* compile mbedtls via cmake as static lib
* remove libmbedtls-dev from compileHowto / scripts
* Fix Windows build
* Fix windows build (part 2)
* removed unnecessary osx x11 include directory path
* QTimer Shutdown bugfix
* cmake win32 fix + minor bugfixes
* cmake debug msg used mbedtls libs
* Bugfix: noSignalDetection wasn't switchedOn again
if no signal was previously detected
* Some code fixes based on alerts from lgtm.com
Co-authored-by: Paulchen Panther <16664240+Paulchen-Panther@users.noreply.github.com>
* Update devices allowing rewriteTime
* Fix typo
* Add missing "general_btn_saverestart" text to en-file
Co-authored-by: Paulchen-Panther <Paulchen-Panter@protonmail.com>
Co-authored-by: Paulchen Panther <16664240+Paulchen-Panther@users.noreply.github.com>
Co-authored-by: brindosch <edeltraud70@gmx.de>
Co-authored-by: Ben Williams <desertblade@gmail.com>
Co-authored-by: SputnikElf <58911932+SputnikElf@users.noreply.github.com>
Co-authored-by: SputnikElf <sputnikelf@gmx.de>
Co-authored-by: SJunkies <41368976+SJunkies@users.noreply.github.com>
* small collection of bugfixed debugger hints / warnings
* 'toStdVector' has been explicitly marked deprecated
* fixed double zip naming in artifacts
* V4L2 WebUI Fix
* Some code fixes based on alerts from lgtm.com
* only execute dynamic v4l2 enum code, if V4L2_AVAIL
* very high critical bugfix ;)
* merge fix
* some lgtm.com fixes
* lgtm fixes
* undo localtime_r fix
Co-authored-by: Paulchen Panther <16664240+Paulchen-Panther@users.noreply.github.com>
* whitespaces + typo fixes
* JS / LGTM fixes
* SSDP Handler crash fix
* MessageForwarder handlePriorityChanges Slave fixes
* use aboutToQuit Signal
* complete rewriten Hue Entertainment API structure
combined Philips Hue and Entertainment API
with new MbedTLS based SSL UDP Provider
* add required cross-compile submodules
* logical rebuild fn: initLeds, setLights + new logs
-more detailed checks and error handling inside iniLeds and setLights
- logical script procedure before ProviderUdpSSL init
- first steps for multiple ProviderUdpSSL usage
- better fallback support to old RestAPI, if entertainment api is not supported
- just 4 u LordGrey: new log fn for cosmetic config outputs ;)
* add OSX CompileHowTo - undo from CrossCompileHowTo
* whitespace fixes
* lightID toString fix
* fix unsigned int E-API + debug output
* bugfixes, reworked black signal detection, wizard:
- change device config field light-ids from int to string -> real unsigned int fix
- add signal detection brightness minimum threshold value
0.0 for 0% brightness - 1.0 for 100% brightness to count for blacklight signal detection
reason: input may not 100% black, like mine - i have a deep dark gray input signal
-> my threshold value is set to 0.005 for 0.5% minimum brightness = 1 (from max 255) to count as black
- wizard optimations, with fallback without entertainment support (beta state)
- whitespace fixes
* cleanup + minor fixes
* change fixed Hue UPD SSL config to _devConfig paras
* Hotfix SSL Connection, new light models, wizard:
- Fix UPD SSL Connection failed Problems
- add new supported gamut C light models: LCG002, LCA001, LCA002, LCA003
- wizard: extend fallback support to classic mode + hints
* whitespace, typo fix
* uncheck useEntertainmentAPI, if noAPISupport detected + hint
* coredump fix -> add _blackLightsTimer nullptr init
* code cleanup / remove old debugs + whitespacefixes
* add gamut C LCP001, LCP002
* SSL UDP config made more flexible + remove qDebug
-> switch to hyerion.ng _log
-> replace logCommand with verbose
-> code cleanups etc...
* extended mbedtls debugging infos
* add adjustable ssl timeout settings
* error handling
* streamdebugger bugfixes
* UPDSSL psk / psk_identity bugfixes! + hue wizard fn typo fix +
- verbose option available without dependencies
- whitespace fixes
* Philips Hue Assistant now recognizes non-original bridges better...
+ Added note if no clientkey is set when using the entertainment API
+ User creation (+ clientkey) for non-original bridges can now also be used
+ Minor changes and bug fixes
* CMAKE mbedTLS detection
* minor bug fixes + code cleanups
* FindMbedTLS.cmake remove Path-Hints + wizard.js: ajax timeout handling
Test - content_grabber.js: run relevant code only, if V4L2_AVAIL is true:
conf_grabber don't displays other devices, if V4L2 is not available
* compile mbedtls via cmake as static lib
* remove libmbedtls-dev from compileHowto / scripts
* Fix Windows build
* Fix windows build (part 2)
* removed unnecessary osx x11 include directory path
* QTimer Shutdown bugfix
* cmake win32 fix + minor bugfixes
* cmake debug msg used mbedtls libs
* Bugfix: noSignalDetection wasn't switchedOn again
if no signal was previously detected
* Some code fixes based on alerts from lgtm.com
Co-authored-by: Paulchen Panther <16664240+Paulchen-Panther@users.noreply.github.com>
* fix v4l2 standard
* ignore v4l2 meta devices
* added resolution, framerate and device dropdown list to WebUI (thx to @Lord-Grey & @b1rdhous3)
* Fix for kernels prior to v4.16
* Device names added & WebUI adapted
* Align PhilipsHue (Classic)
* Minor Device corrections
* Have code working with Qt < 5.10
* Fixes on Hue Wizzard
* Fixes on Hue Wizzard
* Calculate Latchtime only for lights updated by hyperion
* Allow to disable restoring original light's state
* Fix - LightIDs / LightMap vectors were not cleared when reopening the device
* Reduce API Calls for state updates by consolidation
* fix: Resolve the enable state for v4l and screen capture
* Use instance index instead of pointer
* Second try
* fix(QtGrabber): QScreen ownership
* Remove v4l2 compState listener
* add SSDP name field
* YALL - yet another led layout
* led layout migration
* add initial vscode config
* merge clearAll with clear, rename Hyperion::compStateChange
* simpler components api
* Corrected code formatting
+ triggered PR build
* fix: regression from #636
* Support for color patterns
Co-authored-by: Paulchen Panther <16664240+Paulchen-Panther@users.noreply.github.com>
* Packages are now created with dependencies
Signed-off-by: Paulchen-Panther <paulchen-panter@protonmail.com>
* Ignore site packages
Signed-off-by: Paulchen-Panther <paulchen-panter@protonmail.com>
* MacOS Package creation disabled
* Append the OpenSSL library to the dependency list
* - Exit codes and Error message are suppressed when copying files
- OpenSSL root directory is set under MacOS
- OpenSSL symlinks are attached
- Packages and build directory renamed into Hyperion
Signed-off-by: Paulchen-Panther <paulchen-panter@protonmail.com>
* Update to semver version
* Use version file for version management
* Read version file in azure
Co-authored-by: brindosch <edeltraud70@gmx.de>
* Handle Exceptions in main & Pythoninit
* Have SSDPDiscover generic again
* Have SSDPDiscover generic again
* Change Info- to Debug logs as technical service messages
* Nanoleaf - When switched on, ensure UDP mode
* Include SQL Database in Cross-Compile instructions
* Fix Clazy (QT code checker) and clang Warnings
* Stop LedDevice:write for disabled device
* Nanoleaf: Fix uint printfs
* NanoLeaf: Fix indents to tabs
* NanoLeaf - Add debug verbosity switches
* Device switchability support, FileDevice with timestamp support
* Nanoleaf Light Panels now support External Control V2
* Enhance LedDeviceFile by Timestamp + fix readyness
* Stop color stream, if LedDevice disabled
* Nanoleaf - remove switchability
* Fix MultiColorAdjustment, if led-range is greater lednum
* Fix logging
* LedFileDevice/LedDevice - add testing support
* New "Led Test" effect
* LedDeviceFile - Add chrono include + Allow Led rewrites for testing
* Stabilize Effects for LedDevices where latchtime = 0
* Update LedDeviceFile, allow latchtime = 0
* Distangle LinearColorSmoothing and LEDDevice, Fix Effect configuration updates
* Updates LedDeviceFile - Initialize via Open
* Updates LedDeviceNanoleaf - Initialize via Open, Remove throwing exceptions
* Updates ProviderUDP - Remove throwing exceptions
* Framebuffer - Use precise timer
* TestSpi - Align to LedDevice updates
* Pretty Print CrossCompileHowTo as markdown-file
* Ensure that output is only written when LedDevice is ready
* Align APA102 Device to new device staging
* Logger - Remove clang warnings on extra semicolon
* Devices SPI - Align to Device stages and methods
* Fix cppcheck and clang findings
* Add Code-Template for new Devices
* Align devices to stages and methods, clean-up some code
* Allow to reopen LedDevice without restart
* Revert change "Remove Connect (PriorityMuxer::visiblePriorityChanged -> Hyperion::update) due to double writes"
* Remove visiblePriorityChanged from LedDevice to decouple LedDevice from hyperion logic
* Expose LedDevice getLedCount and align signedness
* Handle Exceptions in main & Pythoninit
* Have SSDPDiscover generic again
* Have SSDPDiscover generic again
* Change Info- to Debug logs as technical service messages
* Nanoleaf - When switched on, ensure UDP mode
* Include SQL Database in Cross-Compile instructions
* Fix Clazy (QT code checker) and clang Warnings
* Stop LedDevice:write for disabled device
* Nanoleaf: Fix uint printfs
* NanoLeaf: Fix indents to tabs
* NanoLeaf - Add debug verbosity switches
* Device switchability support, FileDevice with timestamp support
* Nanoleaf Light Panels now support External Control V2
* Enhance LedDeviceFile by Timestamp + fix readyness
* Stop color stream, if LedDevice disabled
* Nanoleaf - remove switchability
* Push progress
TODO: rework RESET, probably to main.cpp again
* resetPassword rework
* enable administration restriction
* add short cmd for userdata
* Js apis
* Refactor JsonCB class
* Add userToken Auth
* Feat: Close connection if ext clients when def pw is set
* Feat: Protect db against pw/token tests
* WebUi PW Support (#9)
* Initial WebUi Password Support
* Small changes
* Initial WebUi Password Support
* Small changes
* Basic WebUi Token support
* added "removeStorage", added uiLock, updated login page
* Small improvments
* Small change
* Fix: prevent downgrade of authorization
* Add translation for localAdminAuth
* Feat: Show always save button in led layout
* Revert "Feat: Show always save button in led layout"
This reverts commit caad1dfcde.
* Feat: Password change link in notification
* Fix: body padding modal overlap
* Feat: Add instance index to response on switch
* prevent schema error
Signed-off-by: Paulchen-Panther <Paulchen-Panter@protonmail.com>
* Feat: add pw save
* Feat: callout settings/pw replaced with notification
* Handle Exceptions in main & Pythoninit
* Have SSDPDiscover generic again
* Have SSDPDiscover generic again
* Change Info- to Debug logs as technical service messages
* Nanoleaf - When switched on, ensure UDP mode
* Include SQL Database in Cross-Compile instructions
* Fix Clazy (QT code checker) and clang Warnings
* Remove clone & index in ledConfig
* Additional index correction
* Rename ledsConfig maximum and minimum in max and min
* Rename ledsConfig hscan and vscan with h and v
* Optimize ledColorsStream
* tiny correction
* Added new restricted ip api checkbox, initial instance localStorage support
* Added instance notification, added correct instance switch after page refresh (to last current instance)
* Optimize intention in wizard.js
* ":" from i18n json to code
* Changes for Responsive about site
* Feat: Add image sender to webui
This PR adds a new image sending feature to the webui and extends the api accordingly. In javascript the processing of images is horrible slow (without WASM), so the solution is at the API side with out-of-the-box power of Qt.
- The image cmd accepts now a raw image that is encoded with base64. Supported are all image formats that qt supports (enough)
- There is no real size limit. It will be automatically scaled down to max 2000px width or height according to aspect ratio
- It's possible to scale down through a new "scale" property if developer wants that.
- Test were successfull until 3MP pictues, 4k+ closes the websocket on browser side, so 2k is a decent value
- Adds a new image streaming feature from browser (tabs/applications/complete desktop as target). This works just if used with HTTPS PR#612 AND with a recent version of Firefox/Chrome
* Feat: Add SSL support for webserver + websocket
Finally, Hyperion reaches the SSL century!
- Uses by default a internal key and certificate to provide working HTTPS out-of-the-box
- Your browser won't like that, for a green ssl seal next to the browser address bar you need to use Let's Encrypt with a own legit domain. This is out of the scope of Hyperion
* Fix: SSDP Server spec adjust
- Fix: Windows 7 network overview no longer removes the Hyperion entry
- Fix: The general section should be marked as global
* Moved Token Management to Network Settings
* Fixed alignment of Token Settings Div if Help Tables are switched off
* Added Chars counter, new format of the div panel (footer), change i18n
* Added Explanation for Token Management
* Moved Token Management to Network Settings
* Fixed alignment of Token Settings Div if Help Tables are switched off
* Added Chars counter, new format of the div panel (footer), change i18n
* Added Explanation for Token Management
* i18n Fix
* Revert "i18n Fix"
This reverts commit 0186290689d8b140310d5376617a3d43429bb632.
* i18n Fix