All Projects → openhab → Openhabian

openhab / Openhabian

Licence: isc
openHABian - empowering the smart home, for Raspberry Pi and Debian systems

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to Openhabian

Rpi Debian Builder
Build your own Debian image for Raspberry Pi
Stars: ✭ 6 (-99.06%)
Mutual labels:  raspberry-pi, debian
Spocon
SpoCon - A Spotify Connect Client for Debian , Ubuntu and Raspberry Pi based on librespot-java
Stars: ✭ 51 (-91.97%)
Mutual labels:  raspberry-pi, debian
Atomic Toolkit
AtoMiC Toolkit simplifies HTPC / Home Server setup and management on Ubuntu and Debian variants including Raspbian. It currently supports: Couchpotato, Deluged, Emby, FFmpeg, Headphones, Htpcmanager, Jackett, Kodi, Lazylibrarian, Madsonic, Mono, Mylar, Nzbget, Nzbhydra, NzbToMedia, Ombi, Plex, Plexpy, Pyload, qBittorrent, Radarr, Sabnzbd+, Sickgear, Sickrage, Sonarr, Subsonic, Transmission, Unrar, Watcher, and Webmin.
Stars: ✭ 747 (+17.64%)
Mutual labels:  raspberry-pi, debian
88x2bu
Linux Driver for USB WiFi Adapters that are based on the RTL8812BU and RTL8822BU Chipsets
Stars: ✭ 122 (-80.79%)
Mutual labels:  raspberry-pi, debian
Piadvanced
This started as a custom install for my pihole!
Stars: ✭ 144 (-77.32%)
Mutual labels:  raspberry-pi, debian
Gosdm630
An interface for the Eastron SDM/Modbus smart meter series.
Stars: ✭ 64 (-89.92%)
Mutual labels:  openhab, raspberry-pi
Debootstick
Generate a bootable live image from any Debian/Ubuntu filesystem tree.
Stars: ✭ 48 (-92.44%)
Mutual labels:  raspberry-pi, debian
Pihole Panel
Python/GTK3 based Pi-hole (network-level adblocker) dashboard for stats and more
Stars: ✭ 125 (-80.31%)
Mutual labels:  raspberry-pi, debian
Linux Audio Adjustments
Audio Tweaks for Debian Based RPi
Stars: ✭ 140 (-77.95%)
Mutual labels:  raspberry-pi, debian
Pieman
Script for creating custom OS images for single-board computers
Stars: ✭ 149 (-76.54%)
Mutual labels:  raspberry-pi, debian
Raspap Webgui
Simple wireless AP setup & management for Debian-based devices
Stars: ✭ 3,383 (+432.76%)
Mutual labels:  raspberry-pi, debian
Open Build Service
Build and distribute Linux packages from sources in an automatic, consistent and reproducible way #obs
Stars: ✭ 599 (-5.67%)
Mutual labels:  debian
Mycroft Core
Mycroft Core, the Mycroft Artificial Intelligence platform.
Stars: ✭ 5,489 (+764.41%)
Mutual labels:  raspberry-pi
Hassio Zigbee2mqtt
Hass.io add-on for zigbee2mqtt
Stars: ✭ 547 (-13.86%)
Mutual labels:  raspberry-pi
Ustreamer
µStreamer - Lightweight and fast MJPG-HTTP streamer
Stars: ✭ 533 (-16.06%)
Mutual labels:  raspberry-pi
Qb
QuickBox is much more than a ‘seedbox installer script’, it is a simplistic approach to achieving easy seedbox and services management from a beautifully designed dashboard. Allowing users the ability to interact with their seedbox and server on a professional grade level.
Stars: ✭ 626 (-1.42%)
Mutual labels:  debian
Rpi Gpio.js
Control Raspberry Pi GPIO pins with node.js
Stars: ✭ 595 (-6.3%)
Mutual labels:  raspberry-pi
Showmewebcam
Raspberry Pi + High Quality Camera = High-quality USB Webcam!
Stars: ✭ 531 (-16.38%)
Mutual labels:  raspberry-pi
Guislice
GUIslice drag & drop embedded GUI in C for touchscreen TFT on Arduino, Raspberry Pi, ARM, ESP8266 / ESP32 / M5stack using Adafruit-GFX / TFT_eSPI / UTFT / SDL
Stars: ✭ 534 (-15.91%)
Mutual labels:  raspberry-pi
Homebridge Raspbian Image
Official Homebridge Raspberry Pi Image based on Raspbian Lite.
Stars: ✭ 534 (-15.91%)
Mutual labels:  raspberry-pi

