Coder Social home page Coder Social logo

fabric-home-assistant's Introduction

fabric-home-assistant

image

The Raspberry Pi All-In-One Installer deploys a complete Home Assistant server including support for MQTT with websockets, Z-Wave, and the Open-Zwave Control Panel.

The only requirement is that you have a Raspberry Pi with a fresh installation of Raspbian connected to your network.

Enable SSH on the Raspberry Pi for the procedure to complete. Best to do this when you write the SD card or after initial boot before you follow the rest of this procedure.

  • Login to Raspberry Pi. For example with ssh pi@your_raspberry_pi_ip
  • Run the following command
$ curl -O https://raw.githubusercontent.com/home-assistant/fabric-home-assistant/master/hass_rpi_installer.sh && sudo chown pi:pi hass_rpi_installer.sh && bash hass_rpi_installer.sh

Note this command is one line and not run as sudo

Installation will take approx. 1-2 hours depending on the Raspberry Pi model the installer is being run against.

BRUH automation has created a tutorial video explaining how to install Raspbian on your Raspberry Pi and install Home Assistant using the All-In-One Installer.

Once rebooted, your Raspberry Pi will be up and running with Home Assistant. You can access it at http://your_raspberry_pi_ip:8123.

The Home Assistant configuration is located at /home/homeassistant/.homeassistant. The virtualenv with the Home Assistant installation is located at /srv/homeassistant/homeassistant_venv. As part of the secure installation, a new user is added to your Raspberry Pi to run Home Assistant as named, homeassistant. This is a system account and does not have login or other abilities by design. When editing your configuration.yaml files, you will need to run the commands with "sudo" or by switching user. Windows users - Setting up WinSCP to allow this seemlessly is detailed below.

By default, installation makes use of a Python Virtualenv. If you wish to not follow this recommendation, you may add the flag -n to the end of the install command specified above.

The All-In-One Installer script will do the following automatically:

  • Create all needed directories
  • Create needed service accounts
  • Install OS and Python dependencies
  • Setup a python virtualenv to run Home Assistant and components inside.
  • Run as homeassistant service account
  • Install Home Assistant in a virtualenv
  • Install Mosquitto, running on ports 1883 and 9001
  • Build and Install Python-openzwave in the Home Assistant virtualenv
  • Build openzwave-control-panel in /srv/homeassistant/src/open-zwave-control-panel
  • Build and Install libcec for the hdmi component
  • Add Home Assistant to systemd services to start at boot

To change the MQTT default password:

  • Login to Raspberry Pi ssh pi@your_raspberry_pi_ip
  • Change password sudo mosquitto_passwd /etc/mosquitto/pwfile pi
  • Restart mosquitto sudo systemctl restart mosquitto.service
  • Be sure to update your configuration.yaml to reflect the new password.

To launch the OZWCP webapp:

  • Login to Raspberry Pi ssh pi@your_raspberry_pi_ip
  • Change to the ozwcp directory cd /srv/homeassistant/src/open-zwave-control-panel/
  • Launch the control panel sudo ./ozwcp -p 8888
  • Open a web browser to http://your_pi_ip:8888
  • Specify your zwave controller, for example /dev/ttyACM0 and hit initialize

don't check the USB box regardless of using a USB based device

Windows Users - Please note that after running the installer, you will need to modify settings allowing you to "switch users" to edit your configuration files. The needed change within WinSCP is: Environment -> SCP/Shell -> Shell and set it to sudo su -.

fabric-home-assistant's People

Contributors

bassclarinetl2 avatar nelisw avatar ntwb avatar robbiet480 avatar shimeez avatar

Stargazers

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

Watchers

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

fabric-home-assistant's Issues

hass_rpi_installer.sh fails with syntax error

When running hass_rpi_installer.sh on raspbian, I get the following exception:

Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/fabric/main.py", line 666, in main
    docstring, callables, default = load_fabfile(fabfile)
  File "/usr/local/lib/python2.7/dist-packages/fabric/main.py", line 167, in load_fabfile
    imported = importer(os.path.splitext(fabfile)[0])
  File "/home/pi/fabric-home-assistant/fabfile.py", line 177
    fabric.contrib.files.append("/home/hass/.homeassistant/configuration.yaml", hacfg, use_sudo=True)

Raspberry Pi B, rev 000f

Mosquitto starts but needs to be restarted

Running latest Jessie.

After I boot my pi up, Mosquitto needs to be restarted before clients will be able to detect the server.

If I type "mosquitto" in the terminal then I get the message that Mosquitto is working. Clients however are unable to find the servers.

pi@raspberrypi:~ $ mosquitto
1495362619: mosquitto version 1.4.11 (build date Mon, 20 Feb 2017 22:47:27 +0000) starting
1495362619: Using default config.
1495362619: Opening ipv4 listen socket on port 1883.
1495362619: Error: Address already in use

I need to restart Mosquitto before clients will be able to find the server.

These commands work however clients will be unable to find the server:

sudo /etc/init.d/mosquitto stop
sudo /etc/init.d/mosquitto start

This works for getting the clients to connect:

sudo /etc/init.d/mosquitto stop
mosquitto -d

script not accepting password

.
.
.
Your Raspberry Pi will reboot when the installer is complete.
Install is starting...
[localhost] sudo: apt-get update
[localhost] Login password for 'pi': 
[localhost] Login password for 'pi': 

what exactly does the script do with the password? I have the ssh disabled for the user pi and I'm strictly using certificates. Is the script trying to login or just using sudo? (I gave the user pi sudo rights)

Hardcoded pip location

hass_rpi_installer.sh assumes pip is installed at /usr/bin/pip. My installations has it located at /usr/local/bin/pip.

script fails on first run but completes on second

First run through on a fresh jessie lite image fails with the following errors:

