ITead out of the blue just stealth-launched pre-orders for "SONOFF iHost", sold as a “smart home hub” but if disregard its intended use it looks to be a nice 32-bit ARM single-board computer under the hood.
Wondering if this appliance can be used as such and if it first needs to be hacked in order to re-install it with Home Assistant Operating System (HassOS) or other Linux Buildroot based operating-system?
So in essence; the question is if we can reflash Sonoff iHost with our own Linux distribution(s)?
To clarify, I am personally not interested in just installing the “Home Assistant Container” (i.e. Docker container-based installation of Home Assistant Core) inside the original Sonoff iHost image that it ships with, instead I am only interested in using this hardware like it was any other single-board computer and installing the full version of the “Home Assistant Operating System” (meaning it would run that dedicated operating system that optimized run your complete Home Assistant instance, including the “Home Assistant Supervisor” to manage Home Assistant Core and Add-ons, as that is the recommended installation method that a majority of the userbase is using because it is easier to maintain and support).
The best would if it could install Home Assistant Operating System (a.k.a. HAOS, formerly HassOS), while the second best would be to run the latest Debian Linux distribution on it. At least this hardware has the potential to be a less expensive all-in-one alternative to a Raspberry Pi installation, (especially now when Raspberry Pi boards and compute modules are both scarce and too expensive).
I think what should make this all-in-one computer appliance attractive for hacking for HA users is that it, is similar to the Home Assistant Yellow, in the way that it then the ARM-based compute module with local eMMC flash memory and MicroSD card-slot for storage expansion, includes an onboard Silicon Labs EFR32MG21 Zigbee/Thread radio module (which is the radio chip that is used in Home Assistant SkyConnect USB dongle and the radio module inside the Home Assistant Yellow), as well as a Realtek RTL8723 WiFi & Bluetooth/BLE module, + NPU and VPU for NVR for smart video camera analysis.
So my question to the community is if this could be hacked to run a fork of Home Assistant Operating System or some other embedded Linux distribution operating system (e.g. Debian for ARM and Armbian builds, or stripped LibreELEC without Kodi/X.Org) which could be used to run either Home Assistant container, Home Assistant core, with integrations like the ZHA integration for Zigbee (or Zigbee2MQTT addon)?
Again, I am not asking or suggesting to run this as-is with the default operating system firmware that ships from ITead and just install the Home Assistant container on it, but instead, if this could be hacked and repurposed as an alternative to the Home Assistant Yellow by running a fork of Home Assistant OS with Supervisor on it?
The two models, that look to be referred to as “4G version” and “2G version”, have these specifications:
- Compute Module SoM (“AI Bridge Core Board”) with SoC + RAM and Flash Memory:
- Rockchip RV1126 ARM Cortex-A7 Quad-Core CPU @ 1.5 GHz with RISC-V MCU @ 400 MHz, 2D graphics engine, 2.0 TOPS NPU, 4K H.264 and H.265 hardware video decoder and encoder (for accelerated video codec and resolution transcoding), and 4GB DDR4
- Rockchip RV1109 ARM Cortex-A7 Dual-Core CPU @ 1.5 GHz with RISC-V MCU @ 400 MHz, 2D graphics engine, 1.2 TOPS NPU, 5MP H.264 and H.265 hardware video decoder and encoder (for accelerated video codec and resolution transcoding), and 2GB DDR4
- Storage:
- 8GB eMMC flash for the OS (Samsung 8GB eMMC 4.51)
- TF card slot for one MicroSD card (support max. 256GB SD-card) - SDIO0
- Connectivity
- Silicon Labs EFR32MG21 SoC radio module for Zigbee 3.0 and Thread/OpenThread
- FN-LINK 6223A-SRD wireless module with Realtek RTL8723/RTL8723DS - SDIO1/UART0
- WiFi 4 / 802.11n and BLE / Bluetooth LE 5.2 (2.4GHz only)
- 10/100Mbps Ethernet RJ45 port for wired LAN connection (Realtek RTL8201/RTL8201F) - RMII/IO
- A short RJ-45 Ethernet cable is included in the package
- YiChip YC1175 MCU - UART3 + PWRON + RST
- Reset button (hidden in a hole, requiring a reset pin to access)
- Four Buttons with LEDs input (KEY1/LED1, KEY2/LED2, KEY3/LED3, and KEY4/LED4)
- RGB LEDs - WS2812B with 10 x S5050 RGB LED lights that can be independently controlled
- Audio (PMU RK809)
- Microphone
- Speaker
- USB – 1x USB 2.0 Type-A host port (which could ex, be used for a Z-Wave Controller USB stick)
- RTC (BM8563 Real-Time-Clock via I2C2) powered by a CR2032 coin cell battery in a batery-holder slot
- Debug header - UART2
- Power – 5V/2A via USB Type-C port - USB OTG
- Power-supply is not included, only a USB-A to USB-C cable is included, (so user need to provide own USB-charger that offers at least 2.1Amp of power on one port).
- Dimensions – 120 x 41 x 135mm (ABS plastic enclosure)
Internally it uses a carrier-board design with a separate compute-module (again also similar to Home Assistant Yellow) and depending on the model you buy comes with one out of two compute modules which have slightly different specifications for CPU and system RAM-memory.strong text
@blakadder Do hacking this appliance for HA sound like it might be something right up your alley or?
More references:
- https://notenoughtech.com/home-automation/sonoff-ihost/
- https://ewelinkcommunity.net/2023/03/sonoff-places-teaser-video-of-upcoming-ihost-online-what-can-we-expect-from-this-device/
- https://ewelinkcommunity.net/2023/03/sonoff-released-their-ihost-affordable-computer-to-completely-make-your-smarthome-locally-controlled/
External interface definition:
PS: For reference, ITead/Sonoff have documentation here for their officially supported OS and firmware, and somewhat indirectly interesting is that their own operating system does offer official support for locally running third-party applications as “add-ons” via Docker Containers on the Micro SD-card, as well as external third-party integrations via an open API (eWeLink CUBE REST API local interface via HTTP requests):