Git Product home page Git Product logo

docker-homeseer's Introduction

HomeSeer HS3 Docker Image

This image containerizes the HomeSeer HS3 home automation software.

Current HomeSeer version: HS3 3.0.0.548

Running the HomeSeer Container

docker run -d \
    --name homeseer \
    -v /opt/homeseer:/HomeSeer \
    -v /etc/localtime:/etc/localtime:ro \
    -p 80:80 \
    -p 10200:10200 \
    -p 10300:10300 \
    -p 10401:10401 \
    -p 11000:11000 \
    --device /dev/ttyUSB0 \
    marthoc/homeseer:latest

Options:

--name homeseer: Names the container "homeseer".
-v /opt/homeseer:/HomeSeer: Bind mount /opt/homeseer (or the directory of your choice) into the container for persistent storage. This directory on the host will contain the complete HomeSeer installation and could be moved between systems if necessary (be sure to shutdown HomeSeer cleanly first, via Tools - System - Shutdown HomeSeer).
-v /etc/localtime:/etc/localtime:ro: Ensure the container has the correct localtime.
-p 80:80: Port 80, used by the HomeSeer web user interface (specify a different WebUI listen port by changing the first number, e.g. -p 8080:80 to listen on port 8080 instead).
-p 10200:10200: Port 10200, used by HSTouch.
-p 10300:10300: Port 10300, used by myHS.
-p 10401:10401: Port 10401, used by speaker clients.
-p 11000:11000: Port 11000, used by the ASCII interface.
--device /dev/ttyUSB0: Pass a USB device at /dev/ttyUSB0 (i.e. a USB Z-Wave interface) into the container; replace ttyUSB0 with the actual name of your device (e.g. ttyUSB1, ttyACM0, etc.).
marthoc/homeseer:latest: See below for descriptions of available image tags.

Available Image Tags

Tag Description
latest The latest version of HomeSeer 3 for Linux including avahi-daemon and dbus-daemon for wider plugin support

Updating HomeSeer

This image will be updated shortly after a new version of HomeSeer for Linux is released. To update, do...

docker stop homeseer [or, whatever name you gave to the container via the --name parameter] docker rm homeseer [or, whatever name you gave to the container via the --name parameter] docker pull marthoc/homeseer

...then re-create your container using the same command-line parameters used at first run. The new HomeSeer version will be downloaded and installed when the container is run. Your existing user data, plugins, etc., will be preserved.

Gotchas / Known Issues

HomeSeer is fundamentally a Windows program that runs under the Mono framework on Linux. As such, it does not correctly respond to Unix signals (e.g. SIGTERM, SIGKILL, etc. ). For this reason, the docker stop command does not cleanly shutdown HomeSeer. Instead, shutdown HomeSeer cleanly via Tools - System - Shutdown HomeSeer, which will also stop the container.

HomeSeer will be reinstalled anytime the container is deleted and re-created; when the container runs for the first time, you will see "HomeSeer (re)install/update required at container first run. Installing at /HomeSeer..." in the container log. However, your existing user data, plugins, etc., will not be affected. Subsequent container runs after the first will log "HomeSeer already installed, not (re)installing/updating...".

This image currently only runs on amd64/x86_64.

Issues / Contributing

Please raise any issues with this container, including any missing plugin dependencies, at its GitHub repo: https://github.com/marthoc/docker-homeseer. Please check the "Gotchas / Known Issues" section above before raising an Issue on GitHub in case the issue is already known.

To contribute, please fork the GitHub repo, create a feature branch, and raise a Pull Request; for simple changes/fixes, it may be more effective to raise an Issue instead.

Acknowledgments

Many improvements to this image have been made by @E1iTeDa357, including the addition of Avahi and dbus for wider plugin support, and converting the image to use s6-overlay.

Changelog

18 January 2018: Initial release.
19 January 2018: Added mono-devel.
21 February 2018: Refactored latest, changed base image to mono:5.
6 March 2019: Bumped to HS3 3.0.0.500; added Avahi and dbus; changed to s6-overlay; pinned Mono base image to prevent unintended breakage.