The following packages will be REMOVED:
apt-listchanges
0 upgraded, 0 newly installed, 1 to remove and 65 not upgraded.
After this operation, 457 kB disk space will be freed.
(Reading database ... 34370 files and directories currently installed.)
Removing apt-listchanges (2.85.13+nmu1) ...
Processing triggers for man-db (2.7.0.2-5) ...
install: unrecognized option '--upgrade'
Try 'install --help' for more information.
install: unrecognized option '--upgrade'
Try 'install --help' for more information.
install: missing destination file operand after ‘pycrypto’
Try 'install --help' for more information.
install: missing destination file operand after ‘cryptography’
Try 'install --help' for more information.
install: missing destination file operand after ‘packaging’
Try 'install --help' for more information.
install: missing destination file operand after ‘appdirs’
Try 'install --help' for more information.
install: missing destination file operand after ‘six’
Try 'install --help' for more information.
install: missing destination file operand after ‘fabric’
Try 'install --help' for more information.
Cloning into 'fabric-home-assistant'...
remote: Counting objects: 290, done.
remote: Compressing objects: 100% (15/15), done.
remote: Total 290 (delta 6), reused 0 (delta 0), pack-reused 275
Receiving objects: 100% (290/290), 130.70 KiB | 0 bytes/s, done.
Resolving deltas: 100% (162/162), done.
Checking connectivity... done.
hass_rpi_installer.sh: line 139: fab: command not found

removing ~/fabric-home-assistant and re-running completes the fabric install successfully.

Installation Fails

Fresh install of 2016-09-23-raspbian-jessie-lite.img on a Raspberry Pi 3

Initially tried wget but it failed with a TLS error:
pi@raspberrypi:~ $ wget -Nnv https://raw.githubusercontent.com/home-assistant/fabric-home-assistant/master/hass_rpi_installer.sh && bash hass_rpi_installer.sh
GnuTLS: A TLS fatal alert has been received.
GnuTLS: received alert [0]: Close notify
Unable to establish SSL connection.

Manually downloaded hass_rpi_installer.sh and then ran it from ~/

Installation progress including failure shown in pastebin log:

http://pastebin.com/Rg94t0wV

Question : Is there a preinstalled image ?

I am having a hard time installing it on my raspberry pi. I wonder if you have pre installed image it would be easier to get started. Please let me know. Keep up the good work !!

UnicodeEncodeError: 'ascii' codec can't encode character '\u2018'

I'm getting the following error while running the installer on a raspberry pi 1 B. Any ideas?

Traceback (most recent call last):
  File "/usr/local/lib/python3.4/dist-packages/fabric/main.py", line 762, in main
    *args, **kwargs
  File "/usr/local/lib/python3.4/dist-packages/fabric/tasks.py", line 385, in execute
    multiprocessing
  File "/usr/local/lib/python3.4/dist-packages/fabric/tasks.py", line 275, in _execute
    return task.run(*args, **kwargs)
  File "/usr/local/lib/python3.4/dist-packages/fabric/tasks.py", line 172, in run
    return self.wrapped(*args, **kwargs)
  File "/home/pi/fabric-home-assistant/fabfile.py", line 308, in deploy
    setup_dirs()
  File "/home/pi/fabric-home-assistant/fabfile.py", line 87, in setup_dirs
    sudo("mkdir homeassistant")
  File "/usr/local/lib/python3.4/dist-packages/fabric/network.py", line 682, in host_prompting_wrapper
    return func(*args, **kwargs)
  File "/usr/local/lib/python3.4/dist-packages/fabric/operations.py", line 1149, in sudo
    capture_buffer_size=capture_buffer_size,
  File "/usr/local/lib/python3.4/dist-packages/fabric/operations.py", line 934, in _run_command
    capture_buffer_size=capture_buffer_size)
  File "/usr/local/lib/python3.4/dist-packages/fabric/operations.py", line 816, in _execute
    worker.raise_if_needed()
  File "/usr/local/lib/python3.4/dist-packages/fabric/thread_handling.py", line 26, in raise_if_needed
    six.reraise(e[0], e[1], e[2])
  File "/usr/local/lib/python3.4/dist-packages/six.py", line 686, in reraise
    raise value
  File "/usr/local/lib/python3.4/dist-packages/fabric/thread_handling.py", line 13, in wrapper
    callable(*args, **kwargs)
  File "/usr/local/lib/python3.4/dist-packages/fabric/io.py", line 31, in output_loop
    OutputLooper(*args, **kwargs).loop()
  File "/usr/local/lib/python3.4/dist-packages/fabric/io.py", line 161, in loop
    self._flush(printable_bytes)
  File "/usr/local/lib/python3.4/dist-packages/fabric/io.py", line 52, in _flush
    self.stream.write(text)
UnicodeEncodeError: 'ascii' codec can't encode character '\u2018' in position 24: ordinal not in range(128)
Disconnecting from localhost... done.

user intervention needed during raspberrypi-sys-mods section

Not sure if this is a problem, but it might be something new and unexpected for the script. I'm using the latest Jessie Lite image 2016-09-23 and ran the master 19fba9b


