diff --git a/package/gluon-alfred/files/lib/gluon/alfred/announce.sh b/package/gluon-alfred/files/lib/gluon/alfred/announce.sh
index 6b890a7884f0b0e00ea50304b9ddfce009bcb7c7..cd9bd59615a96d4b2191ecd0e5f1f84e799a9870 100755
--- a/package/gluon-alfred/files/lib/gluon/alfred/announce.sh
+++ b/package/gluon-alfred/files/lib/gluon/alfred/announce.sh
@@ -9,14 +9,41 @@ else
 	exit 1
 fi
 
+. /lib/gluon/functions/model.sh
+. /lib/gluon/functions/sysconfig.sh
+
 [ -z "$ALFRED_DATA_TYPE" ] && ALFRED_DATA_TYPE=158
+[ -z "$NET_IF" ] && NET_IF=br-client
 
 set -e
 
 json_init
 json_add_string "name" "$(uci get 'system.@system[0].hostname')"
-if [ "$(uci get 'system.@system[0].share_location')" = 1 ]; then
-	json_add_string "location" "$(uci get 'system.@system[0].latitude') $(uci get 'system.@system[0].longitude')"
+if [ "$(uci -q get 'system.@system[0].share_location')" = 1 ]; then
+	json_add_object "location"
+		json_add_double "latitude" "$(uci get 'system.@system[0].latitude')"
+		json_add_double "longitude" "$(uci get 'system.@system[0].longitude')"
+	json_close_object # location
 fi
+json_add_object "software"
+	json_add_string "firmware" "gluon $(cat /lib/gluon/release)"
+	if [ -x /usr/sbin/autoupdater ]; then
+	json_add_object "autoupdater"
+		json_add_string "branch" "$(uci -q get autoupdater.settings.branch)"
+		json_add_boolean "enabled" "$(uci -q get autoupdater.settings.enabled)"
+	json_close_object # autoupdater
+	fi
+json_close_object # software
+json_add_object "hardware"
+	json_add_string "model" "$(get_model)"
+json_close_object # hardware
+json_add_object "network"
+	json_add_string "mac"   "$(sysconfig primary_mac)"
+	json_add_array "addresses"
+		for addr in $(ip -o -6 addr show dev "$NET_IF" | grep -oE 'inet6 [0-9a-fA-F:]+' | cut -d' ' -f2); do
+			json_add_string "" "$addr"
+		done
+	json_close_array # adresses
+json_close_object # network
 
 json_dump | tr -d '\n' | alfred -s "$ALFRED_DATA_TYPE"