Skip to content

Commit 46c944f

Browse files
authored
Merge pull request #31 from SEPIA-Framework/dev
SEPIA-Home v2.7.0 release candidate
2 parents a2579b3 + fc12d88 commit 46c944f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+1813
-381
lines changed

CHANGELOG.md

Lines changed: 85 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,89 @@
11
## Release history and changelog
22

3+
### v2.7.0 - 2022.10.31
4+
5+
Updated client to v0.25.0:
6+
* New custom skin feature and theme editor, including one light and dark template
7+
* Added better support for safe-areas of display (e.g. iPhone notch) and ability to add new custom borders
8+
* New 'dialog_task' variable to be able to optimize client and services depending on defined 'tasks'
9+
* Added support for STT 'task'-based custom models and improved STT settings view
10+
* Improved widgets (custom views/frames) interface and added support for per-widget 'activitySettings' like language and task
11+
* New time-event card icons to indicate "next", "expired" and "faulty"
12+
* Optimized web-manifest and changed default PWA display mode from 'fullscreen' to 'standalone'
13+
* Android: Completely refactored and optimized build setup + set official target to Android 12L
14+
* Android: Added support for TTS native-engine voice selection
15+
* Android: New and improved in-app browser with theme support
16+
* Android: Prevent back-button action when login or pop-up is open
17+
* Android: Implemented several fixes required to support Android 12 (and potentially Android 13)
18+
* iOS PWA: Greatly improved PWA experience on iOS with fixes for splash-screen, safe-areas, overscrolling, sound initialization, error handling and more. Safari is still buggy though.
19+
* Improved 'notify' module, new close-button for web-based OS notifications and added features to prepare for PWA background support (wip)
20+
* Optimized landscape-mode for Teach-UI
21+
* Improved media-devices settings view
22+
* Renamed 'Big-screen mode' setting to "Limit screen-size", reversed logic and improved default setting
23+
* Allow abort of 'setup-mode' to enable on-screen login (e.g. via virtual keyboard) in DIY clients (usually in 'pseudo-headless' mode)
24+
* Split short-cuts 'fullscreen' button into two buttons. One for UI (will always show up) and screen (shows up when supported)
25+
* Set black theme and safe-area colors when entering AO mode
26+
* Further reduced background music volume during speech input (applies to browser clients only)
27+
* New UI framework functions like 'ui.build.helpButton' or 'tools.escapeHtmlAndSanitize' and several smaller bug fixes
28+
* A lot of smaller look and style fixes and tweaks (+ optimized background images etc.)
29+
30+
Updated Control-HUB (admin-tools) to v1.5.0:
31+
* Smart-home: Improved UI, animations and device cards + new reload time indicator
32+
* Smart-home: Added 'Home Assistant' support (BETA) and new device types ('fan', 'garage_door', 'air_conditioner' and 'temperature_control')
33+
* Smart-home: Added new HUB interface device configuration option to handle more complex HUB APIs (e.g. HA uses several different endpoints to check and control devices)
34+
* Better handling of 'new login' and expired logins
35+
* New 'UI.showJsonPopup' for a better view of JSON data + tweaked pop-up size
36+
* Fixed a bug that could happen at reload after a logout
37+
* Smaller bug fixes
38+
39+
Changes to all SEPIA-Home servers and core tools:
40+
* Java 11 is required now and Java 8 support has been dropped. Please UPDATE TO JAVA 11 if you're still using 8!
41+
* Updated all Maven plugins and dependencies to account for Java 11 changes
42+
* Updated all servers to core-tools v2.3.0
43+
* Added a nice start logo to be displayed inside log files :-)
44+
45+
Updated Assist-server to v2.7.0:
46+
* Added 'Home Assistant' smart-home HUB interface (BETA) and improved existing interfaces (e.g. auto-detection of openHAB devices)
47+
* Support for new smart-home devices: 'fan', 'garage_door', 'air_conditioner' and 'temperature_control'
48+
* Updated 'SmartHomeHubConnector' to handle device type groups (first group: temperature). Allows to better handle similar devices like 'air_conditioner' + 'heater'
49+
* Introduced new smart-home interface device configuration to handle complex HUB APIs and complement 'set commands' to control devices
50+
* Improved code of several smart-home HUB integrations (openHAB, FHEM, ioBroker, test-HUB etc.)
51+
* Implemented new 'InterviewMetaData' feature with 'dialog_task' support enabling services to optimize client settings (e.g. switching task-based ASR models)
52+
* Fixed some news outlet RSS feed URLs
53+
* Several TTS pronunciation tweaks for example to better handle units like kWh, Wh, kW and W and fixes for 'txt2pho' engine
54+
* Several NLU tweaks and fixes, e.g for 'smart_device' parameters or 'Alarms' service and language switching
55+
* Improved 'action' NLU parameter by splitting 'open/close' from 'on/off' and adding 'cancel'
56+
* Improved parsing of Mary-TTS API compatible voices to support engines like Mimic3 + updated Mary-TTS INSTALL info
57+
* New server settings option 'languages_preload' (default: en, de), controlling for example what language files are pre-loaded at start-up
58+
* New server settings option 'allow_non_commercial_features' (default: false), to globally handle specific license restrictions. NOTE: Set to true to use 'MBROLA' and 'txt2pho' TTS engines
59+
* Added "isNextEvent" flag for time-events during load
60+
* Auto-adjust 'season' for OpenLigaWorker
61+
* Disable sentences import into DB by default during setup (can be run manually instead)
62+
* Added new calculator library and tool to parse mathematical expressions from strings (used e.g. for smart-home state calculations)
63+
* Updated Elasticsearch mappings for 'smart-devices' and 'smart-interfaces' to better handle meta data (NOTE: this will not automatically apply to old installations)
64+
* Fixed a bug in 'Alarms' service that allowed to create already expired events
65+
* Fixed a bug in weather service that could occasionally prevent results for forecasts 2+ days in the future
66+
* Better track and handle list-update errors
67+
* Fixed a localization bug in 'DateAndTime'
68+
* Added Italian translations of 'Assistant' files (answers, chats, teachIt) thanks to @giostark
69+
* Several smaller fixes, clean-ups and improved error messages
70+
71+
Updated Core-tools to v2.3.0:
72+
* Improved private network detection
73+
* Updated spark-core to v2.9.4
74+
* Updated 'slf4j-simple' logger to v1.7.36
75+
* Code clean-ups + added a few convenience methods (e.g. SparkJavaFw.redirect)
76+
77+
Other servers, tools and common changes:
78+
* New SEPIA-Home server start-page to quickly access apps, check status info and get help with issues. The page can be found at 'http(s)://[my-sepia-home-ip]:20726/sepia/' after Nginx has been set up
79+
* Improved Nginx and self-signed SSL installation scripts
80+
* Optimized Elasticsearch v5.3.3 package to run on Windows 11
81+
* Tweaks and smaller fixes for SEPIA-Home build and run scripts
82+
* Updated Teach-Server to v2.3.0 and slightly improved common.json for Teach-UI
83+
* Updated WebSocket Chat-Server to v1.4.0 (no other changes except updated dependencies)
84+
* Updated SDK to support new SEPIA-Home v2.7.0 (NOTE: please run `mvn clean` once after update!)
85+
* Updated Mesh-Node to v0.10.0 (no other changes except updated dependencies)
86+
387
### v2.6.2 - 2022.05.08
488

