Install Home Assistant, Mosquitto broker and Node-Red on android

reading manifest template ‘MANIFEST.in’
no previously-included directories found matching ‘docs/_build’
warning: no previously-included files matching ‘*’ found under directory ‘vectors’
writing manifest file ‘src/cryptography.egg-info/SOURCES.txt’
running build_ext
generating cffi module ‘build/temp.linux-armv7l-3.7/_padding.c’
creating build/temp.linux-armv7l-3.7
generating cffi module ‘build/temp.linux-armv7l-3.7/_constant_time.c’
generating cffi module ‘build/temp.linux-armv7l-3.7/_openssl.c’
building ‘_openssl’ extension
creating build/temp.linux-armv7l-3.7/build
creating build/temp.linux-armv7l-3.7/build/temp.linux-armv7l-3.7
arm-linux-androideabi-clang -mfloat-abi=softfp -mfpu=vfpv3-d16 -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -march=armv7-a -mfpu=neon -mfloat-abi=softfp -mthumb -Os -march=armv7-a -mfpu=neon -mfloat-abi=softfp -mthumb -Os -fPIC -I/data/data/com.termux/files/usr/include/python3.7m -c build/temp.linux-armv7l-3.7/_openssl.c -o build/temp.linux-armv7l-3.7/build/temp.linux-armv7l-3.7/_openssl.o -Wconversion -Wno-error=sign-conversion
build/temp.linux-armv7l-3.7/_openssl.c:498:10: fatal error: ‘openssl/opensslv.h’ file not found
#include <openssl/opensslv.h>
^~~~~~~~~~~~~~~~~~~~
1 error generated.

Install openssl-dev

pkg install openssl-dev
1 Like

Thank you very much, it worked.

after entering the hass command until I get this error

File “/data/data/com.termux/files/usr/lib/python3.7/ctypes/init.py”, line 374, in getitem
func = self._FuncPtr((name_or_ordinal, self))
AttributeError: undefined symbol: getifaddrs

That error is related to discovery component. Upgrading android or flashing custom rom helped some people. Search this thread.

Hi @vladosam, thank you very much for a great tutorial!

I’m trying to run Node-RED at login but can’t figure out the best way to do this:

`Termux:Boot` doesn't start NR

/data/data/com.termux/files/home/.termux/boot/start-sshd

termux-wake-lock # seems fine
node-red --node-args="--max-old-space-size=128" -- -v # ignored
node-red # ignored
sshd # 👌 

Specifying Termux in AutoStart app *works* but opens up Termux

Enabling Goto Home screen after autostart doesn’t help.


  1. The ultimate question: How is it possible to start Node-RED on Android boot w/o opening the Termux UI? Not using Termux is even better.
  2. pm2 save saves the process list and creates a startup script to run only on Termux boot: is this correct?
  3. Is pm2 startup possible on unrooted Android? It seems to be using systemd. Probably something else can be used?
  4. Can pm2 resurrect help in any way?

Thank you for your help! :kissing_heart:

You are welcome. :slight_smile: I don’t use termux on a daily basis so when someone asks something i first need to read my tutorial :smiley: Now for your problem of starting node-red i found that you can use Termux:Boot. Add this in your start-sshd file and reboot phone.

termux-wake-lock # seems fine
termux-fix-shebang $(which node-red)
node-red --node-args="--max-old-space-size=128"
sshd

pm2 startup don’t work on android. pm2 resurrect restores applications saved with pm2 save but only when you open termux. Use Termux:Boot to solve your problem. Than you don’t need to open Termux UI.

2 Likes

Wow you are so awesome!!! Thank you!
It finally works! :clap::clap:

However, I can’t make git to work, despite it’s available in Termux:

You can’t get https://flows.nodered.org/node/node-red-contrib-git-nodes working?

1 Like

Unfortunately, nothing worked:

  • node-red-contrib-git-nodes returns git command error though everything seems to be configured correctly :man_shrugging:t4:
  • node-red-contrib-git-ui even after manual git init gives:
    Error Checking out Staging!
    fatal: not a git repository (or any parent up to mount point /) Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
  • node-red-contrib-github is an API wrapper that doesn’t seem to have push

UPD after restarting, the built-in git started to work (probably after manual git init inside the project) :tada::partying_face: Sweet!

You are so helpful!!! Can I ask you one last thing?
Could you advise how can I configure a reverse proxy for this NR?

https://flows.nodered.org/node/node-red-contrib-git-nodes works for me. Start node-red from command line and not from termux:boot. Once you configure ssh in github and you push something from node-red check termux and allow new connection to github.

Yeah luckily the built-in git client started to work after I restarted the device.
Thanks again for your help!

1 Like

Getting this error on Pie ROM in venv

ERROR (SyncWorker_0) [homeassistant.util.package] Unable to install package PyNaCl==1.3.0: Failed building wheel for PyNaCl
Could not build wheels for PyNaCl which use PEP 517 and cannot be installed directly

Activate venv and then try to install pynacl to get more verbose error.
pip install pynacl==1.3.0

It was just the missing make in the path. Now I realize you mentioned it earlier in the thread. Pitty you cannot edit your OP. Thanks.

Hello, is there a way to put the configuration.yaml file in another folder?
i have rooted my phone.
Thanks a lot
Stefano

This is from homeassistant docs:
If you want to use a different folder for configuration, use the config command line parameter: hass --config path/to/config

I have do this but i will receive a permission error…ù
is there also a way to run all the services and Hass when my phone turn on automatically?

Share hass config command. What folder you want to use for config? You can use autostart app for auto staring. Search this thread.