[localhost] out: 98% [25 raspberrypi-bootloader 1,390 kB/3,168 kB 44%]             1,664 kB/s 1s
[localhost] out: 98% [25 raspberrypi-bootloader 1,822 kB/3,168 kB 58%]             1,664 kB/s 0s
[localhost] out: 99% [25 raspberrypi-bootloader 2,314 kB/3,168 kB 73%]             1,664 kB/s 0s
[localhost] out: 100% [25 raspberrypi-bootloader 2,897 kB/3,168 kB 91%]            1,664 kB/s 0s
[localhost] out: 100% [Working]                                                    1,664 kB/s 0s
[localhost] out:                                                                                
[localhost] out: Get:26 http://archive.raspberrypi.org/debian/ jessie/ui raspi-config all 20161102 [16.8 kB]
[localhost] out: 
[localhost] out: 100% [26 raspi-config 0 B/16.8 kB 0%]                             1,664 kB/s 0s
[localhost] out: 100% [Working]                                                    1,664 kB/s 0s
[localhost] out:                                                                                
[localhost] out: Fetched 71.9 MB in 28s (2,489 kB/s)
[localhost] out: Reading changelogs... 3%
[localhost] out: Reading changelogs... 7%
[localhost] out: Reading changelogs... 11%
[localhost] out: Reading changelogs... 15%
[localhost] out: Reading changelogs... 19%
[localhost] out: Reading changelogs... 23%
[localhost] out: Reading changelogs... 26%
[localhost] out: Reading changelogs... 30%
[localhost] out: Reading changelogs... 34%
[localhost] out: Reading changelogs... 38%
[localhost] out: Reading changelogs... 42%
[localhost] out: Reading changelogs... 46%
[localhost] out: Reading changelogs... 50%
[localhost] out: Reading changelogs... 53%
[localhost] out: Reading changelogs... 57%
[localhost] out: Reading changelogs... 61%
[localhost] out: Reading changelogs... 65%
[localhost] out: Reading changelogs... 69%
[localhost] out: Reading changelogs... 73%
[localhost] out: Reading changelogs... 76%
[localhost] out: Reading changelogs... 80%
[localhost] out: Reading changelogs... 84%
[localhost] out: Reading changelogs... 88%
[localhost] out: Reading changelogs... 92%
[localhost] out: Reading changelogs... 96%
[localhost] out: Reading changelogs... 100%
[localhost] out:                           
[localhost] out: Reading changelogs... Done
[localhost] out: 
[localhost] out: raspberrypi-sys-mods (20161018+3) jessie; urgency=medium
[localhost] out: 
[localhost] out:   * The 20161018 release has introduced a /etc/sudoers.d/010_pi-nopasswd file.
[localhost] out:     - The file is installed even if the "pi ALL=(ALL) NOPASSWD: ALL" entry has been
[localhost] out:       previously removed from /etc/sudoers by the user.
[localhost] out:     - If you do not want the entry to exist, please comment out or remove 010_pi-nopasswd.
[localhost] out:     - If upgrading to 20161018+3 from a version earlier than 20161018, the line in
[localhost] out:       010_pi-nopasswd is automatically commented out if the entry doesn't exist in sudoers.
[localhost] out:     - See https://github.com/RPi-Distro/raspberrypi-sys-mods/issues/6
[localhost] out: 
[localhost] out:  -- Serge Schneider <[email protected]>  Wed, 19 Oct 2016 10:52:07 +0100
[localhost] out: 
[localhost] out: (q to quit)

at this point, q and enter to continue.

Unable to start OZWCP on RPi AiO

Home Assistant release (hass --version):
0.38.2

Python release (python3 --version):
Python 3.4.3

Description of problem:
Unable to start OZWCP.

$ cd /srv/homeassistant/src/open-zwave-control-panel/
$ sudo ./ozwcp -p 8888
sudo: ./ozwcp: command not found

Steps to reproduce:
Clean install latest raspian Jessie lite
Clean install Home Assistant .38.2 AiO

All in one installer fails to install

Raspberry pi 2
2016-05-27-raspbian-jessie 4.4
python 3.4.2

Traceback:

Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/fabric/main.py", line 666, in main
    docstring, callables, default = load_fabfile(fabfile)
  File "/usr/local/lib/python2.7/dist-packages/fabric/main.py", line 167, in load_fabfile
    imported = importer(os.path.splitext(fabfile)[0])
  File "/home/pi/fabric-home-assistant/fabfile.py", line 177
    fabric.contrib.files.append("/home/hass/.homeassistant/configuration.yaml", hacfg, use_sudo=True)
         ^
SyntaxError: invalid syntax

Additional info:
When trying to install the all in one script I get this error and the installation stops.
2 days ago when it was HASS 0.24.1 it worked perfectly on the same raspberry pi.

I tried another SD-card but had the same effect.

The only thing I did before running:

$ wget -Nnv https://raw.githubusercontent.com/home-assistant/fabric-home-assistant/master/hass_rpi_installer.sh && bash hass_rpi_installer.sh

was expand the filesystem, change the password and change the timezone.

I did these actions 2 days ago too.

Front-end does not load after AiO Installation

After install I am unable to load the front-end. Inspection of the configuration.yaml shows that only mqtt settings are present.

Adding the following to the configuration.yaml

http:
  api_password: xxxxx
  server_port: 443
  ssl_certificate: /etc/letsencrypt/live/xx.duckdns.org/fullchain.pem
  ssl_key: /etc/letsencrypt/live/xx.duckdns.org/privkey.pem

From there I manually start HA as follows:

(homeassistant_venv) pi@raspberrypi:/etc/letsencrypt $  sudo /srv/homeassistant/homeassistant_venv/bin/python3 /srv/homeassistant/homeassistant_venv/bin/hass -c /home/homeassistant/.homeassistant

The system appears to start up but then when I point my browser at it I get:

ERROR:homeassistant.core:Error doing job: Fatal read error on SSL transport
Traceback (most recent call last):
  File "/usr/lib/python3.4/asyncio/selector_events.py", line 825, in _read_ready
    data = self._sock.recv(self.max_size)
  File "/usr/lib/python3.4/ssl.py", line 730, in recv
    return self.read(buflen)
  File "/usr/lib/python3.4/ssl.py", line 619, in read
    v = self._sslobj.read(len or 1024)
ssl.SSLError: [SSL: SSLV3_ALERT_BAD_CERTIFICATE] sslv3 alert bad certificate (_ssl.c:1769)

And the browser returns 404: Not Found

