dresden-elektronik / deconz-rest-plugin

deCONZ REST-API plugin to control ZigBee devices
BSD 3-Clause "New" or "Revised" License
1.88k stars 485 forks source link

deCONZ on ARM64 system? #241

Closed JeremyHX closed 4 years ago

JeremyHX commented 6 years ago

Hi, I'm running my smart home from an arm64 system (the Odroid C2). It's (mostly) pin-compatible with the rpi so electrically I can connect it to my raspbee. The thing is, it's running an arm64 OS and libraries, and afaik there's no arm64 deCONZ binary available. Is there a way to run deCONZ and this plugin on an arm64 system (other than reinstalling all the dependencies in 32bit version - some don't like to be installed twice) ? Thanks, Jeremy

manup commented 6 years ago

Currently there is no other way as we just maintain the common Raspbian versions of deCONZ which are currently 32-bit. The demand for non RPi arm64 distros is just too small at the moment to assign resources to maintain a further platform.

To my understanding Raspbian may become 64-bit one day at least for RPi 3, but I'm afraid this will take a while.

jonatanolofsson commented 6 years ago

Is there any way one can aid in making this happen?

udoewich commented 5 years ago

I just got deCONZ working on my ODroid-C2 with the help of Docker. The arm64 architecture can in fact execute arm32 code, but it depends on the OS whether or not that's supported. Here's a quick step-by-step on how to set this up:

  1. Get the arm64/aarch64 armbian release for your SBC of choice. In my case I had to use the stable release, as the mainline kernel version is not yet ready for prime time.
  2. Use Etcher to flash the image to SD card or eMMC.
  3. Boot your SBC and go through initial setup (setting root password and creating a user).
  4. Log in as root.
  5. Use "armbian-config" to set your time zone and host name.
  6. Use "apt update" and "apt upgrade" to make sure everything is up to date, then reboot.
  7. Use "armbian-config" again, select "Software", "Softy" then install "Docker".
  8. Use docker run -d --name=deconz --net=host --restart=always -v /opt/deconz:/root/.local/share/dresden-elektronik/deCONZ --device=/dev/ttyUSB0 -e DECONZ_WEB_PORT=8080 marthoc/deconz:armhf to start the deCONZ container. The configuration will persist in "/opt/deconz" on the host. Make sure you have your ConBee plugged in before you start the container.
  9. Browse to [SBC IP address]:8080 to get the Phoscon start screen.

That's about it.

See https://github.com/marthoc/docker-deconz for a description of all possible parameters on container creation.

stale[bot] commented 5 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

etique57 commented 5 years ago

@udoewich thanks, very interesting.

I would like to use a tinker board S with 16GB eMMC, can you tell me if you managed to use a Raspbee or a Conbee with your setup?

Thanks!

udoewich commented 5 years ago

I'm using a ConBee, which appears as /dev/ttyUSB0 to the system. lsusb should give you something like this: Bus 001 Device 003: ID 0403:6015 Future Technology Devices International, Ltd Bridge(I2C/SPI/UART/FIFO)

It may at first appear to not being recognized. If that's the case, leave it connected and reboot, then try lsusb again.

One thing to note though: I have it working fine on Armbian 5.60 - they're now at 5.76. I've yet to get it to work with the newer build: the docker version that installs with 5.76 doesn't seem to be able to run the deCONZ armhf container anymore. No idea why.

etique57 commented 5 years ago

Thanks, working very fine on the Tinker Board.

I'm trying to figure out now if I can use my RaspBee on the tinker board.

akinomeroglu commented 5 years ago

Thanks, working very fine on the Tinker Board.

I'm trying to figure out now if I can use my RaspBee on the tinker board.

Hello,

Did you manage to run your raspbee on tinker board? Thanks

etique57 commented 5 years ago

Unfortunately not I lack the skill to understand how to achieve this...

poelsevev commented 5 years ago

i got the raspbee working with tinkerboard s Using eMMC storage.

instead of using the /dev/ttyAMAO path. i used /dev/ttyS1 on the TinkerboardS

Allso i got this working with Both normal deconz add on repository and the new ZHA(deconz) integration Hope this helps.

stale[bot] commented 4 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

manup commented 4 years ago

The arm64 port is available via APT repository for Debian Stretch distribution. Packages can also be found at https://www.dresden-elektronik.de/rpi/deconz/alpha/

sagittarius06 commented 4 years ago

I have an Odroid-C2 running archlinuxarm with mainline kernel (Linux Odroid-C2 5.4.6-1-ARCH) and the ConBee II works successfully with a deCONZ Docker Image.

See https://hub.docker.com/r/marthoc/deconz

WelterRocks commented 3 years ago

Still no arm64 support :( while Ubuntu 20.04 LTS is officially available and running on the RPI 3 and 4. Are there any plans to get the conbee stuff working on Ubuntu arm64 for Raspberry in the next few decades? If not, I will drop that conbee sticks and switch to zigbee mqtt gateway, which works out of the box.

manup commented 3 years ago

Have you tried the arm64 .deb packages mentioned above?

Stable version are now also online located under:

http://deconz.dresden-elektronik.de/debian/stable/

keesj commented 3 years ago

On Ubuntu focal (arm64) on a Odroid C4 the packages for arm64 are not available. I downloaded the .deb files above and installed them (works so far) it would be nice to support ubuntu focal on arm64!