As an openHABian end user, please check out the official openHAB documentation:

openHABian - Hassle-free openHAB Setup

GitHub ShellCheck BATS Installation Build

Setting up a fully working Linux system with all needed packages and useful tooling is a boring, lengthy albeit challenging task. Fortunately,

A home automation enthusiast doesn't have to be a Linux enthusiast!

openHABian is here to provide a self-configuring Linux system setup to meet the needs of every openHAB user, in two flavours:

  • A SD-card image pre-configured with openHAB for all Raspberry Pi models
  • As a set of scripts that sets up openHAB and tools on any Debian based system

openHAB versions 2 and 3

openHABian was created to provide a seamless User eXperience with openHAB. Now that openHAB 3 is released to the public, we have incorporated changes to run on and migrate to openHAB 3 from within openHABian.

Hardware recommendation

Let's put this first: our current recommendation is to get a RPi 4 with 2 or 4 GB, a 3 A power supply and a 16 GB SD card. Also get another 32 GB or larger SD card and a USB card reader to make use of the "auto backup" feature.

Hardware support

As of openHABian version 1.6 and later, all Raspberry Pi models are supported as hardware. Anything x86 based may work or not. Anything else ARM based such as ODroids, OrangePis and the like may work or not. NAS servers such as QNAP and Synology boxes will not work. Support for PINEA64 was dropped in this current release.

We strongly recommend that users choose Raspberry Pi 2, 3 or 4 systems to have 1 GB of RAM or more. RPi 1 and 0/0W only have a single CPU core and 512 MB. This can be sufficient to run a smallish openHAB setup, but it will not be enough to run a full-blown system with many bindings and memory consuming openHABian features/components such as zram, InfluxDB or Grafana. We do not actively prohibit installation on any hardware, including unsupported systems, but we might skip or deny to install specific extensions such as those memory hungry applications named above.

Supporting hardware means testing every single patch and every release. There are simply too many combinations of SBCs, peripherals and OS flavors that maintainers do not have available, or, even if they did, the time to spend on the testing efforts that is required to make openHABian a reliable system.

Let's make sure you understand the implications of these statements: it means that to run on hardware other than RPi 2/3/4 or (bare metal i.e. not virtualized) x86 may work but this is not supported.

It may work to install and run openHABian on unsupported hardware. If it does not work, you are welcome to find out what's missing and contribute it back to the community with a Pull Request. It is sometimes simple things like a naming string. We'll be happy to include that in openHABian so you can use your box with openHABian unless there's a valid reason to change or remove it. However, that does not make your box a "supported" one as we don't have it available for our further development and testing. So there remains a risk that future openHABian releases will fail to work on your SBC because we changed a thing that broke support for your HW - unintentionally so however inevitable.

For ARM hardware that we don't support, you can try any of the fake hardware parameters to 'simulate' RPi hardware and Raspi OS. If that still doesn't work for you, give Ubuntu or ARMbian a try.

OS support

Going beyond what the RPi image provides, as a manually installed set of scripts, we support running openHABian on x86 hardware on generic Debian. On ARM, we only support Raspberry Pi OS. These are what we develop and test openHABian against. We do not support Ubuntu so no promises. We provide code "as-is", it may work or not. Several optional components such as WireGuard or Homegear are known to expose problems.