There is possibly one error in the log but it looks like the install was not interrupted:

[localhost] out: Searching for gevent-socketio>=0.3.6
[localhost] out: Reading https://pypi.python.org/simple/gevent-socketio/
[localhost] out: Downloading https://pypi.python.org/packages/57/8f/16b508f602cff2dd506636b8d415e39cacb3400d49e885f002bf6436a777/gevent-socketio-0.3.6.tar.gz#md5=33f745d74885366a07da516c000854b6
[localhost] out: Best match: gevent-socketio 0.3.6
[localhost] out: Processing gevent-socketio-0.3.6.tar.gz
[localhost] out: Writing /tmp/easy_install-mt4m1toa/gevent-socketio-0.3.6/setup.cfg
[localhost] out: Running gevent-socketio-0.3.6/setup.py -q bdist_egg --dist-dir /tmp/easy_install-mt4m1toa/gevent-socketio-0.3.6/egg-dist-tmp-tu4sqjfz
[localhost] out: /srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages/setuptools/dist.py:342: UserWarning: The version specified (':versiontools:versiontools') is an invalid version, this may not work as expected with newer versions of setuptools, pip, and PyPI. Please see PEP 440 for more details.
[localhost] out:   "details." % self.metadata.version
[localhost] out:
[localhost] out: Installed /tmp/easy_install-mt4m1toa/gevent-socketio-0.3.6/.eggs/versiontools-1.9.1-py3.4.egg
[localhost] out: warning: no previously-included files found matching 'socketio/.ropeproject/*'
[localhost] out: warning: no previously-included files found matching 'socketio/sample_protocol_for_doc.py'
[localhost] out:   File "build/bdist.linux-armv7l/egg/socketio/namespace.py", line 170
[localhost] out:     print "ERROR: No such callback for ackId %s" % packet['ackId']
[localhost] out:                                                ^
[localhost] out: SyntaxError: Missing parentheses in call to 'print'
[localhost] out:
[localhost] out:   File "build/bdist.linux-armv7l/egg/socketio/server.py", line 108
[localhost] out:     except error, ex:
[localhost] out:                 ^
[localhost] out: SyntaxError: invalid syntax
[localhost] out:
[localhost] out:   File "build/bdist.linux-armv7l/egg/socketio/virtsocket.py", line 365
[localhost] out:     except (ValueError, KeyError, Exception), e:
[localhost] out:                                             ^
[localhost] out: SyntaxError: invalid syntax
[localhost] out:
[localhost] out:   File "build/bdist.linux-armv7l/egg/socketio/packet.py", line 156
[localhost] out:     except ValueError, e:
[localhost] out:                      ^
[localhost] out: SyntaxError: invalid syntax
[localhost] out:
[localhost] out: zip_safe flag not set; analyzing archive contents...
[localhost] out: socketio.__pycache__.sdjango.cpython-34: module references __path__
[localhost] out: creating /srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages/gevent_socketio-0.3.6-py3.4.egg
[localhost] out: Extracting gevent_socketio-0.3.6-py3.4.egg to /srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages
[localhost] out:   File "/srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages/gevent_socketio-0.3.6-py3.4.egg/socketio/namespace.py", line 170
[localhost] out:     print "ERROR: No such callback for ackId %s" % packet['ackId']
[localhost] out:                                                ^
[localhost] out: SyntaxError: Missing parentheses in call to 'print'
[localhost] out:
[localhost] out:   File "/srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages/gevent_socketio-0.3.6-py3.4.egg/socketio/server.py", line 108
[localhost] out:     except error, ex:
[localhost] out:                 ^
[localhost] out: SyntaxError: invalid syntax
[localhost] out:
[localhost] out:   File "/srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages/gevent_socketio-0.3.6-py3.4.egg/socketio/virtsocket.py", line 365
[localhost] out:     except (ValueError, KeyError, Exception), e:
[localhost] out:                                             ^
[localhost] out: SyntaxError: invalid syntax
[localhost] out:
[localhost] out:   File "/srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages/gevent_socketio-0.3.6-py3.4.egg/socketio/packet.py", line 156
[localhost] out:     except ValueError, e:
[localhost] out:                      ^
[localhost] out: SyntaxError: invalid syntax
[localhost] out:
[localhost] out: Adding gevent-socketio 0.3.6 to easy-install.pth file
[localhost] out:
[localhost] out: Installed /srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages/gevent_socketio-0.3.6-py3.4.egg

Is this expected?

Missing Requirement pycrypto

I couldn't run the script on a fresh intallation of Raspbian Jessy because of the missing python library pycrypto. I had to run sudo pip install pycrypto first.

No rule to make taret

Installation terminated with this:

[localhost] put: Makefile -> /srv/hass/src/open-zwave-control-panel/Makefile
[localhost] sudo: make
[localhost] out: make: *** No rule to make target '/srv/hass/src/python-openzwave/openzwave/cpp/src/Options.h', needed by 'ozwcp.o'. Stop.
[localhost] out:

Warning: sudo() received nonzero return code 2 while executing 'make'!

Subsequent attempts had the same failure.
RPi 2
Latest installation of Jessie (fresh install this AM)

Fabric keeps asking me for the password

Whatever I enter, fabric keeps asking me for my password for pi.

[localhost] Login password for 'pi':
[localhost] Login password for 'pi':
[localhost] Login password for 'pi':
[localhost] Login password for 'pi':

and so on. It makes no difference if I pass the correct password via command line, edit the fabfile or change my password. I also temporarily disabled my SSH login which made no difference as well. Does anyone else have any idea what could help?

libcec build fail

