"Sonoff iHost" (smart home hub/computer) from ITead - Can it be hacked to run Home Assistant OS with Bluetooth, Thread/Matter, and ZHA integrations?

Tip for a better more semi-permanent solution for shortening the maskrom could be to instead buy and use an “conductive ink pen” (i.a. a pen filled with conductive ink, a.k.a. circuit writer or circuit scribe, which can write conductive traces on circuit board and easily can be undone by wiping away the conductive ink trace with isopropyl alcohol if needed). Another alternative dirty solution is “conductive tape” with conductive adhesive (metal foil tape with electrically conductive adhesive) that is meant for creating paper circuits projects, (like for example Chibitronics STEM kits for kids):

Otherwise suggest just buying a new USB soldering iron (a.k.a smart soldering pen or pencil) which are nice to have regardless as they can simply can be powered by practically any 65W+ USB-C power-supply/ USB-C PD (Power Delivery) charger, such for example a USB-C laptop power-supply. Personally, I can warmly recommend the Pine64 Pencil V2 open-source USB smart soldering iron, (note though that most of them only come with a single fine cone soldering tip with other none-cone shaped soldering tips being sold as options separately for it, and they usually do not either come with any solder wire, flux paste, or solder wick, however, that can simply to be bought as a kit, nor does it include a USB-C PD cable rated for 100W which you also need).

This one if is open source so there are many alternative manufacturers making clones/replicas of it, and all of these new smart USB soldering irons are relatively inexpensive and super easy to use, offer very flexible utility, and take up almost no space so can quickly be stored away almost anywhere, (my only complaint with Pine64 PENCIL V2 is the same as most already written, that it only ships with one tip and that fact that tip is cone-shaped instead of a small chisel/wedge tip). Anyway, a smart soldering iron is another awesome geeky gadget to own, so check out:

PS: The Pine64 Pencil V2 open-source USB smart soldering iron has Bluetooth built-in so could probably create an integration for Home Assistans, (for reference there is an phone app called PineTool for it).

Quote from a post by darkxst in eWeLink Forum → https://forum.ewelink.cc/t/more-hardware-information-of-ihost-for-helping-porting-haos/21641/84

That is very cool news!

Hi, what I am doing wrong?
Booting from sd-card (so far I am scared to override the eMMC),
iHost 4GB, HAOS 11.1.rc2
Bluetooth, zigbee, esphome, led indicator all work as a charm, but update to latest core is not working:

23-12-11 17:25:47 INFO (MainThread) [supervisor.homeassistant.core] Updating Home Assistant to version 2023.12.1
23-12-11 17:25:47 INFO (MainThread) [supervisor.docker.interface] Updating image ghcr.io/home-assistant/tinker-homeassistant:2023.11.3 to ghcr.io/home-assistant/tinker-homeassistant:2023.12.1
23-12-11 17:25:47 INFO (MainThread) [supervisor.docker.interface] Downloading docker image ghcr.io/home-assistant/tinker-homeassistant with tag 2023.12.1.
23-12-11 17:25:50 INFO (MainThread) [supervisor.updater] Fetching update data from https://version.home-assistant.io/stable.json
23-12-11 17:25:50 INFO (MainThread) [supervisor.store.git] Update add-on https://github.com/esphome/home-assistant-addon repository
23-12-11 17:25:50 INFO (MainThread) [supervisor.store.git] Update add-on https://github.com/CoolKit-Technologies/ha-addon repository
23-12-11 17:25:50 INFO (MainThread) [supervisor.store.git] Update add-on https://github.com/hassio-addons/repository repository
23-12-11 17:25:50 INFO (MainThread) [supervisor.store.git] Update add-on https://github.com/home-assistant/addons repository
23-12-11 17:25:50 WARNING (MainThread) [supervisor.updater] Board 'ihost' not found in version file. No OS updates.
23-12-11 17:25:56 INFO (MainThread) [supervisor.store] Loading add-ons from store: 72 all - 0 new - 0 remove
23-12-11 17:25:56 INFO (MainThread) [supervisor.store] Loading add-ons from store: 72 all - 0 new - 0 remove
23-12-11 17:28:09 ERROR (MainThread) [supervisor.docker.interface] Can't install ghcr.io/home-assistant/tinker-homeassistant:2023.12.1: 404 Client Error for http+docker://localhost/v1.43/images/ghcr.io/home-assistant/tinker-homeassistant:2023.12.1/json: Not Found ("No such image: ghcr.io/home-assistant/tinker-homeassistant:2023.12.1")
23-12-11 17:28:09 WARNING (MainThread) [supervisor.homeassistant.core] Updating Home Assistant image failed

Many thanks for your work and enjoy coffees.

The soldering of maskrom pads is only required for people who want to keep the stock OS in place. I know of atleast one person who installed a switch so they can switch beetwen stock OS and HAOS at a whim.

Thanks for the Coffees @nofak !

Seems that is failing to download the updated image. Maybe try again later, generally 2023.12.1 is working fine on iHost from what I have heard.

There is one change to ZHA which requires changing the flow control settings:

Not sure yet if this is a bug that will be fixed, or the new normal!

ok for me everything works
Capture d'écran 2023-12-12 185751

1 Like

I was running mine all well for 2 days on a 32gb sandisk card and a few moments ago I lost connection. I tried restarting the ihost and even checked the solder but nothing. I then removed the solder to open maskrom again and see if it would boot to ihost software. That went all well. I now flashed another SD card and it seems that I am now starting a fresh install so the card reader is working (after shorting the 2 pins with solder again).

I tried to open a console from my windows pc to the com port of the machine but connection is always rejected so I really do not know what happened but I guess the sd card stopped working, and that after only 2 days. It sucks because it took me these 2 days to set everything up and now I have to start all over. My question now is: is there a way to savage the contents of the sd card (backup or whatever) to copy to the new install? Windows only tells me that the card needs a format and I do not have a linux OS running.

edit: found a free tool calle linux reader and it says the card and all the haos folders but I can’t open any of them unfortunately.

Backups are stored in /backups folder, on the sd card this is most likely in the data partition which is last partition (should be partition 8). It will be formatted in ext4, which windows can’t natively read, however if you install WSL you should be able to mount and read the partition (provided the sd card is not completely dead)

Fwiw, I’ve lost atleast 2 brand new, supposedly genuine, sd cards, one sandisk and one kingston in recent times, flashed once and then dead subsequently, seemingly quality is not a thing anymore!

Recommendation is specifically to use genuine SD card with Application Performance Class 2 (A2) cards for Home Assistant as best resistant against wear (though that are slower than other classes), so make sure to buy Class A2 and do not just look at a brand. Other than being “A2” class make sure it really is "genuine" as there are loads of counterfeit/fake SD-cards being sold as real.

Thanks for the info guys, good to know that it did not only happen to me :slight_smile:
I got a brand new Samsung evo plus 128gb in it now, it says A2 v30.
If this one dies soon I just flash the internal emmc.
I will try wit WSL to mount the old one and see if I can get a backup back.

Also make sure that you always backup to external sources. I backup Home Assistant’s configuration to both my NAS (SMB share) via Samba Backup add-on and to Google Drive via that addon, that way get both off-line and remote cloud backups, but you can also do backup to a USB drive as well.

1 Like

Guys, after 2 weeks testing HAOS on Ihost I must say that Ihost zigbee radio is CRAP. Signal is incredible weak as on orginal firmware. That’s probably because it is integrated and has a lot of noise.
Z2M is very unstable and I coldnt connect Dongle E as a router. I had also a lot of problems with connectig sonoff and tuya sensors.
ZHA is even worse.
So I had to connect Dongle E as a coordinator and must say that Z2M works perfect. With Ihost radio I had to reconfigure my network every day.

It seems to work OK, but you need to choose a channel that isnt affected by interference. You can check the ZHA energy scan in the diagnostic logs for this.

@dipalomeri as mentioned, if using Home Assistant’s ZHA integration then you can “Download diagnostics” from the Zigbee Coordinator adapter entity and there for the “energy_scan” entry which shows a snapshot of the Zigbee channels that had the most noise at that specific time. Check out this post → I tracked channel utilization with ZHA to find the best Zigbee channel

If not using the ZHA integration then you can still perform a Zigbee energy scan with zigpy-cli → https://github.com/zigpy/zigpy-cli (zigpy-cli is a Python tool that should already be installed as part of Home Assistant’s ZHA component, so believe you only need to gain access to the correct Docker container and temporarily disable ZHA to run any of the tools, via for example the “Advanced SSH & Web Terminal” addon, but you must temporarily disable the ZHA integration if using that).

While you should try changing the Zigbee channel, you more importantly also need to be sure to always connect at least a few good Zigbee Router devices before connecting any Zigbee End Devices as they should preferably connect indirectly through Zigbee routers instead of directly.

Regardless of what Zigbee gateway solution and Zigbee Controller adapter using you should follow Zigbee best practices which involves both trying to avoid having possible sources of EMF/EMI/RMI close to any Zigbee devices and adding enough Zigbee Router devices to work around the limited range and coverage of Zigbee radios, as they all have short range and very poor wall penetration and as such rely on you having many Zigbee Router on the same network.

I highly recommend that read and try to follow this which includes taking some active actions → Zigbee networks: how to guide for avoiding interference and optimize for getting better range + coverage