589
Updated client to v0.24.2:
@@ -42,7 +126,7 @@ Updated Assist-server to v2.6.2:
42126
* Added installer for 'txt2pho' TTS engine (German MBROLA only) + tweaked some voice speeds
43127
* Better checks for correct smart-home HUB authentication types + smaller smart-home interface tweaks
44128
* Added 'appRegionCode' and new 'defaultNewsRegion' to NluInput class (to be used in services)
45-
* Improved News service to support 'language' parameter (e.g.: "show me news in German") + 'defaultNewsRegion' and 'appRegionCode' to make news independant of user language
129+
* Improved news service to support 'language' parameter (e.g.: "show me news in German") + 'defaultNewsRegion' and 'appRegionCode' to make news independent of user language
46130
* Added a 'region' parameter to news-outlets.json
47131
* Improved settings loader and 'getConfig' endpoint with new 'PropertiesReader' that will return ALL settings (properties file + defaults)
48132
* Streamlined SDK endpoint responses to return JSON format and added more useful info

Dockerfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ RUN echo "Downloading SEPIA-Home (custom bundle) ..." && \
6464
#
6565
# Set up Nginx (HTTP)
6666
sudo cp nginx/sites-available/sepia-fw-http.conf /etc/nginx/sites-enabled/sepia-fw-http.conf && \
67+
sudo sed -i -e 's|\[my-sepia-path\]|'"/home/admin/SEPIA"'|g' /etc/nginx/sites-enabled/sepia-fw-http.conf && \
6768
sudo unlink /etc/nginx/sites-enabled/default && \
6869
#
6970
# Prepare automatic-setup and user1