17-02-01 01:32:45 ERROR (MainThread) [homeassistant.bootstrap] Error during setup of component hdmi_cec Traceback (most recent call last): File "/srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages/homeassistant/bootstrap.py", line 151, in _async_setup_component None, component.setup, hass, config) File "/usr/lib/python3.4/asyncio/futures.py", line 388, in __iter__ yield self # This tells Task to wait for completion. File "/usr/lib/python3.4/asyncio/tasks.py", line 286, in _wakeup value = future.result() File "/usr/lib/python3.4/asyncio/futures.py", line 277, in result raise self._exception File "/usr/lib/python3.4/concurrent/futures/thread.py", line 54, in run result = self.fn(*self.args, **self.kwargs) File "/srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages/homeassistant/components/hdmi_cec.py", line 189, in setup adapter = CecAdapter(name=display_name, activate_source=False) File "/home/homeassistant/.homeassistant/deps/pycec/cec.py", line 20, in __init__ import cec ImportError: No module named 'cec' 17-02-01 01:32:48 WARNING (Thread-9) [homeassistant.components.recorder] Ended unfinished session (id=118 from 2017-01-31 03:40:02.865475) 17-02-01 01:32:48 WARNING (Thread-9) [homeassistant.components.recorder] Found unfinished sessions

HDMI cec failed when adding component to configuration.yaml on a totally fresh install of latest raspbian jessie.
Reason being, when using the AIO installer cec module ended up in /usr/local/lib/python3.4/site-packages rather than dist-packages and so the symlink created doesn't work.

Copied over cec module folder to site-packages to fix the symlink but then end up with this error:

17-02-01 01:47:52 WARNING (Thread-18) [pycec] Not initialized. Waiting for init. 17-02-01 01:47:53 WARNING (Thread-18) [pycec] Not initialized. Waiting for init. 17-02-01 01:47:54 ERROR (Thread-18) [asyncio] Exception in callback setup.<locals>._new_device(<pycec.networ...at 0x6915a590>) at /srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages/homeassistant/components/hdmi_cec.py:297 handle: <Handle setup.<locals>._new_device(<pycec.networ...at 0x6915a590>) at /srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages/homeassistant/components/hdmi_cec.py:297> Traceback (most recent call last): File "/usr/lib/python3.4/asyncio/events.py", line 120, in _run self._callback(*self._args) File "/srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages/homeassistant/components/hdmi_cec.py", line 303, in _new_device CONF_CUSTOMIZE, {}).get(key, {}).get(CONF_PLATFORM, platform), AttributeError: 'NodeListClass' object has no attribute 'get' 17-02-01 01:47:54 ERROR (Thread-18) [asyncio] Exception in callback setup.<locals>._new_device(<pycec.networ...at 0x6915a650>) at /srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages/homeassistant/components/hdmi_cec.py:297 handle: <Handle setup.<locals>._new_device(<pycec.networ...at 0x6915a650>) at /srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages/homeassistant/components/hdmi_cec.py:297> Traceback (most recent call last): File "/usr/lib/python3.4/asyncio/events.py", line 120, in _run self._callback(*self._args) File "/srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages/homeassistant/components/hdmi_cec.py", line 303, in _new_device CONF_CUSTOMIZE, {}).get(key, {}).get(CONF_PLATFORM, platform), AttributeError: 'NodeListClass' object has no attribute 'get'

libwebsockets tar.gz can't be downloaded

Original report: home-assistant/core#4739

After installing the lastest "RASPBIAN JESSIE LITE" version, update and upgrade on my Pi 3, I run the All-in-one installer. Everything except mqtt works as expected. Trying to configure Mosquitto, I found an issue with libwebsockets in the install log. This issue later prevents Mosquitto from working. I then try and goto the link libwebsockets-1.4-chrome43-firefox-36.tar.gz and found the zip is no longer there which would explain the error gzip: stdin: not in gzip format. I know later versions of libwebsockets are not compatiable with Mosquitto. Is this a bug or did I do something wrong?

Home Assistant release (hass --version):
0.34.2

Python release (python3 --version):
Python 3.4.2

OS version
RASPBIAN JESSIE LITE
Version:November 2016
Release date:2016-11-25
Kernel version:4.4
PRETTY_NAME="Raspbian GNU/Linux 8 (jessie)"
NAME="Raspbian GNU/Linux"
VERSION_ID="8"
VERSION="8 (jessie)"

Hardware
these are the specs for all 4 processors
processor : 3

model name : ARMv7 Processor rev 4 (v7l)
BogoMIPS : 38.40
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4

Log file

[localhost] sudo: curl -O https://libwebsockets.org/git/libwebsockets/snapshot/libwebsockets-1.4-chrome43-firefox-36.tar.gz
[localhost] out:
[localhost] out: SSH is enabled and the default password for the 'pi' user has not been changed.
[localhost] out: This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password.
[localhost] out:
[localhost] out:   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
[localhost] out:                                  Dload  Upload   Total   Spent    Left  Speed
[localhost] out:
[localhost] out:   0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
[localhost] out:   0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0
[localhost] out: 100  2469    0  2469    0     0   1169      0 --:--:--  0:00:02 --:--:--  1170
[localhost] out: 100  2469    0  2469    0     0   1168      0 --:--:--  0:00:02 --:--:--  1169
[localhost] out:

[localhost] sudo: tar xvf libwebsockets*
[localhost] out:
[localhost] out: SSH is enabled and the default password for the 'pi' user has not been changed.
[localhost] out: This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password.
[localhost] out:
[localhost] out:
[localhost] out: gzip: stdin: not in gzip format
[localhost] out: tar: Child returned status 1
[localhost] out: tar: Error is not recoverable: exiting now
[localhost] out:

...