docker-homeseer's People

Contributors

e1iteda357 avatar marthoc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

docker-homeseer's Issues

24 Hour Clock

I am not able to change to 24 houc clock after I installed the container on my Unraid server. I had a Ubuntu Server and there I change the go file and autoupdate_hs file from export LANG=en_US.UTF-8 to export LANG=en_GB.UTF-8. But that is not working. Is it possible to make one dockerfile so Homeseer gets a 24 hour clock?

Please add avahi-daemon to the base container.

Required for airplay and chromecast plugins.
I can see other plugins wanting zeroconf along the way too.

this is what i did to get it working in a runnig container (i connected using bash process my synology docker UI can spawn)

apt-get install avahi-daemon
service dbus start
service avahi-daemon start

i have no idea what you would change in your startup script (i am really not a linux person - i poke and hope)

HS4 plans?

Hi @marthoc,

I realise there is already a fork of this project for the HS4 beta release.

If and when HS4 makes it to GA release, are you likely to:

Update this project to use HomeSeer4?
Create your own fork for HS4?
Assist/maintain with @scyto on his HS4 fork?
Ignore HS4 and remain focused only on HS3?

I'm currently experimenting with moving from an existing HS3 setup (on a windows VM) to dockerized HS4 on top of Ubuntu 20.04. Trying to do some crystal ball gazing about how viable that approach will be long term.

Thanks for your time.

Wiki page is read only?

I think the wilki page might be read one, i have edited other wikis before but there is no edit button and clone in desktop doesn't give me anything i can edit and error with a permissions error.

Sonos Error - SQLite

Sonos plugin isn't able to build its DB - seeing these errors in the log after fresh install of HS3 and Sonos beta plugin -

Jun-23 1:18:17 PM Sonos Error An Error occurred in BuildTrackDatabase for zoneplayer = Bedroom Sonos. Error = Could not load file or assembly 'System.Data.SQLite, Version=1.0.87.0, Culture=neutral, PublicKeyToken=db937bc2054ff139' or one of its dependencies.

Jun-23 1:18:16 PM Device Control Device: Sonos Master Master to BuildDB (1004) by/from: CAPI Control Handler

Jun-23 1:17:30 PM Sonos Error Error in TransportStateChange getting track info. Error = Could not load file or assembly 'System.Data.SQLite, Version=1.0.87.0, Culture=neutral, PublicKeyToken=db937bc2054ff139' or one of its dependencies.. XML =

Jun-23 1:17:30 PM Sonos Error Error in UpdateHS for Zone = Bedroom Sonos. Couldn't get transport Info with error = Could not load file or assembly 'System.Data.SQLite, Version=1.0.87.0, Culture=neutral, PublicKeyToken=db937bc2054ff139' or one of its dependencies.

Jun-23 1:17:29 PM Starting Plug-In Plugin Sonos started successfully in 4 milliseconds

Jun-23 1:17:29 PM Starting Plug-In Initializing plugin Sonos ...

Plugins Sensitive to where mono / hsconsole.exe is run from.

Hi

i have had two plugins where due to the command used to run HSConsole in the startup.sh / services.d/run file. Basically the mono HSConsole process needs to be started in the HomeSeer Directory. For example when running HSConsole.exe manuall i have to CD into /HomeSeer and then run the "mono /HomeSeer/HSConsole.exe --log" command. This has affected two plugins, one was reworked by the plug in writer. The other has the plugin writer looking at it. But probably best to fix in the image - there maybe other plugins hanging around like this.

Link to issue in HS forums https://forums.homeseer.com/showpost.php?p=1371794&postcount=9

PS took me about an hour to work out in the tag:avahi you had dumped the startup.sh and moved to somehting called a s6 init daemon :-) i tried altering the run file to:

exec cd /HomeSeer && mono /HomeSeer/HSConsole.exe --log