build_sepia_home_container.sh

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,19 @@
11
#!/bin/bash
2-
# TODO: keep '--no-cache' ?
32
version=latest
43
if [ -n "$1" ]; then
54
version=$1
5+
else
6+
echo "Please specify the version to use for this release, e.g. 'v2.6.3'"
7+
exit
68
fi
79
if [ -n "$(uname -m | grep aarch64)" ]; then
8-
echo "Building SEPIA-Home Docker container: sepia/home:${version}_aarch64"
9-
sudo docker build --no-cache -t "sepia/home:${version}_aarch64" .
10+
echo "Building SEPIA-Home Docker container: sepia/home:${version}_aarch64_auto"
11+
sudo docker build --no-cache -t "sepia/home:${version}_aarch64_auto" .
1012
elif [ -n "$(uname -m | grep armv7l)" ]; then
11-
echo "Building SEPIA-Home Docker container: sepia/home:${version}_armv7l"
12-
sudo docker build --no-cache -t "sepia/home:${version}_armv7l" .
13+
echo "Building SEPIA-Home Docker container: sepia/home:${version}_armv7l_auto"
14+
sudo docker build --no-cache -t "sepia/home:${version}_armv7l_auto" .
1315
else
1416
# NOTE: x86 32bit build not supported atm
15-
echo "Building SEPIA-Home Docker container: sepia/home:${version}_amd64"
16-
sudo docker build --no-cache -t "sepia/home:${version}_amd64" .
17+
echo "Building SEPIA-Home Docker container: sepia/home:${version}_amd64_auto"
18+
sudo docker build --no-cache -t "sepia/home:${version}_amd64_auto" .
1719
fi

build_sepia_home_release_apt.sh

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/bin/bash
22
set -e
3-
echo "This script has been tested with: Raspbian Stretch/Buster (slim, RPi3), Debian 10 (slim)"
3+
echo "This script has been tested with: Raspbian Stretch/Buster (slim, RPi3), Debian 10/11 (slim)"
44
echo ""
55

66
#check packages (except Java)
@@ -62,7 +62,8 @@ mkdir -p sepia-assist-server/Xtensions/WebContent/tools
6262
cp -r sepia-admin-tools/admin-web-tools/. ~/SEPIA/sepia-assist-server/Xtensions/WebContent/tools/
6363

6464
#download and unzip elasticsearch (keeping the existing config folder)
65-
wget -O elasticsearch.zip https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.3.3.zip
65+
wget -O elasticsearch.zip https://github.com/SEPIA-Framework/SEPIA-Framework.github.io/raw/master/files/db-installer/elasticsearch-5.3.3.zip
66+
#wget -O elasticsearch.zip https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.3.3.zip
6667
unzip -n elasticsearch.zip
6768
cp -rn elasticsearch-*/. ~/SEPIA/elasticsearch/
6869

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#!/bin/bash
2+
version=latest
3+
if [ -n "$1" ]; then
4+
version=$1
5+
else
6+
echo "Please specify the version to use for 'latest' release, e.g. 'v2.6.2'"
7+
exit
8+
fi
9+
sudo docker manifest create sepia/home:latest \
10+
--amend "sepia/home:${version}_amd64_auto" \
11+
--amend "sepia/home:${version}_aarch64_auto" \
12+
--amend "sepia/home:${version}_armv7l_auto"
13+
14+
sudo docker manifest push sepia/home:latest

scripts/Dockerfile_pre_v2.4.1

Lines changed: 0 additions & 93 deletions
This file was deleted.

sepia-build-env/Dockerfile

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
FROM debian:bullseye-slim
2+
3+
# Default to UTF-8 file.encoding
4+
ENV LANG C.UTF-8
5+
6+
# Get all packages, install Java OpenJDK 11 and create a user
7+
8+
RUN echo 'Installing SEPIA-Framework build environment ...' && \
9+
#
10+
# Update package sources
11+
apt-get update && \
12+
#
13+
# Fix for Debian9/10 slim to be able to install Java
14+
mkdir -p /usr/share/man/man1 && \
15+
#
16+
# Get packages
17+
apt-get install -y --no-install-recommends \
18+
sudo git wget curl nano unzip zip procps ca-certificates \
19+
openjdk-11-jdk-headless ca-certificates-java maven && \
20+
#
21+
# Clean up
22+
apt-get clean && apt-get autoclean && apt-get autoremove -y && \
23+
#
24+
# Create a Linux user
25+
useradd --create-home --shell /bin/bash admin && \
26+
adduser admin sudo && \
27+
echo "admin ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
28+
29+
# Set JAVA_HOME path ... just in case - TODO: fix path for ARM or remove
30+
#
31+
# ENV JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"
32+
# ENV PATH="${JAVA_HOME}:${PATH}"
33+
#
34+
# Set a Docker ENV to identify container in scripts
35+
ENV ISDOCKER="true"
36+
37+
USER admin
38+
39+
RUN echo "Creating build folders ..." && \
40+
#
41+
# build
42+
mkdir -p /home/admin/build && \
43+
cd /home/admin && \
44+
echo "trap : TERM INT; sleep infinity & wait" > on-docker.sh
45+
46+
# Start
47+
WORKDIR /home/admin
48+
CMD bash on-docker.sh

sepia-build-env/build.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
#!/bin/bash
2+
docker build -t sepia/build-env:latest .

0 commit comments

Comments
 (0)