[localhost] out: mosquitto.c:47:29: fatal error: libwebsockets.h: No such file or directory
[localhost] out:  #  include <libwebsockets.h>
[localhost] out:                              ^
[localhost] out: compilation terminated.
[localhost] out: Makefile:15: recipe for target 'mosquitto.o' failed
[localhost] out: make[1]: *** [mosquitto.o] Error 1
[localhost] out: make[1]: Leaving directory '/srv/hass/src/mosquitto-1.4.9/src'
[localhost] out: Makefile:21: recipe for target 'mosquitto' failed
[localhost] out: make: *** [mosquitto] Error 2
[localhost] out:

Installation fails with error importing SSH library

Running the installer on a fresh installed RaspberryPi 2 with this command:

wget -Nnv https://raw.githubusercontent.com/home-assistant/fabric-home-assistant/master/hass_rpi_installer.sh && bash hass_rpi_installer.sh

Results in the following error (in installation_report.txt):

Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/fabric/network.py", line 24, in <module>
    import paramiko as ssh
  File "/usr/local/lib/python2.7/dist-packages/paramiko/__init__.py", line 30, in <module>
    from paramiko.transport import SecurityOptions, Transport
  File "/usr/local/lib/python2.7/dist-packages/paramiko/transport.py", line 33, in <module>
    from cryptography.hazmat.backends import default_backend
ImportError: No module named cryptography.hazmat.backends

There was a problem importing our SSH library (see traceback above).
Please make sure all dependencies are installed and importable.

AIO installer broken

New PI 3 with 7" display 16gb sd card, after running the AIO installer I get this message.

Warning: sudo() received nonzero return code 1 while executing 'ln -s /usr/local/lib/python3.4/dist-packages/cec /srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages'!

Install: ImportError: cannot import name 'isMappingType'

When installing I get the error:

Traceback (most recent call last):
  File "/usr/local/bin/fab", line 7, in <module>
    from fabric.main import main
  File "/usr/local/lib/python3.4/dist-packages/fabric/main.py", line 13, in <module>
    from operator import isMappingType
ImportError: cannot import name 'isMappingType'

Running on:

PRETTY_NAME="Raspbian GNU/Linux 8 (jessie)"
NAME="Raspbian GNU/Linux"
VERSION_ID="8"
VERSION="8 (jessie)"
ID=raspbian
ID_LIKE=debian

AIO installation aborts

I had to reinstall HA and used the AIO installer. I had used it previously without any issues.
Right now, it just fails every single time. I have Raspbian 1.2 running on a Raspberry Pi 3.

I basically flashed the Raspbian image, entered PuTTY, updated & upgraded and ran the AIO curl. It goes without any issues for about 40min in the installation, and then it gets to a point where the RPi just restarts and looses connection to PuTTY (also tried installing w/ screen & keyboard connected, same result).

Last thing I get on the installation log is:
Warning: sudo() received nonzero return code 1 while executing 'ln -s /usr/local/lib/python3.4/dist-packages/cec /srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages'!

Here you can access the entire instalation log:
https://drive.google.com/file/d/0B8x-gIVzQ7IKeXAzbWpOeXh4WlU/view

I would love if someone could help me out. I've tried this about 7 times (formatting SD, flashing Raspbian, update & upgrade, trying to install AIO). I really running out of options and ideas, and the good guys over @ha Gitter couldn't help me also.

PS: The log file shows some dependencies as already installed because it had failed previously and this was my second try. Despite this, my last and subsequent tries - even when doing a fresh install and running AIO for the first time - all had the exact same result and same error.

Suggestion

Include a check for fabric at the begining. I am using a lite version of Jessie, and its the only thing I have to install before the installer works. Other than that GJ!

AIO installer broken on new jessie

Raspberry Pi 3
2017-07-05 Raspian Jessie (full)

[localhost] sudo: make -j4
[localhost] out: make: *** No targets specified and no makefile found.  Stop.
[localhost] out:

Warning: sudo() received nonzero return code 2 while executing 'make -j4'!


[localhost] sudo: make install
[localhost] out: make: *** No rule to make target 'install'.  Stop.
[localhost] out:

pycrypto fails

Pycrypto fails to install when using pip. The fix for this was to actually install via apt-get. Can we fix this?

Script fails when invoked via nohup

nohup is a nifty way to continue command executions after exiting the parent shell.
Unfortunately, the script breaks when invoked like this:

nohup bash hass_rpi_installer.sh &

Here's what happens on STDOUT / -ERR:

Hit http://mirror.de.leaseweb.net jessie InRelease
Hit http://archive.raspberrypi.org jessie InRelease
Hit http://mirror.de.leaseweb.net jessie/main armhf Packages
Hit http://mirror.de.leaseweb.net jessie/contrib armhf Packages
Hit http://archive.raspberrypi.org jessie/main armhf Packages
Hit http://mirror.de.leaseweb.net jessie/non-free armhf Packages
Hit http://mirror.de.leaseweb.net jessie/rpi armhf Packages
Hit http://archive.raspberrypi.org jessie/ui armhf Packages
Ign http://archive.raspberrypi.org jessie/main Translation-en_GB
Ign http://archive.raspberrypi.org jessie/main Translation-en
Ign http://archive.raspberrypi.org jessie/ui Translation-en_GB
Ign http://archive.raspberrypi.org jessie/ui Translation-en
Ign http://mirror.de.leaseweb.net jessie/contrib Translation-en_GB
Ign http://mirror.de.leaseweb.net jessie/contrib Translation-en
Ign http://mirror.de.leaseweb.net jessie/main Translation-en_GB
Ign http://mirror.de.leaseweb.net jessie/main Translation-en
Ign http://mirror.de.leaseweb.net jessie/non-free Translation-en_GB
Ign http://mirror.de.leaseweb.net jessie/non-free Translation-en
Ign http://mirror.de.leaseweb.net jessie/rpi Translation-en_GB
Ign http://mirror.de.leaseweb.net jessie/rpi Translation-en
Reading package lists...
Checking for python-dev: install ok installed
Checking for python-pip: install ok installed
Checking for python-pip: install ok installed
Requirement already satisfied (use --upgrade to upgrade): fabric in /usr/local/lib/python2.7/dist-packages
Cleaning up...
Cloning into 'fabric-home-assistant'...
[localhost] Executing task 'deploy'

    ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
    ,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,
    ,,,,,,,,,,,,,,,,,,,,,,,,,,   ,,,,,,,,,,,,,,,,,,,,,,,,,,,
    ,,,,,,,,,,,,,,,,,,,,,,,,,     ,,,,,,,,,,,,,,,,,,,,,,,,,,
    ,,,,,,,,,,,,,,,,,,,,,,,,       ,,,,,,,,,,,,,,,,,,,,,,,,,
    ,,,,,,,,,,,,,,,,,,,,,,,         ,,,,,,,,,,,,,,,,,,,,,,,,
    ,,,,,,,,,,,,,,,,,,,,,,           ,,,,,,,,,,,,,,,,,,,,,,,
    ,,,,,,,,,,,,,,,,,,,,,             ,,,,,,,,,,,,,,,,,,,,,,
    ,,,,,,,,,,,,,,,,,,,,               ,,,,,,,,,,,,,,,,,,,,,
    ,,,,,,,,,,,,,,,,,,,       ,,,,.     ,,,,,,,,,,,,,,,,,,,,
    ,,,,,,,,,,,,,,,,,,       ,,,,,,,     ,,,,,,,,,,,,,,,,,,,
    ,,,,,,,,,,,,,,,,,       ,,,,,,,,,     ,,,     ,,,,,,,,,,
    ,,,,,,,,,,,,,,,,        ,,,   ,,,      ,,     ,,,,,,,,,,
    ,,,,,,,,,,,,,,,         ,,,   ,,,       ,     ,,,,,,,,,,
    ,,,,,,,,,,,,,,          ,,,   ,,,             ,,,,,,,,,,
    ,,,,,,,,,,,,,            ,,,,,,,              ,,,,,,,,,,
    ,,,,,,,,,,,,              ,,,,,               ,,,,,,,,,,
    ,,,,,,,,,,,                ,,,                ,,,,,,,,,,
    ,,,,,,,,,,                 ,,,                 ,,,,,,,,,
    ,,,,,,,,,        ,,,       ,,,       ,,,        ,,,,,,,,
    ,,,,,,,,       ,,,,,,,     ,,,     ,,,,,,,       ,,,,,,,
    ,,,,,,,       ,,,,,,,,,    ,,,    ,,,,,,,,,       ,,,,,,
    ,,,,,,        ,,,   ,,,    ,,,    ,,,   ,,,        ,,,,,
    ,,,,,         ,,,   ,,,    ,,,    ,,,   ,,,         ,,,,
    ,,,,,,,,,,,   ,,,   ,,,    ,,,    ,,,   ,,,   ,,,,,,,,,,
    ,,,,,,,,,,,    ,,,,,,,,    ,,,    ,,,,,,,,    ,,,,,,,,,,
    ,,,,,,,,,,,      ,,,,,,    ,,,    ,,,,,,      ,,,,,,,,,,
    ,,,,,,,,,,,        ,,,,,   ,,,   ,,,,,        ,,,,,,,,,,
    ,,,,,,,,,,,          ,,,, ,,,, ,,,,,          ,,,,,,,,,,
    ,,,,,,,,,,,           ,,,, ,,, ,,,,           ,,,,,,,,,,
    ,,,,,,,,,,,            ,,,,,,,,,,,            ,,,,,,,,,,
    ,,,,,,,,,,,             ,,,,,,,,,             ,,,,,,,,,,
    ,,,,,,,,,,,              ,,,,,,,              ,,,,,,,,,,
    ,,,,,,,,,,,               ,,,,,               ,,,,,,,,,,
    ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
    ,,,,,,,,,,,                                   ,,,,,,,,,,
    ,,,,,,,,,,,   Welcome to the Home Assistant   ,,,,,,,,,,
    ,,,,,,,,,,, Raspberry Pi All-In-One Installer ,,,,,,,,,,
    ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

Your Raspberry Pi will reboot when the installer is complete.
Install is starting...
[localhost] sudo: apt-get update
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/fabric/main.py", line 745, in main
    *args, **kwargs
  File "/usr/local/lib/python2.7/dist-packages/fabric/tasks.py", line 387, in execute
    multiprocessing
  File "/usr/local/lib/python2.7/dist-packages/fabric/tasks.py", line 277, in _execute
    return task.run(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/fabric/tasks.py", line 174, in run
    return self.wrapped(*args, **kwargs)
  File "/home/pi/fabric-home-assistant/fabfile.py", line 260, in deploy
    update_upgrade()
  File "/home/pi/fabric-home-assistant/fabfile.py", line 71, in update_upgrade
    sudo("apt-get update")
  File "/usr/local/lib/python2.7/dist-packages/fabric/network.py", line 677, in host_prompting_wrapper
    return func(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/fabric/operations.py", line 1146, in sudo
    capture_buffer_size=capture_buffer_size,
  File "/usr/local/lib/python2.7/dist-packages/fabric/operations.py", line 931, in _run_command
    capture_buffer_size=capture_buffer_size)
  File "/usr/local/lib/python2.7/dist-packages/fabric/operations.py", line 813, in _execute
    worker.raise_if_needed()
  File "/usr/local/lib/python2.7/dist-packages/fabric/thread_handling.py", line 12, in wrapper
    callable(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/fabric/io.py", line 229, in input_loop
    byte = msvcrt.getch() if win32 else sys.stdin.read(1)
IOError: [Errno 9] Bad file descriptor
Disconnecting from localhost... done.

Mosquitto requires password

Taking the AiO installer as a ready to start package I stumbled on setting up mosquitto. In the end it turned out that you have to either create a password file or enable anonymous connections.

It would be great to have a hint in the readme. :)

Fatal error: sudo() received nonzero return code 128 while executing!

I am currently getting the following error:

`[localhost] out: error: RPC failed; result=56, HTTP code = 200
[localhost] out: fatal: The remote end hung up unexpectedly
[localhost] out: fatal: early EOF
[localhost] out: fatal: index-pack failed
[localhost] out:

Fatal error: sudo() received nonzero return code 128 while executing!

Requested: git clone https://github.com/OpenZWave/python-openzwave.git
Executed: sudo -S -p 'sudo password:' -u "hass" /bin/bash -l -c "cd /srv/hass/src >/dev/null && git clone https://github.com/OpenZWave/python-openzwave.git"

Aborting.
Disconnecting from localhost... done.
`

From what I can tell this is a curl error, an error about returning data. But we get a 200 response code

Raspberry pi 3, fresh install of Rasbian Jessie from NOOBS

User change from hass to homeassistant has broken existing upgrade path

While trying to upgrade my homeassistant install using fab upgrade_homeassistant, I get an error

localhost] Login password for 'pi':
[localhost] out: sudo: unknown user: homeassistant
[localhost] out: sudo: unable to initialize policy plugin
[localhost] out:


