Protocol Buffer reimplemented to receive image data from third-party apps
The status of the component "UDPListener" is now displayed correctly in WebUI
Global signal names for WebUI added
fix ge2d mode
added ge2d single/combined ioctl call
speed up imageresampler
speed up amvideocap0 mode
added config to choose if amvideocap0 or ge2d grabber should be used
- More i18n
- Easy use of mutual exclusion in JsonAPI with QMutexLocker
- Smoothing type "linear" hidden in the WebUI, because there is currently only one
- Message forwarding implemented again
- For compatibility to home assistants and other remote controls, "activeEffects" and "activeLedColor" has been added to the JSON-RPC
- FlatBuffer clear now the Priority on disconnect
- The information "available V4L2 devices" is now only displayed if the device list is not empty
- LED device "PiBlaster" excluded from OSX build
* save it
* ws: multiframe receive now works
* port cfg write with autocorrect to jsonprocessor
cleanup
* cleanup
* cleanup
* add support for image data over ws binary frame
* - grabber auto off when not set as active prio
- join aml and fb - on aml platform both grabbers are needed, so they joind in one module and share one prio. user don't the the nasty magic behind
- aml: preparation for direct ge2d access
* just save it, in the middle of ge2d impl
* fix compile issues
* now grabbing works basicly
* add 3d support for ge2d
* next step, we got some video from aml
* switch back to rgba
* cleanup
* code cleanup, remove unused stuff
* - grabber auto off when not set as active prio
- join aml and fb - on aml platform both grabbers are needed, so they joind in one module and share one prio. user don't the the nasty magic behind
- aml: preparation for direct ge2d access
* just save it, in the middle of ge2d impl
* fix compile issues
* now grabbing works basicly
* add 3d support for ge2d
* next step, we got some video from aml
* switch back to rgba
* remove unfinished ge2d stuff
* commit missing changes
* some urgent fixes, needs some beautifying, but it works now
* fixes and refctoring
* move setvideomode to common place
* implement more croping and 3d support
* more api unification
* more refactoring
* osx fix
* next step
* add a mock for osx grabber. Now it is possible to test compile on none osx platforms.
* more unifications ...
* remove obsolete includes and grabbers are not dyn allocated. dispmanx needs rework an probaly not work atm
* first version of dispmanx mock. it compiles, but outputs a black image
* now dispmanx mock works!
* activate mocks in travis linux build
prepare dispmanx to rgb image out
* dispmanx now with image rgb output
fix deadlock with w/h -1 in grabber v4l
cleanups
* fix json
* fix some runtime stuff
* Update FramebufferWrapper.cpp
fix missing code
* unify grabframe
* 3d and croping for amlogic
* fix setimage not working
* make use of templates
save some codelines
* save more code lines
* implement set videomode via json api
* refactor grabbers:
- new base class
- move shared code to base class
* fix osx
* rework all cmakelist files with auto file collection. except leddevices (need further restructuring)
* store current video and grabbing mode
* add json stuff
* remove grabbingmode - we do not want to expose it
* add dynamic smoothing first step
* extend prio muxer to hold smoothing preset id
* add icons for systray
* fix missing changes in prio muxer
* implement specific smoothing params for effects
* refactoring: std::min/max to qMin/Max
* some code optimization
* fix schema and translation
* revoke change of python include order
* fix eol in effect shemas
* optimize random,candle and fadecandy json schemas
* add deployment
* add correct api key
* fix cmake lists and add heroku app name
* Update .gitmodules
sync modules with upstream
* add possibility to start hyperiond as systray app
* cleanup
* - new command line options: --desktop --service to set desired mode (systray icon / console only)
- auto detect x server - if avail run in gui mode
- on osx always run in gui mode
- use existing icon from webconfig, instead of own icon
- add ability to no gice a config file name. If config not given, default config file will be set (home dir, or hyperiond dir, depending on writable state)
* fix warnings and compile error
* use own icon for systray purpose
* use new logo
* - set application properties
- fix force service mode
* revoke schema split
* add "getAutoCorrectedConfig" function
* revoke schema split
* revoke schema split
* revoke schema split
* Prevent compiler error if none grabber is available
* revoke schema split
* add "getAutoCorrectedConfig" function
* revoke schema split
* remove "configMigrator"
* remove "configMigrator"
* Change TestConfigFile to show how the autocorrection works
* revoke schema split
* revoke schema split
* remove "ConfigMigrator"
* remove "ConfigMigrator"
* remove "ConfigMigratorBase"
* remove "ConfigMigratorBase"
* Add QJsonUtils.h
* added ability "ignore-required"
It has been added the ability to correct the configuration without having to pay attention to the keyword "required" in the hyperion schema
* Allow Comments in Hyperion Schema
* add ability to ignore the "required" keyword in hyperion schema
* add ability to ignore the "required" keyword in hyperion schema
* add ability to ignore the "required" keyword in hyperion schema
* //Allow Comments in Hyperion Schema
* Update jsonschema.py to version 0.8.0 to support ...
references in json schema
* add RefResolver from jsonschema.py to resolve
references in hyperion schema
* remove dupe code
* split the hyperion schema in separatly files
For better readability
* add function "resolveReferences" to resolve
references in hyperion schema.
* remove CURRENT_CONFIG_VERSION
* remove CURRENT_CONFIG_VERSION
* split the hyperion schema in separatly files
For better readability
* Create schema-backgroundEffect.json
* Add the rest of the Hyperion schema via upload
* Remove Comments in config file
* Add return variable to function writeJson().
fix function resolveReferences().
edit function load() to handle QPair result from schemaChecker.
* edit function validate() to return QPair variable
* fit function loadEffectDefinition()
* fit function checkJson()
* Expand error check by dividing
"_error" variable in "_error" and "_schemaError".
Replace variable "bool" in validate() in QPair
* Extend function "cmd_cfg_set" to handle auto correction
* Extend function "loadConfig" to handle auto correction
* fix function loadConfig()
* add limit for write to leddevice
* add to default config
* add i18n
* extend xmas effect
* fix indention
* add check for minimum brightness
* adapt effects to fading and new minWriteTime
* remove old latchTime
rename minimumWriteTime to latchTime
make it as dev specific option
* set default for rewriteTime to 1s
pause smoothing on color too
* reenable smoothing for color - it looks nicer :-)
* fix timeout timer
* clean color adjustment
* now a prio duration of "0" means infinity
* implement dynamic 'just in time' initialization
* implement new brightness handling
* cahnge access level
* i18n fix
* - cleanup brightness stuff
- update webserver, now with initial ssl support
* - backlightThreshold is now 0-100 instead 0-1
- better performance for brightness - use piecewise linear instead of sqrt
* upd
* update
* update
* update schemachecker
* ...
* fix lowest priority
* zeroconf updates (#421) (#3)
* zeroconf:
add ip
make names more uniq
* tune dns name for webconfig
* update
* update
* update
* update ui
* ...
* min val for gamma
* lost somewhere this
* add status to hyperion object
* update ui
* start of integrating a bonkour service browser
* some experiments
* blub
* bonjour browser via jsonrpc ...
* fix indention
* - make leddevice as component
- extend sysinfo with domain
- add more data for bonjour browser (e.g. split domain and hostname)
* code cleanup
* add translation
* use component names instead of ids
* fix compile
* std::string -> qstring part 1
* more string migration
* more string migration ...
* ...
* more qstring mogrations
add sysinfo via json
* remove unneccessary includes
* integrate sysinfo into webui
* implement rigin for efx
* implement origin for effects and other components
add experimental adalight firmware for arduino with upto 5 pwm channels
* cleanup
* origin ip now with dns lookup
* fix compile
* move some code
* fix/refactor backlight stuff:
- fix colors dont turn of when backlight 0 and black is set
- add option to use not colored backlight
- fix colored backlight not colored on very low color values
- various code style tunings
* apply needed change to wizard
* backlight disabled on static color and efects
* fix warnings
* try fix udp compiler warnings
* implement 404 for webserver - this is a quick hack, should be refactored later
* add http error pages ... design is more a placebo ;-)
* tune errorpages
fix some cgi related stuff, now only python is possible
executing and reading python file is possilbe, but it cannot receive any data from webui
* fix typo
* fix another typo
* - fix coloradjustment via hyperion remote
- several small cleanups/refactorings
* fix color is shown as unknown in json serverinfo
* fix active color is not shown when autoselect is reactivated
* add new rgbtransform
* activate rgbtransform
* integrate new transform and gamma in adjustment, disable transform
* fix brighness limit
* advance upper and lower thresholds
* start removing color transform
* adjust configs/schema
* implement json for new color adjustment
* finish hyperion-remote extension for new adjustment settings
* fix typos
* rename luminance to brightness
fix jsonapi for new adjustment
* fix some bugs in adjustments
* fix i18n
* fix gamma via json
* now brighness values goes from 0-1 with 0.5 is the default for all brighness is equal between the channels. less 0.5 all channels scaled down
to new brighness, above 0.5 if possible channel gets brighter - but brighness is not equal between the channels anymore
brighness value curve is now exponential instead of linear - this feels more natural
* hslv cleanup
* Rename test to test123
* Delete test123
* New color Ajustment
Trilinear interpolation between the 8 corners of the color cube (black, red, green, blue, cyan, magenta, yellow, white)
* Renaming
* overloading getadjustmentX()
* Renaming
* Additional renaming
* Added more RgbChannel
* Added more colors to channelAdjustment
* Added additional colors
* Added additional colors
* Added additional colors
* Added additional color adjustments
* Update MultiColorAdjustment.cpp
* Fixed black adjustment
* Color config in array form
* move name to general
add a version for config file
* start impl. config migrator
* fix typo amd set access level
* fix schemaa name
* fix schema
* add structure for config migrator
* on v4l screenshot, print out nosignal threshold values
* separate fractional parameters for no signal detection
* fully implement handling for "rainbow grabber"
* update lightberry sketches
update compilehowwto (windows disclaimer)
some refactoring in main cmakelists + preparation for windows compile
tune ada driver, set delayAfterConnect default to 1.5s because some arduino (e.g. mega r3) needs this
set priority min/max for grabber/network services - prevent colliding prios between webui/background stuff and grabbers/net services
* add check if config is writable. TODO do something usefull in webui
* fix indention error
* fix typo
* fix webui can't write led config
* typo
* fix cmakelists
* change methode of detecting linux
* refresh for all :-)
remove dups
* - integrate refresh leds for all devices
- fix schemas for led devices
* add minimum for rewrite time
* rewriteTime: add missing info in config examples
* rename platform rpi-pwm to rpi. remove original rpi platform
install symlink to bin folder
create effects folder for custom effects
* fix osx jobs evaluation
* - add rewrite time to serial leds
- rework adalight sketch
* add analog output
* adalight: add analog mode: last led
* tune adalight sketch to final state
move refresh code to leddevice base class, so every leddevice can use it
* - implement a global logbuffer
- providerrs232 reduce log spam
* logger add signal and start json push
* implement logger notifier ... need some cleanup
* imlement logview in webui - the layout stuff is basic atm and needs some tuning
* - implement a global logbuffer
- providerrs232 reduce log spam
* logger add signal and start json push
* implement logger notifier ... need some cleanup
* Update EffectEngine.h
* add reloadEffects function
* add readEffects function
* add reloadEffects function
* Call reloadEffects after handleCreateEffectCommand and handleDeleteEffectCommand
* Add ability to delete custom created Effects
* Add deleteEffect function to Hyperion-Remote
* Add deleteEffect function to Hyperion-Remote
* Update schema.json
* Update JsonSchemas.qrc
* Add schema-delete-effect.json
* Add deleteEffect function to JSON RPC
* Add deleteEffect function to JSON RPC
* Add Effect configuration file (.json) to Effect Definition
* Update EffectDefinition.h
* - remove feature of using multiple config files for automaticly start other hyperion instances
- add auto config file creation
- tune service files
* add auto path creation for initial default config
* debian package:
rename service to hyperiond
remove copy of config file
* remove color temperatire, its the same as color adjustment
* remove temperature from schema
* implement most part of v4l only colro settings,
now hyperion update knows from which component the colors come
* update configs
* fix webui config write
* reomve correction and temperature from hyperion-remote
* switch rs232 provider to completly async transfer
* start of implementing a seperate init function for leddevices
* rename setconfig to init
* more fixes
* implement missing code
* fix code style
* remove debug code
* remove debug stuff
* set loglevel to original state
* - effects now can use qt image effects
- rainbow swirtl is now suitable for any led layout - including matrix
* fix rainbow effect
* effect: add radialGradient
* fix some js errors
* optimize code
* try fix travis test not working as expected
* fix default config files
* fix config
* first try
* implement hyperion restart. core function is good, but needs a beeter structuring- something for next refactoring session ;-)
* several fixes (including osx)
merge with upstream
some refactoring
* add some eye candy to webui
* implement effects included in hyperiond binary
* cleanup
* remove install of effects dir. People who wants to develop effects has to copy them from github
effect params for initial effects can be changed in config permanently and other effect params can be changed
via json (currently only temporarily)
* fix schema of fadecandy
webui fix display of specific led options
* add leddevice write support
* cleanup
* webui: tune hue code
* when use json effect definition from putsiede hyperiond but want to use py script from inside hyperiond use ad a :
e.g. fade.py needs a fade.py near the json file, but :fade.py is taken from resource inside hyperiond
* add ability to di
* add abiloty to diable effcts via hyperion config
* use effect name instead of script in active effects and prio register
* finally solve open file handle during effect is playing. Now script is read before, then file closed and then t is run by python
* fix some webui things
- led config tabs
- inital loading screen
optimize qrc file generation
fix compile warning in hyperion.cpp
* cleanup
* more cleanup
* initial support for leddevice options
* fix schema and editor init
* fix led editor labels and schema
* add some led schemas
* led config: insert current values. not yet perfect, but it works
* split content and js
tune leds config
* implement connection lost page
* split js/html in huebridge
* add js action for connection lost
* extend led config
make connection loss nicer
* tune led code
add menu entry for grabber
* more tuning of webui
* switch back to botstrap textarea
add v4l to components
* add icon
* extend schema for jsoneditor
* implement ledcolors streaming with 4fps
* implement component state
* make hyperion websocket api event based
* implement new websocket handling for generalconf
* migrate all webui stuff to new event based websocket api
some cleanup ... now all html templates are in content
refactoring of web stuff
* add hyperionport to global
start impl. removing advanced key
* separate dashboard
serverinfo is updated every 3 seconds automatily
add input selection
cleanup and remove not needed stuff
* prepare infrastructure for server sided file execution
* webui minor fixes
* fix compile
* implement led layout view with live colors
* live led vies
* fix general conf
unrigister ledcolors request, when not on leds.html
* fix compiler warning
* prepare realtime ledview and enhance ui
* make hyperion websocket api event based
* implement new websocket handling for generalconf
* migrate all webui stuff to new event based websocket api
some cleanup ... now all html templates are in content
refactoring of web stuff
* add hyperionport to global
start impl. removing advanced key
* separate dashboard
serverinfo is updated every 3 seconds automatily
add input selection
cleanup and remove not needed stuff
* prepare infrastructure for server sided file execution
* webui minor fixes
* fix compile
* Replaced getoptplusplus with QCommandLineParser. Fixes#39
* enabling C++11 if possible
* enabling C++11 if possible
* fixed gcc compilation issues
* fixed linux builds and improved os x build
* trying to fix dispmanx
* trying to fix dispmanx
* simplified travis build script
* fixed argumentparser default values
* rewrote validator system and made sure default arguments are processed correctly
* rewrote validator system and made sure default arguments are processed correctly
* fixed bool vs. regular options
* oops... removing debug code
* reverted screenshot api change
* commit debug code to save it due to merge
* migrate first devices to new device registry and configure on runtime
* fadecandy and rs232 resets device if config is set
* try to hunt crash on osx
* test commit if this works with osx
* refactor spi devices
* cleanup
* refactor leddevices file, tinkerforge and ws2812b
* refactor raw usb devices
* refactor udp devices
* - add tpm2net driver
- remove old udp driver from build (files left in place for reference for new udp driver)
- json serverinfo shows available leddevices
* finish rework part 2 of leddevices
* add schemas for leddevices.
currently only compiled in, but not usedx
* Remove "endOfJson" Value
Deprecated value from Hypercon
* Remove "endOfJson" Value
Deprecated value from Hypercon
* Add writeJson function to JsonFactory
* ability to ignore required value in schema file
* Remove "endOfJson" Value
* Add handleConfigSetCommand function
* Add handleConfigSetCommand function
* Update JsonSchemas.qrc
* Update schema.json
* Update JsonSchemaChecker.cpp
* Add configSet command to Hyperion-remote
* Add setConfigFile function
* Add setConfigFile function
* Add schema-configset.json
* v4l errors won't lead to crash hyperiond (exceptions are catched)
v4l auto device mode with better log messages
createV4l in hyperiond.cpp refactored, now v4l is always available as long as it is compiled in
* change back, code accidently altered
* fix compile of dispmanx grabber
* implement enable/disable on runtime for:
- smoothing
- kodi
- udplistener
- boblight
* implement enable/disable for forwarder
refactor component
* - implement grabber enable/disable at runtime
- big grabber refactoring. now with common base class for all grabbers
* implement enable/disable at runtime for bb detector
* osx fix
* try to fix cutted travis output for osx build
* start ledclone
* led cloning: clone scan areas from original led
main: show exceptions, better exit
* tune json schema for new option. somwe cleanup
* fix warnings and bug for framebuffer selection. thx to clang brought by new osx buikld on travis
* make ledclone feature work flawlessly for effects too. Effect sees the ledstring without cloned leds.
cloned leds will be inserted just before sending to leddevice
additional: remove warnings and fix code style
* fix warning
* add --sourceOff to hyperion-remote - this will select "off" source and set all leds to black
refactor new json stuff
make schema checker not so strict, do not require values that have defaults (not finished yet)
initialEffect config: effect is always an array, regardless if it is a color or an effect name
* make off source visible in active priority list
* transform initialeffect to qjson (except part of effect-args, this needs effectengine transformed to qjson)
* remove unneeded comment
* add web ui for source selection.
call http://hyperion_host:8099/select/index.html
current example needed json server on port 19444
* Replace std::string with QString
* Replace std::string with QString
* Replace std::string with QString
* Replace std::string with QString
* Convert JsonCPP Code to QTJson
Not all JsonCPP Code is converted to QTJson Code. See Pull Request for Details.
* Convert JsonCPP Code to QTJson
Not all JsonCPP Code is converted to QTJson Code. See Pull Request for Details.
* add ability to disably specific color corrections
update protobuf external
move smoothing out of color section
* update config
* update schema
* update schema
* - implement framegrabber type option
- framegrabber autoselect
- integrate x11 grabber in hyperiond
* add doxy
* v4l: select device by name
hyperiond: fix x11 grabber connection to kodichecker
config: tune default prios of boblight and v4l
* make v4l name finding case insensitive
* multi fix commit
- refactoring leddevicefactory
- adalight: default for "delayAfterConnect" is 1s now - needed for most arduino's because of there special behaviour on open
- fadecandy: new option for disabling configuration send - if you want to keep your fadecandy defaults
- Hyperion.cpp: simplify createSmoothing discussed in #105
- smoothing:
-- add option for continuous output
-- when updatedelay>0 and continousOutput is disabled, buffer is flushed correctly after no input is detected
* add doxygen to travis
* big kodichecker rework
- use new logger
- 'enable' flag in config
- startable on runtime (atm not stoppable and no reconfigure)
- rename xbmc to kodi
* remove unnecceasry checks for kodi
* make kodichecker stoppable and add reconfigure
* tune config
* common ledbuffer for color transform
hyperion class uses a common buffer for all operations on ledColors got from muxer
all color transforms uses new ledBuffer instead of making copies of ledbuffer
other fixes:
fix compile bug in profiler
update doxygen config
* migrate logging for color transform classes
* prepare new logger in hyperion class
* implement hwledcount
* Update Hyperion.cpp
Fix off color
* remove ledscount equivalent from apa102
migrate logging in hyperion.cpp
remove unused and duuplicate colorcorrection - but same is available through tempertature
* remove colorcorrection completly
fix compile
* set colororder back to static
* in remote: using correction is the same as using temperature - correction is obsolete, command not delete atm for compat reasons
* refactoring of RgbChannelAdjustment
* - remove rgbchannelcorrection, this was a dup of rgbchanneladjustment
- add cmake policy to hide warning
- tune code of rgbchanneltransform
* common ledbuffer for color transform
hyperion class uses a common buffer for all operations on ledColors got from muxer
all color transforms uses new ledBuffer instead of making copies of ledbuffer
other fixes:
fix compile bug in profiler
update doxygen config
* migrate logging for color transform classes
* prepare new logger in hyperion class
* implement hwledcount
* Update Hyperion.cpp
Fix off color
* remove ledscount equivalent from apa102
migrate logging in hyperion.cpp
remove unused and duuplicate colorcorrection - but same is available through tempertature
* remove colorcorrection completly
fix compile
* set colororder back to static
* in remote: using correction is the same as using temperature - correction is obsolete, command not delete atm for compat reasons
* refactoring of RgbChannelAdjustment
* common ledbuffer for color transform
hyperion class uses a common buffer for all operations on ledColors got from muxer
all color transforms uses new ledBuffer instead of making copies of ledbuffer
other fixes:
fix compile bug in profiler
update doxygen config
* migrate logging for color transform classes
* prepare new logger in hyperion class
* implement hwledcount
* Update Hyperion.cpp
Fix off color
* remove ledscount equivalent from apa102
migrate logging in hyperion.cpp
remove unused and duuplicate colorcorrection - but same is available through tempertature
* remove colorcorrection completly
fix compile
* set colororder back to static
* in remote: using correction is the same as using temperature - correction is obsolete, command not delete atm for compat reasons
* start implementening runtime start/stop for udplistener
* add signal slots for start/stop/statusChanged for better connectivity with other qt stuff
* fix typo
- if you listen to a multicast address, it now also listens to all ipv4 addresses
- shared udp sockets - multiple hyperiond instance can optionally share the same udp packets
* switch to new logger for folowing led devices:
LedDeviceAtmo
LedDeviceFactory
LedDeviceFadeCandy
LedDeviceHyperionUsbasp
LedDeviceLightpack-hidapi
LedDevicePiBlaster
LedDeviceWS281x
LedRs232Device
leddevice base class defines logger already as protected member _log
* migrate to new logger for led devices.
still todo:
LedDeviceWS2812b
LedDeviceWs2812SPI
LedDeviceTinkerforge
LedDeviceLightpack
LedDeviceMultiLightpack
* start step by step migration to new logger
* fix linking for serialport
* migrate effectengine to new logger
* tune log messages
* add commandline options for hyperiond to control verbosity
--silent
--verbose
--debug
* udplistener/boblight: use hyperion::getInstance
hyperiond: fix dispmanx is started twice
hyperiond: rework bootsequence - now named as InitalEffect
* pull out webconfig from hyperiondaemon to functional when daemon crashes
initialEffect: forbid foreground effect duration infinitiy
* Fixed compile error when no grabbers are defined
* Remove stupid avahi warning...
* Started on the new integrated UDP listener to replace the python effect.
Cloned boblight server and rename it to be UDP listener
It compiles!, It starts! it seems to work as a second boblight protocol server...
* moving from the exsting TCP to UDP.
i can catch packets now.. need to consider ditching the connection handling
* It kinda works right now.
UDP packets are received, led data is sent and hyperion displays them.
.... for a moment before going back to what it was doing
* It works!
looks like the default priority of 900 was fighting with something else that was also 900
commented out some udp packet debugging
* oops, forgot to add the changes the the previous commit
* resolving merge conflicts
* make hyperion to singelton.
remove arguments for config and hyperion - both are gettable via Hyperion::getInstance
* refactor hyperiond
* remove qt4 comapt
make zeroconf mandatory
refactor hyperiond
* xbmcchecker is now a singleton
* cleanup in hyperiond
zeroconf switchable between static and shared linking
* fix xbmcchecker
* extensive refactoring of hyperiond
webserver: make client ip information availabel in request object - preparation for ip filters
proto/json server, use hyperion::getInstance instead of hyperion argument
* move creation of hyperion core into hyperionDeamon class
cleanup
* make hyperion to singelton.
remove arguments for config and hyperion - both are gettable via Hyperion::getInstance
* refactor hyperiond
* remove qt4 comapt
make zeroconf mandatory
refactor hyperiond
* xbmcchecker is now a singleton
* cleanup in hyperiond
zeroconf switchable between static and shared linking
* fix xbmcchecker
* initial commit of webconfig
* update example config with webconfig and fix format of file
update debian postinst script for install example config
* fix compiling
add new web server command "serverinfo" to use in webapp to retrieve json port
* change web default port to 8099
* add cgi engine to webserver
* fix include
* initial commit of webconfig
* update example config with webconfig and fix format of file
update debian postinst script for install example config
* fix compiling
add new web server command "serverinfo" to use in webapp to retrieve json port
* change web default port to 8099