Personally, I suggest buying at least three or more dedicated Zigbee Router devices that are always powered and connected. To get the “best-of-the” Zigbee Router devices today it is recommended to buy a few Silicon Labs EFR32MG21 based USB radio dongles with an external antenna (like for example ITead’s Sonoff ZBDongle-E (based on Silicon Labs EFR32MG21 radio SoC) and convert/repurpose them by flashing over USB with a Zigbee Router firmware image, after than you can simply power them via USB-changers and pair to have them work as stand-alone dedicated Zigbee Router devices. An alternative is ITead’s Sonoff ZBDongle-P (based on Texas Instruments CC2652P radio SoC) which also can be reflashed with Zigbee Router firmware and repurposed as a stand-alone dedicated Zigbee signal repeater and range extender devices. Alternatively, for all-in-one dedicated Zigbee Router products that work very well out-of-the-box, it is recommended to buy a few of IKEA’s Trådfri Signal Repeater devices and/or Aeotec’s Range Extender Zi producs. Both of those devices are based on Silicon Labs EFR32MG21 radio SoC, and many people have reported that Silabs EFR32MG21 based products with slightly better as dedicated Zigbee Router devices than TI CC2652 based producs.

Simply adding more “known good” Zigbee Router devices will make any Zigbee setup much more stable, (when in doubt, add more Zigbee Router devices). The reasons for buying and using those specific products as Zigbee Router devices are that having a few “great” Zigbee Routers (a.k.a. Zigbee signal repeaters / Zigbee range extenders) with better radios and antennas for better reception can affect Zigbee network mesh range and coverage performance positively as communication signals in Zigbee do not have to be resent. Acting as a stable backbone in your Zigbee network mesh.

Still, your first action should be to physically move the Zigbee gateway and/or the Zigbee Coordinator away from all possible sources of EMF/EMI/RMI and then do an RF scan before switching to the Zigbee channel that has the least amount of noise for your specific environment. Note that after you added more Zigbee Router devices you might as a last step also have to re-pair the devices in their final location as some devices have issues moving to a better route on their own due to crappy firmware → https://www.home-assistant.io/integrations/zha#best-practices-to-avoid-pairingconnection-difficulties

You have to understand and remember that each Zigbee device by itself has very limited coverage, short range and their weak signals have poor wall penetration, so to workaround this a Zigbee network relies on mesh networking (a type of network topology/technology/architecture), which means that a Zigbee network heavily depends on having a swarm of mains-powered devices are a “Zigbee Router” that are always-on so they can act as a signal repeater and range extended by transmitting data over long distances by passing data messages through the Zigbee network mesh of intermediate devices to reach more distant Zigbee devices. So while having a Zigbee Coordinator with good radio and antenna away from any EMF sources can have similar benefits, Zigbee signals have such poor range and bad wall penetration power so having many good Zigbee Router devices is a must.

Anyway, those relatively simple actions will usually resolve a majority of all Zigbee connectivity, however, there are always exceptions with bad devices and bad firmware. Crap in, crap out!

PS: Again, also note that while they are fully supported in Home Assistant’s built-in ZHA integration, Silicon Labs EmberZNet (EZSP) based Zigbee Coordinator adapters only have experimental support in Zigbee2MQTT → https://www.zigbee2mqtt.io/guide/adapters/#experimental (more information about ezsp adapter alpha status here → https://github.com/Koenkk/zigbee-herdsman/issues/319). So it is less than an optimal solution to use an experimental adapter in Z2M in combination with an unofficial and experimental installation of Home Assistant OS :stuck_out_tongue:

Thanks for response. I’ll check zigbee channels but I think there must be some other reason for my problems. My channel on 8host was 11 and I had problems to connect devices located 5m from ihost. Now with dongle E I have the same channel and it almost covers my house. Dongle is located beside ihost. Extension cable and antenna makes the difference. My wifi is on channel 11 so far away from zigbee. In my opinion ihost radio is good enough for a small flat. I know it has the same chipset as dongle E so it must have strong interference from other components onboard.
I forgot to add that before I was using sonoff bridge (not pro) wich has the same radio and it was located in the same place with the same channel. It worked as perfect as dongle E.

Zigbee channels use different numbering but they still overlap. Wifi ch11 is roughly zigbee channels 20-25.

2 Likes

Guys, I have rookie question. How to run internal wifi on iHost? I don’t see wlan interface anywhere.
I tried to get some information using SSH but everytime I get the message “no such file or directory”. To be honest I couldn’t also upgrage HA to rc3 using commands from github site. Always the same respone “no such…” To upgrade I had to burn rc3 and restore everything from backup. From SSH I could only get info about connected Dongle E. So I need advice how to run WiFi and how to force SSH to run commands. I would be grateful for any advice.

I still dont know if the WiFi issues are fully resolved, it works for some, but not others it seems. If Wifi is working is should show up under HA Netwok panel. However you can also configure wifi using nmcli from debug console:

https://wiki.archlinux.org/title/NetworkManager#Usage

However if its not working, would be good if you can provide logs from kernel with the following from debug console:

journalctl -b0 | grep mmc

This command is not available from the ssh login provided by addons.

I can’t run any command from wiki site or your post. I’m loging as a root with password. Doesn’t matter if I’m usig addon UI or Putty. It always shows “command not found” (screen1). On the other hand when I run “ls -l /dev/serial/by-id” (screen2) it shows external zigbee adapter wich is connected. Internal zigbee radio works fine when it is configured but shoudn’t it be visible after this command ls -l…
So I’m stuck with SSH, I was trying Terminal SSH, Advanced SSH and Putty with the same result. As I have written in my previous post I couldn’t run commands to upgrade the system.

putty_screen