Warning: sudo() received nonzero return code 1 while executing 'source /srv/homeassistant/homeassistant_venv/bin/activate && pip3 install homeassistant --upgrade'!


Done.

My HA install was done using the user hass, not homeassistant. It looks like that change happened in commit 72b8a26 along with many other changes relating to changing the name of the user and several directories from hass to homeassistant.

Is there documentation on all changes that need to be made to update an existing install? I can rename the user and rename the home directory for that user if that's all that's necessary, but I really want to be sure.

Python version issue

Python3 on Raspbian has been updated from version 3.4 to 3.5. However, several symbolic link commands have not been updated from 'python3.4' to 'python3.5', which will result as some warnings.

[localhost] sudo: ldconfig
[localhost] sudo: ln -s /usr/local/lib/python3.4/dist-packages/cec /srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages
[localhost] out: ln: failed to create symbolic link '/srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages': No such file or directory
[localhost] out: 

Warning: sudo() received nonzero return code 1 while executing 'ln -s /usr/local/lib/python3.4/dist-packages/cec /srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages'!

Cannot execute binary file

After entering:
wget -Nnv https://raw.githubusercontent.com/home-assistant/fabric-home-assistant/master/hass_rpi_installer.sh && bash hass_rpi_installer.sh -n;

I get the error message:
/usr/bin/wget: /usr/bin/wget: cannot execute binary file

I have installed a fresh copy of Raspian Jessie using NOOBS 1.9.1 on a Raspberry Pi B+.

Can't log into desktop GUI

Starting from a fresh install of Raspbian, I was able to log into the desktop GUI fine. I next did the AIO install and everything went fine except when I try to log into the desktop GUI, it fails to login.

Same screen as this guy: https://mobile.twitter.com/Dapgicc/status/351746633186308096

I am using the right login/password because if I use the wrong one it kicks a wrong password message.

When I log-in, the screen goes black for a second and kicks me back to login page. I searched online and tried a ton of different methods and still can't login to the desktop GUI.

SSH and terminal functions work fine. I posted on Reddit and another user has the same issue.

mosquitto issue on stretch

There's a current issue with mosquitto dependencies on stretch that causes the AIO not to install mosquitto completely.
This issue --> eclipse/mosquitto#529

Workaround
Install from source suggested as a workaround (from here)

Log

[localhost] out:  mosquitto : Depends: libssl1.0.0 (>= 1.0.1) but it is not installable
[localhost] out:  mosquitto-clients : Depends: libmosquitto1 (= 1.4.14-0mosquitto1~jessie2) but it is not going to be installed
Warning: sudo() received nonzero return code 100 while executing 'apt-get install -y mosquitto mosquitto-clients'!
[localhost] put: mosquitto.conf -> /etc/mosquitto/mosquitto.conf
[localhost] out: /bin/bash: line 0: cd: /etc/mosquitto: No such file or directory
[localhost] sudo: chown mosquitto: pwfile
[localhost] out: /bin/bash: line 0: cd: /etc/mosquitto: No such file or directory
Warning: sudo() received nonzero return code 1 while executing 'chown mosquitto: pwfile'!
[localhost] out: /bin/bash: line 0: cd: /etc/mosquitto: No such file or directory
[localhost] sudo: sudo mosquitto_passwd -b pwfile pi raspberry
[localhost] out: /bin/bash: line 0: cd: /etc/mosquitto: No such file or directory
Warning: sudo() received nonzero return code 1 while executing 'sudo mosquitto_passwd -b pwfile pi raspberry'!
[localhost] sudo: sudo chown mosquitto: mosquitto.conf
[localhost] out: /bin/bash: line 0: cd: /etc/mosquitto: No such file or directory
Warning: sudo() received nonzero return code 1 while executing 'sudo chown mosquitto: mosquitto.conf'!```

Error on raspberry install

Trying with or without sudo doesn't change, the installer gives the error:
hass_rpi_installer.sh: line 81: fab: command not found

What can one do?

Optimize: Change fabfile.py to clone at depth=1

I noticed that the script currently grabs the complete commit history for each git repo. The script would execute much faster if it simply checked out a depth of 1.

For instance:

git clone https://github.com/OpenZWave/python-openzwave.git

to

git clone --depth 1 https://github.com/OpenZWave/python-openzwave.git -b python3

Perhaps this is only an issue for me at the moment as I arduously attempt to get this installed on my pi Model B over wifi.

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.