Skip to content
This repository has been archived by the owner on Oct 30, 2019. It is now read-only.

Commit

Permalink
Update master from dev (#65)
Browse files Browse the repository at this point in the history
* Implement unified interface to install scripts (#11)

* Initial commit for hassbian-config script.
The hassbian-config script is a framework for configuring the installed packages on the system.
It utilises the install scripts with minor modifications for inclusion into the framework.

hassbian-config defines three operations: install, show and info

install will install the named software package (hassbian-config calls this a "suite")
show will show all available installers.
info will show information about the suite selected.

As of this version, there is no kind of state kept by hassbian-config; this will likely need to be changed.

* Add documentation for hassbian-config.

* Added comment as to why the homeassistant suite is not in the list of available suites.

* Attempt to commit all local changes (I'm not familiar with git, sorry).

* Added stanzas to all suite installers; updated install_homeassistant.sh to be "just" another suite.

* Untab file - somehow tabs had crept in, not spaces.

* Fixup tabs
Correct /bin/sh stanza which precludes the "function" keyword
Restore old functionality if installer is run standalone.

* Change package long info text to reflect reality.

* Remove local testing variable.

* Typo in HASSbian scripts documentation (#16)

* Add status of installed suites, plus interrogation of state with JSON results. (#13)

* Initial commit for hassbian-config script.
The hassbian-config script is a framework for configuring the installed packages on the system.
It utilises the install scripts with minor modifications for inclusion into the framework.

hassbian-config defines three operations: install, show and info

install will install the named software package (hassbian-config calls this a "suite")
show will show all available installers.
info will show information about the suite selected.

As of this version, there is no kind of state kept by hassbian-config; this will likely need to be changed.

* Add documentation for hassbian-config.

* Added comment as to why the homeassistant suite is not in the list of available suites.

* Attempt to commit all local changes (I'm not familiar with git, sorry).

* Added stanzas to all suite installers; updated install_homeassistant.sh to be "just" another suite.

* Untab file - somehow tabs had crept in, not spaces.

* Fixup tabs
Correct /bin/sh stanza which precludes the "function" keyword
Restore old functionality if installer is run standalone.

* Change package long info text to reflect reality.

* Remove local testing variable.

* FEATURE: Add a persistent database of suite states.

IMPLEMENTATION DETAIL:
Change individual installer scripts to return an error in the install functions rather than exit the script
hassbian-config has new command "state" implemented.
hassbian-config state returns JSON formatted data about the state of all suites for use by API clients.
hassbian-config state <suite> returns JSON formatted data about the state of an individual suite.

concurrent access to the database is locked using flock; running from frontend and shell at the same time
shouldn't cause any issues with data integrity.

Ideally, default format for returned data would be plain text; it may be possible (but messy) to implement
this, and have a --format=json parameter.  Maybe better served by adding suite state to info command?

* Correct quotes in JSON data which broke it.

* Fix true/false bug in verify-suite

* Added non-installed scripts to "all" status display.

* remove debugging variables from the script.

* Added non-array JSON to hassbian-config status command at @Baloob's request to simplify parsing

* Remove debugging variables.

* Remove orphaned function.

* Rework for packaging

* Our first .deb package

* fix broken link

* Add that missing /

* FIxed funtion call so that it will work. (#21)

* Update install_hue.sh

Rename functions.

* Add tellstick installer

* Update install_homeassistant.sh

No longer removes the script. Only disables the script in question.

* Update home-assistant@homeassistant.service

Fix spelling and remove whitespace.

* Tellstick install

* Update install_libcec.sh (#26)

Looks like CEC is installed in dist-packages now instead of site-packages. Updated documentation here -> https://home-assistant.io/components/hdmi_cec/

* OpenZwave config directory location (#30)

* OpenZwave config directory location

I'm not sure if I was having a moment or if OpenZWave 0.40 caused this, but after using `hassbian-config install openzwave` tonight, Zwave did not run with HA. 

After checking things out, it looks like the `/srv/homeassistant/lib/python3.*/site-packages/libopenzwave-0.*-linux*.egg/config` folder does not exist. I did find the openzwave config information in ` /srv/homeassistant/lib/python3.*/site-packages/python_openzwave/ozw_config`. When I changed the links to that folder and used the config path `/srv/homeassistant/src/python-openzwave/openzwave/config` in my HA configuration file everything is working great. 

Might be worth double checking before merging this, but just wanted to point it out. Cheers!

* Update install_openzwave.sh

* Add tradfri, openzwave-pip and minor fixes

* Update version of package and add dependencies

* Update README.md

* Fix sorting of package files

* Add gitignore for built packages

* Update README.md

* Update install_tradfri.sh

Fix heritage from copied file

* Fix OZWCP link

* Add simple script to make builing easier

* Correct creation of OZWCP link

* Update README.md

Fix spelling and clarify use of Open Z-Wave scripts.

* Update README (#34)

Fixes a few typos

* Updates for Stretch

* Adding support for Python 3.5 in install_hue.sh (#40)

* Adding support for Python 3.5

Adding support for Python 3.5 and keeping 3.4 for compability.

* Update install_hue.sh

* Fixed error in getting IP-Address (#41)

Not sure if this is related to strech or not, but the old one give me:
"Configuration is now available as a Samba share at \\\homeassistant"

This will correct that.

* Added support for upgrade scripts (#42)

* Added upgrade to MD

* Initial upgrade script for homeassistant

* Update and rename upgrade_homeassistant.sh to upgrade_home-assistant.sh

* Update upgrade_home-assistant.sh

* Initial support for upgrade

* Update hassbian-config

* Create upgrade_hassbian-script.sh

* Fix minor spelling misstake

* Spelling and cleanup of sentence

* Check for permissions on where needed

* Check for permissions on where needed (#43)

* Update to use Discord and various updates

* hassbian-config: new upgrade script hassbian (#44)

* Add base OS upgrade script

* Add base OS upgrade script

* Added sorting in the show command (#45)

* Remove extra ~~

* Update README.md

Removed
 - OpenZwave
 - Tellstick
 
Marked as not working
- Mosquitto

* Added installation script for an web terminal. (#46)

* Added install script for an web terminal

* Added instructions to webterminal script

* Fixed problem when running on stretch (#47)

* Fixed problem when running on stretch

These addistions will do this:
- Try running it normally (so if this is fixed upstream, we don't need the rest of the additions in the future)
- If first tryf fails, missing dependencies are downloaded, and tre installer runs 1 more time.

Testet with the current version on Hassbian 1.3

* Added mention that this is an workaround

* Changed function of show commad (#49)

This will use the short desctription, and will look better on a smaller terminal window

* Update scripts from dev branch (#50)

* Update scripts from dev branch

For the users living on the "bleeding edge"

* Update upgrade_hassbian-script-dev.sh

* Support for duckdns (#48)

* Initial creation of this script

* Update install_duckdns.sh

* Update install_duckdns.sh

* Update version of packge to .6

* Preperation for 0.6 (#51)

* Added new scripts, and uppdated mosquitto

* Corrected typo

* Corrected typo

* Corrected typo in URL

* Changed out gitter for github

* Corrected typo in URL

* Corrected typo in URL

* [WIP]Appdeamon install script (#52)

* Install script for Appdaemon

* Install script for Appdaemon

* Fixes for Appdaemon scripts

* Fix start of appdaemon

* Install script for MariaDB (#53)

* Add install script for MariaDB

* Add missing dependency for MariaDB

* Add docs for MariaDB script + spell fixes

* Rephrasing

* Add example for creating DB

* Add sudo where needed

* Correct name to MariaDB

* Additional database install scripts (#56)

* Add additional db install scripts

* Add documentation for db install scripts

* Razberry install script. (#57)

* Add additional db install scripts

* Add documentation for db install scripts

* Add install script for Razberry

* Add docs for install script for Razberry

* Update README.md

* Add cython3 to fix tradfri

* Attempt to fix Tradfri

* Attempt to fix Tradfri (#58)

* Attempt to fix Tradfri again

* Fiexes Trådfri (#59)

* Making sure wheel and setuptools are up to date (#62)

* Remove cython from base package since it's installed as a pip package (#64)

* Update upgrade_hassbian.sh (#67)

As of now, sudo hassbian-config show gives same description for hassbian and home-assistant upgrade script. Perhaps this is confusing that the short description is the same for both scripts?

* Simplify Tradfri install script 

Simplify script for 0.56 according to home-assistant/home-assistant.io#3672

* Add sudo exception for hassbian-config upgrade

* Initial tab autocomplete (#60)

* Fixes problem with deps during install (#61)

* Fixes problem with deps during install

* Changed instal methode
  • Loading branch information
Landrash committed Oct 29, 2017
1 parent 6e9db04 commit 8849dbf
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 2 deletions.
27 changes: 27 additions & 0 deletions package/etc/bash_completion.d/hassbian-config
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
_hassbian-config()
{
local cur prev opts
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
opts="install upgrade show"

case "${prev}" in
install)
local inst=$(find /opt/hassbian/suites/ -maxdepth 1 -type f -name 'install_*' | grep -v 'install_homeassistant.sh' | awk -F'/|_' ' {print $NF}' | awk -F. '{print $1}')
COMPREPLY=( $(compgen -W "${inst}" -- ${cur}) )
return 0
;;
upgrade)
local upd=$(find /opt/hassbian/suites/ -maxdepth 1 -type f -name 'upgrade*' | awk -F'/|_' ' {print $NF}' | awk -F. '{print $1}')
COMPREPLY=( $(compgen -W "${upd}" -- ${cur}) )
return 0
;;
*)
;;
esac

COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
return 0
}
complete -F _hassbian-config hassbian-config
4 changes: 2 additions & 2 deletions package/opt/hassbian/suites/upgrade_hassbian-script.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ function hassbian-script-show-long-info {
}

function hassbian-script-show-copyright-info {
echo "Original concept by Ludeeus <https://github.im/Ludeeus>"
echo "Original concept by Ludeeus <https://github.com/ludeeus>"
}

function hassbian-script-upgrade-package {
Expand All @@ -25,7 +25,7 @@ curl https://api.github.com/repos/home-assistant/hassbian-scripts/releases/lates
HASSBIAN_PACKAGE=$(ls | grep 'hassbian*')

echo "Installing newest release"
sudo dpkg -i $HASSBIAN_PACKAGE
sudo apt install -y /tmp/$HASSBIAN_PACKAGE

echo "Cleanup"
rm $HASSBIAN_PACKAGE
Expand Down

0 comments on commit 8849dbf

Please sign in to comment.