this still errored as per below (i am out of my depth here, this plug in won't let one save the config file on main or avahi tag builds):

`

Jun-24 19:34:10   SurveillanceStation Error System.IO.DirectoryNotFoundException: Could not find a part of the path "/run/s6/services/homeseer/Config/HSPI_SurveillanceStation.ini". at System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize, System.Boolean anonymous, System.IO.FileOptions options) [0x00164] in <71d8ad678db34313b7f718a414dfcb25>:0 at System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize, System.IO.FileOptions options, System.String msgPath, System.Boolean bFromProxy, System.Boolean useLongPath, System.Boolean checkHost) [0x00000] in <71d8ad678db34313b7f718a414dfcb25>:0 at (wrapper remoting-invoke-with-check) System.IO.FileStream..ctor(string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,int,System.IO.FileOptions,string,bool,bool,bool) at System.IO.StreamWriter.CreateFile (System.String path, System.Boolean append, System.Boolean checkHost) [0x0001c] in <71d8ad678db34313b7f718a414dfcb25>:0 at System.IO.StreamWriter..ctor (System.String path, System.Boolean append, System.Text.Encoding encoding, System.Int32 bufferSize, System.Boolean checkHost) [0x00055] in <71d8ad678db34313b7f718a414dfcb25>:0 at System.IO.StreamWriter..ctor (System.String path, System.Boolean append, System.Text.Encoding encoding, System.Int32 bufferSize) [0x00000] in <71d8ad678db34313b7f718a414dfcb25>:0 at System.IO.StreamWriter..ctor (System.String path) [0x00008] in <71d8ad678db34313b7f718a414dfcb25>:0 at (wrapper remoting-invoke-with-check) System.IO.StreamWriter..ctor(string) at IniParser.SimpleIniParser.write (System.String path) [0x00000] in :0 at IniParser.SimpleIniParser.save () [0x00000] in :0 at HSPI_SurveillanceStation.ConfigurationStore.Save () [0x001f6] in :0

`

docker: Error response from daemon

I get this error when I try to load the container:
docker: Error response from daemon: error while creating mount source path '/opt/homeseer': mkdir /opt/homeseer: read-only file system.
What can be wrong? Found out what was wrong.. had to remove snap and reinstall docker from original source..

bumping version/image on the hub

Hi, thanks for the docker, would do you mind bumping up the version on the docker hub as well, currently latest version is HS3 3.0.0.500.
Thanks again

random startup error about compiling startup.vb and scheduler.dll ?

I get this randomly, isn't every startup, does it matter?

Jun-12 06:37:51   Error Compiling script Startup.vb: Visual Basic.Net Compiler version 0.0.0.5943 (Mono 4.6 - tarball) Copyright (C) 2004-2010 Rolf Bjarne Kvinge. All rights reserved. vbnc : Command line : error VBNC2017: The library 'Scheduler.dll' could not be found. There were 1 errors and 0 warnings. Compilation took 00:00:00.3362270

Shutdown HS3 - portainer

Hello, I'm running this container on an OMV5 server, using portainer and I seem to have an issue with the shutdown function in HS3. As written in the instructions I try to use the tools/system/shutdown homeseer and as far as I can tell from the container log in portainer, the homeseer software shuts down correctly. But after a few seconds it automatically starts up again. I've tried using tools/system/shutdown system but the same thing happens. I've also fiddled around with the docker restart policy settings, but of course that didn't work either. Does anyone know how to change this so that the container actually stops when the HS3 application shuts down?
Thanks in advance!

Scheduler.dll

I'm seeing the following error in my log file when I start the :latest container

Aug-29 11:21:24 AM   Error Compiling script Startup.vb: Visual Basic.Net Compiler version 0.0.0.5943 (Mono 4.7 - tarball) Copyright (C) 2004-2010 Rolf Bjarne Kvinge. All rights reserved. vbnc : Command line : error VBNC2017: The library 'Scheduler.dll' could not be found. There were 1 errors and 0 warnings. Compilation took 00:00:00.3651340

I have confirmed that Scheduler.dll is present in the /opt/homeseer directory.

Update to latest version

Hi,

I'm running you homeseer docker container, all good, thanks for the work...
Are you able to update the image to version 3.0.0.534 ?
Thank you...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.