Skip to content

Commit 448fdc4

Browse files
authored
Merge pull request #9 from SEPIA-Framework/dev
SEPIA-Home v2.4.0 release update
2 parents 063e691 + 1789e1b commit 448fdc4

File tree

6 files changed

+94
-4
lines changed

6 files changed

+94
-4
lines changed

.github/FUNDING.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
github: [fquirin]

CHANGELOG.md

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,80 @@
11
## Release history and changelog
22

3+
### v2.4.0 - 2019.12.30
4+
5+
Updated client to v0.20.0:
6+
* Integrated SEPIA Control HUB into settings frontpage of app (will show when user has certain role, e.g. 'tinkerer' or 'smarthomeadmin')
7+
* New setting for preferred temperature unit (Celsius/Fahrenheit) that can be accessed in services via user account or device settings
8+
* Added new page for 'device local site' to set a specific location for the client like 'home:living-room' that can be read by any smart service on the server
9+
* Load up to 16 custom command buttons to my-view by default (up from 10)
10+
* Load services config of Teach-UI from new teach-server endpoint
11+
* Added a help button for extended login box that redirects to SEPIA docs
12+
* Auto-assign a 'dark-skin' or 'light-skin' class when selecting a skin to better handle certain CSS rules
13+
* Basic post-message interface for apps that run inside IFrames (to be extended soon)
14+
* Tweaked TTS voice selection indicator depending on platform
15+
* Added 'env' parameter to launcher page
16+
17+
Updated Control-HUB (admin-tools) to v1.3.0:
18+
* Added post-message interface to load tools in IFrame and login user (used for example in client app to show Control HUB and auto-login user)
19+
* Smart home: Uses new 'integrations' endpoint of assist-server to communicate with HUBs instead of calling them from client (in addition: HUB host URLs must match server setting now to prevent unsafe HTTP calls)
20+
* Smart home: Completely reworked device cards and interface (new options, hide/filter devices, auto-refresh, test button, etc. ...) and added Test-HUB for experiments
21+
* Smart home: Support for a total of 11 device types (lights, shutters, thermostats, etc.) and 14 room types (bath, office, living-room, etc.)
22+
* Smart home: Allow device names with numbers in brackets that will be skipped in assistant answers, e.g. name='Bed Light (2)' -> answer: 'your Bed Light is set to ...'
23+
* Smart home: Added extended device settings for experts to fine-adjust state type and set commands
24+
* Assistant testing: Added two new buttons to call 'understand' and 'interview' server endpoints
25+
* Core settings: Show persistant settings as editable list
26+
* STT: Added test button to extract personal commands as (anonymous) training data for language models
27+
28+
Updated Assist-server to v2.4.0:
29+
* Added new server endpoints 'understand' (improved version of 'interpret') and 'interview' (shows either intent summary or indicates missing info including question)
30+
* Completely reworked 'SmartHomeHub' interface to improve HUB communication and make it easier to integrate new HUBs (register methods, generalized set values, more sepia-xy tags, common search and filter methods, etc. ...)
31+
* Added FHEM smart home HUB support (config name 'fhem') and a Test-HUB for experimenting (config name 'test')
32+
* Improved 'SmartHomeHubConnector' service and whole smart home methods + NLU to handle a total of 11 device types (lights, shutters, thermostats, etc.) and 14 room types (bath, office, living-room, etc.)
33+
* Added NLU support for device number and room number (e.g.: "set light 2 in bath 2 to 70%") and changed 'SmartDeviceValue' result type from 'Number' to own format
34+
* Added optional reply parameter to smart home service
35+
* Added settings for smart home HUB basic authentication ('smarthome_hub_auth_type', e.g. 'Basic' and 'smarthome_hub_auth_data', e.g. base64 encoded 'username:password')
36+
* New server endpoint for integrations ('integrations/*/*') and first implementation for direct smart home HUB communication (send commands to HUBs like FHEM directly without using the NLU + smart service)
37+
* Questions inside a service can now use wildcards to access previously defined parameters from 'resultInfo' (example dialog: User: "Set light" - Sepia: "Set <1> to what?")
38+
* Added new 'unit_pref_temp' (temperature unit) property to user account
39+
* Services have access to new 'device local site' and 'user preferred temperature unit' (both used in smart home service for example)
40+
* Added temperature convert method (C <-> F) to Number parameter and automatically convert between units in smart home service (depending on user pref. and device state type)
41+
* Added 'ServiceRequirements' class and 'getRequirements' to 'ServiceInterface' to better handle SEPIA version conflicts in the future
42+
* New server endpoint ('web-content-index/[web-server-folder]') and settings (see example folders in 'Xtensions/WebContent/') to generate directory listings of web-server content
43+
* Added 'Size Radio' channel and fixed 'EgoFM' streams
44+
* Support for Elasticsearch Authorization via 'db_elastic_auth_type/data' setting
45+
* Tweaked 'getConfig' server endpoint to show even less sensitive data from properties file (passwords and keys show as 'HIDDEN')
46+
* Added device-ID to Elasticsearch mapping for personal commands
47+
* Several code clean-ups, improvements, NLU tweaks and bug fixes
48+
49+
Updated WebSocket Chat-Server to v1.2.2:
50+
* Added Eclipse Paho MQTT client and SEPIA classes (SepiaMqttClient, SepiaMqttClientOptions, SepiaMqttMessage)
51+
* Support for Elasticsearch Authorization via 'db_elastic_auth_type/data' setting
52+
53+
Updated Teach-Server to v2.1.0:
54+
* Support for Elasticsearch Authorization via 'db_elastic_auth_type/data' setting
55+
* New endpoint 'getTeachUiServices' and services file (Xtensions/TeachUi/services/common.json) to be able to load Teach-UI configuration from server
56+
* Added command 'smartdevice' to Teach-UI config with examples
57+
* New endpoint 'getAllCustomSentencesAsTrainingData' to be able to extract data for speech recognition language model
58+
* Optionally add device-ID to custom commands for future 'per-device' command selection
59+
60+
Updated Core-tools to v2.2.4:
61+
* New user role 'smarthomeadmin' (user that has access to smart home HUB config) and 'tinkerer' (a user that likes to see more detailed configuration options ^_^)
62+
* New CoreEndpoints method 'getWebContentIndex' to index web-server folder and build interactive file list
63+
* Updated Connectors with more control of headers and added 'headers' map to 'HttpClientResult' for 'apacheHttpGET' method to get direct access to result headers
64+
* Added support for 'Authorization' header to Elasticsearch class via 'auth_type' and 'auth_data' settings
65+
* New method 'readFileModifyAndCache' in FileAndStreams class to read a file line-by-line, optionally modify each line and keep result in cache (handy for settings files etc.)
66+
* New decimal format number converters 'stringToNumber' and 'numberToString' to read numbers and get a number string in specific format more easily (uses new common default decimal format)
67+
* Added deviceId as field to Command and SentenceBuilder classes
68+
* Added 'getKeys' and better 'prettyPrint' to JSON class
69+
* New 'Is.typeEqual' and 'Is.typeEqualIgnoreCase' methods
70+
* Added 'modifyThread' permission to SandboxSecurityPolicy to avoid errors with Paho MQTT client
71+
* Tweaked 'httpSuccess' method in Connectors to optionally give cleaner result
72+
* Updated fasterxml.jackson.core (again!) to apply latest security fix
73+
74+
Other tools:
75+
* Updated SDK to v0.9.20 to support new SEPIA-Home release and added 'MqttDemo' service to demonstrate how to publish service results to a MQTT broker
76+
* Updated Mesh-Node to v0.9.12 to include new core-tools v2.2.4
77+
378
### v2.3.1 - 2019.10.14
479

