2019-06-05 18:19:08 +02:00
var storedAccess ;
2017-01-17 21:53:35 +01:00
var storedLang ;
2020-02-19 20:20:03 +01:00
var availLang = [ 'en' , 'de' , 'es' , 'it' , 'cs' , 'sv' , 'nl' , 'pl' , 'ro' ] ;
2020-05-29 11:28:35 +02:00
var availLangText = [ 'English' , 'Deutsch' , 'Español' , 'Italiano' , 'Čeština' , 'Svenska' , 'Nederlands' , 'Polski' , 'Română' ] ;
2017-01-17 21:53:35 +01:00
var availAccess = [ 'default' , 'advanced' , 'expert' ] ;
//$.i18n.debug = true;
2019-09-17 21:33:46 +02:00
//Change Password
function changePassword ( ) {
showInfoDialog ( 'changePassword' , $ . i18n ( 'InfoDialog_changePassword_title' ) ) ;
// fill default pw if default is set
if ( window . defaultPasswordIsSet )
$ ( '#oldPw' ) . val ( 'hyperion' )
$ ( '#id_btn_ok' ) . off ( ) . on ( 'click' , function ( ) {
var oldPw = $ ( '#oldPw' ) . val ( ) ;
var newPw = $ ( '#newPw' ) . val ( ) ;
requestChangePassword ( oldPw , newPw )
} ) ;
$ ( '#newPw, #oldPw' ) . off ( ) . on ( 'input' , function ( e ) {
( $ ( '#oldPw' ) . val ( ) . length >= 8 && $ ( '#newPw' ) . val ( ) . length >= 8 ) ? $ ( '#id_btn_ok' ) . attr ( 'disabled' , false ) : $ ( '#id_btn_ok' ) . attr ( 'disabled' , true ) ;
} ) ;
}
2017-01-17 21:53:35 +01:00
$ ( document ) . ready ( function ( ) {
//i18n
function initTrans ( lc ) {
if ( lc == 'auto' )
{
$ . i18n ( ) . load ( ) . done (
function ( ) {
performTranslation ( ) ;
} ) ;
}
else
{
$ . i18n ( ) . locale = lc ;
$ . i18n ( ) . load ( "i18n" , lc ) . done (
function ( ) {
performTranslation ( ) ;
2019-06-20 19:27:22 +02:00
} ) ;
2017-01-17 21:53:35 +01:00
}
}
2019-06-20 19:27:22 +02:00
2017-01-17 21:53:35 +01:00
if ( storageComp ( ) )
{
storedLang = getStorage ( "langcode" ) ;
if ( storedLang == null )
{
2019-06-05 18:19:08 +02:00
setStorage ( "langcode" , 'auto' ) ;
2017-01-17 21:53:35 +01:00
storedLang = 'auto' ;
initTrans ( storedLang ) ;
}
else
{
initTrans ( storedLang ) ;
}
}
else
{
showInfoDialog ( 'warning' , "Can't store settings" , "Your browser doesn't support localStorage. You can't save a specific language setting (fallback to 'auto detection') and access level (fallback to 'default'). Some wizards may be hidden. You could still use the webinterface without further issues" ) ;
initTrans ( 'auto' ) ;
storedLang = 'auto' ;
storedAccess = "default" ;
2017-02-08 14:36:28 +01:00
$ ( '#btn_setlang' ) . attr ( "disabled" , true ) ;
$ ( '#btn_setaccess' ) . attr ( "disabled" , true ) ;
2017-01-17 21:53:35 +01:00
}
2019-06-20 19:27:22 +02:00
2020-05-29 11:28:35 +02:00
initLanguageSelection ( ) ;
2017-01-17 21:53:35 +01:00
//access
2017-02-08 14:36:28 +01:00
storedAccess = getStorage ( "accesslevel" ) ;
if ( storedAccess == null )
2017-01-17 21:53:35 +01:00
{
2017-02-08 14:36:28 +01:00
setStorage ( "accesslevel" , "default" ) ;
storedAccess = "default" ;
2017-01-17 21:53:35 +01:00
}
$ ( '#btn_setaccess' ) . off ( ) . on ( 'click' , function ( ) {
var newAccess ;
showInfoDialog ( 'select' , $ . i18n ( 'InfoDialog_access_title' ) , $ . i18n ( 'InfoDialog_access_text' ) ) ;
2019-06-20 19:27:22 +02:00
2017-01-17 21:53:35 +01:00
for ( var lcx = 0 ; lcx < availAccess . length ; lcx ++ )
{
$ ( '#id_select' ) . append ( createSelOpt ( availAccess [ lcx ] , $ . i18n ( 'general_access_' + availAccess [ lcx ] ) ) ) ;
}
2019-06-20 19:27:22 +02:00
2017-01-17 21:53:35 +01:00
$ ( '#id_select' ) . val ( storedAccess ) ;
2019-06-20 19:27:22 +02:00
2017-01-17 21:53:35 +01:00
$ ( '#id_select' ) . off ( ) . on ( 'change' , function ( ) {
newAccess = $ ( '#id_select' ) . val ( ) ;
if ( newAccess == storedAccess )
$ ( '#id_btn_saveset' ) . attr ( 'disabled' , true ) ;
else
$ ( '#id_btn_saveset' ) . attr ( 'disabled' , false ) ;
} ) ;
2019-06-20 19:27:22 +02:00
2017-01-17 21:53:35 +01:00
$ ( '#id_btn_saveset' ) . off ( ) . on ( 'click' , function ( ) {
setStorage ( "accesslevel" , newAccess ) ;
reload ( ) ;
} ) ;
2019-06-20 19:27:22 +02:00
2017-01-17 21:53:35 +01:00
$ ( '#id_select' ) . trigger ( 'change' ) ;
2019-09-17 21:33:46 +02:00
} ) ;
// change pw btn
$ ( '#btn_changePassword' ) . off ( ) . on ( 'click' , function ( ) {
changePassword ( ) ;
} ) ;
//Lock Ui
$ ( '#btn_lock_ui' ) . off ( ) . on ( 'click' , function ( ) {
removeStorage ( 'loginToken' , true ) ;
location . replace ( '/' ) ;
2017-01-17 21:53:35 +01:00
} ) ;
2019-06-20 19:27:22 +02:00
2017-01-17 21:53:35 +01:00
//hide menu elements
if ( storedAccess != 'expert' )
$ ( '#load_webconfig' ) . toggle ( false ) ;
2019-06-20 19:27:22 +02:00
2017-03-24 10:17:36 +01:00
// instance switcher
$ ( '#btn_instanceswitch' ) . off ( ) . on ( 'click' , function ( ) {
2019-06-05 18:19:08 +02:00
var lsys = window . sysInfo . system . hostName + ':' + window . serverConfig . webConfig . port ;
2017-03-24 10:17:36 +01:00
showInfoDialog ( 'iswitch' , $ . i18n ( 'InfoDialog_iswitch_title' ) , $ . i18n ( 'InfoDialog_iswitch_text' ) ) ;
2019-06-20 19:27:22 +02:00
2019-06-05 18:19:08 +02:00
for ( var i = 0 ; i < window . wSess . length ; i ++ )
2017-03-24 10:17:36 +01:00
{
2019-06-05 18:19:08 +02:00
if ( lsys != window . wSess [ i ] . host + ':' + window . wSess [ i ] . port )
2019-07-12 16:54:26 +02:00
{
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>
2020-05-22 19:40:50 +02:00
var hyperionAddress = window . wSess [ i ] . address ;
if ( hyperionAddress . indexOf ( ':' ) > - 1 && hyperionAddress . length == 36 ) hyperionAddress = '[' + hyperionAddress + ']' ;
hyperionAddress = 'http://' + hyperionAddress + ':' + window . wSess [ i ] . port ;
$ ( '#id_select' ) . append ( createSelOpt ( hyperionAddress , window . wSess [ i ] . name ) ) ;
2019-07-12 16:54:26 +02:00
}
2017-03-24 10:17:36 +01:00
}
2019-06-20 19:27:22 +02:00
$ ( '#id_btn_saveset' ) . off ( ) . on ( 'click' , function ( ) {
2017-03-24 10:17:36 +01:00
$ ( "#loading_overlay" ) . addClass ( "overlay" ) ;
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>
2020-05-22 19:40:50 +02:00
window . location . href = $ ( '#id_select' ) . val ( ) ;
2017-03-24 10:17:36 +01:00
} ) ;
2019-06-20 19:27:22 +02:00
2017-03-24 10:17:36 +01:00
} ) ;
2019-06-20 19:27:22 +02:00
} ) ;