We expect you to use the current stable distribution, 'buster' for Raspberry Pi OS (ARM) and Debian (x86). To install openHABian on anything older or newer may work or not. If you encounter issues, you may need to upgrade first or to live with the consequences of running an OS on the edge of software development.

Either way, please note that you're on your own when it comes to configuring and installing the HW with the proper OS yourself.

64 bit?

RPi3 and 4 have a 64 bit processor and you may want to run openHAB in 64 bit. We provide a 64bit version of the image but it is unsupported so use it at your own risk. Please don't ask for support if it does not work for you. It's just provided as-is. Be aware that to run in 64 bit has a major drawback: increased memory usage. That is not a good idea on a heavily memory constrained platform like a RPi. Also remember openHABian makes use of Raspberry Pi OS which as per today still is a 32 bit OS. We are closely observing development and will adapt openHABian once it will reliably work on 64 bit.

On x86 hardware, 64 bit is the standard.

Installation and Setup

Please check the official documentation article to learn about openHABian and please visit and subscribe to our community forum thread.

If you want to install openHABian on non-supported hardware, you can actually fake it to make openHABian treat your box as if it was one of the supported ones. Needless to say that that may work out or not, but it's worth a try. See openhabian for how to edit openhabian.conf before booting. Set the hw, hwarch and release parameters to match your system best.

Development

openHABian is foremost a collection of bash scripts versioned and deployed using git. In the current state the scripts can only be invoked through the terminal menu system whiptail. There is a longterm need to better separate the UI part from the script code. A work has started to define conventions and further explain the code base in the document CONTRIBUTING along with development guidelines in general.

A good place to look at to start to understand the code is the file openhabian-setup.sh.

Building Hardware Images

Take a look at the build.bash script to get an idea of the process. Run the code below with platform being rpi. The RPi image is based on the Raspberry Pi OS Lite (previously called Raspbian) standard image.

sudo bash ./build.bash platform

As the script uses openhab/openhabian git repository during installation it must sometimes be changed to test code from other repositories, like a new feature in a fork. There are two commands for replacing the git repo with a custom one.

The first command uses the current checked-out repository used in the filesystem:

sudo bash build.bash platform dev-git

The second command uses a fully customizable repository:

sudo bash build.bash platform dev-url branch url

Testing

Testing is done continuously with GitHub Actions using the test framework BATS and the linter ShellCheck. As the tests focus on installing software, a Docker solution is used for easy build-up and teardown.

To run the test suite on a amd64 platform execute the commands below. Docker and ShellCheck need to be installed first. For more details regarding the tests see Test Architecture in CONTRIBUTING.md.

docker build --tag openhabian/bats-openhabian -f Dockerfile.ubuntu-BATS .
docker run --privileged --rm --name "openhabian-bats" -d openhabian/bats-openhabian
docker exec -i "openhabian-bats" bash -c 'bats --tap --recursive --filter "development-." .'
docker exec -i "openhabian-bats" bash -c 'bats --tap --recursive --filter "unit-." .'
docker exec -i "openhabian-bats" bash -c 'bats --tap --recursive --filter "installation-." .'
docker exec -i "openhabian-bats" bash -c 'bats --tap --recursive --filter "destructive-." .'
docker stop openhabian-bats

docker build --tag openhabian/install-openhabian -f Dockerfile.amd64-installation .
docker run --privileged --rm --name "openhabian-install" -d openhabian/install-openhabian
docker exec -i "openhabian-install" bash -c "./build.bash local-test && mv ~/.profile ~/.bash_profile && /boot/first-boot.bash"
docker stop openhabian-install

The ShellCheck linter can be run by using the following commands:

shellcheck -x -s bash openhabian-setup.sh
shellcheck -x -s bash functions/*.bash
shellcheck -x -s bash build-image/*.bash
shellcheck -x -s bash build.bash ci-setup.bash

Happy Hacking!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].