580
Updated client to v0.19.1:

sepia-custom-bundle-folder.zip

174 Bytes
Binary file not shown.

sepia-custom-bundle-folder/README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
# SEPIA-Home
22

3-
This is the base folder for the SEPIA-Home (aka custom release) bundle. It contains all the start and setup scripts and certain configurations to operate your SEPIA-Framework.
3+
This is the base folder for SEPIA-Home. It contains all the start and setup scripts and certain configurations to operate your SEPIA-Framework.
44

55
## How to get started
66

7-
Check-out the installation guide: https://github.com/SEPIA-Framework/sepia-installation-and-setup
7+
Check-out the quick-start guide: https://github.com/SEPIA-Framework/sepia-installation-and-setup#quick-start
88

9-
## How to create a SEPIA-Home bundle release
9+
## How to create a SEPIA-Home bundle release (for developers)
1010

1111
Check out [this build script](https://github.com/SEPIA-Framework/sepia-installation-and-setup/blob/master/build_sepia_home_release_apt.sh) for the most recent procedure. It will roughly do the following:
1212
* Copy this folder somewhere
@@ -15,7 +15,7 @@ Check out [this build script](https://github.com/SEPIA-Framework/sepia-installat
1515
* Copy the release versions of the SEPIA servers to their respective sub-folders (assist, teach and chat each with jar, libs and Xtensions)
1616
* Copy sepia-core-tools-*.jar from the SEPIA core-tools release to the 'sepia-assist-server' sub-folder
1717
* Copy the release versions of the SEPIA reverse-proxy to its respective sub-folder
18-
* Download Elasticsearch 5.3.3: https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.3.3.zip
18+
* Download Elasticsearch: https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.3.3.zip
1919
* Copy over the contents of the ZIP to the 'elasticsearch' sub-folder WITHOUT overwriting the 'elasticsearch/config' folder
2020
* Copy the content of the SEPIA HTML client's 'www' folder (https://github.com/SEPIA-Framework/sepia-html-client-app/tree/master/www) to 'sepia-assist-server/Xtensions/WebContent/app'
2121
* Copy the content of the SEPIA admin-tools folder (https://github.com/SEPIA-Framework/sepia-admin-tools/tree/master/admin-web-tools) to 'sepia-assist-server/Xtensions/WebContent/tools'

sepia-custom-bundle-folder/nginx/sites-available/sepia-fw-http.conf

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,5 +40,12 @@ server {
4040
proxy_set_header Connection $connection_upgrade;
4141
proxy_read_timeout 14400;
4242
}
43+
44+
# Example of Basic-Auth protection
45+
# location /elastic/ {
46+
# auth_basic "Elasticsearch Authentication";
47+
# auth_basic_user_file path/to/a/htpasswd;
48+
# proxy_pass http://localhost:20724/;
49+
# }
4350
}
4451

sepia-custom-bundle-folder/nginx/sites-available/sepia-fw-https.conf

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,13 @@ server {
3939
proxy_read_timeout 14400;
4040
}
4141

42+
# Example of Basic-Auth protection
43+
# location /elastic/ {
44+
# auth_basic "Elasticsearch Authentication";
45+
# auth_basic_user_file path/to/a/htpasswd;
46+
# proxy_pass http://localhost:20724/;
47+
# }
48+
4249
# Allow access to the letsencrypt ACME Challenge
4350
# location ~ /\.well-known\/acme-challenge {
4451
# root /var/www;

0 commit comments

Comments
 (0)