OmniLinkBridge to integrate Home Assistant, SmartThings, Node-RED

Thank you @grantlewis.
 
Yes here first generation of the OmniLinkBridge ran fine for me on Docker installed on the ARM based Pine64 then later on the ARM S912 Octocore CPU (TV Box). 
 
It was me that suggested to Tiger to utilize an RPi.  I had forgotten all of the issues I had when I did use an ARM CPU.  I apologize for this.
 
Then when updating it one day it wouldn't create the docker instance due to lack of source code for the ARM CPU so this is where I switched over to using an Intel based mini computer.
 
Hassio was written as an all inclusive OS for the RPi (ARM).  It does not include an entire Linux OS but only the pieces you need.  It is a bit of a stripped down Linux OS and this does cause some issues with some plugins who source is only Intel CPU based.
 
Note too that Ryan did this installation of the OmniBridgeLink app on an Intel CPU and Intel based Linux and following his GitHub step by step it will work fine using an Intel based CPU.  Well and there is no Windows OS today that runs on an ARM CPU.  You can emulate an '86 OS in a virtual machine on an ARM CPU but it is really slow.  I have installed Windows XPe on an RPi second generation and it is too slow for automation stuff.
 
Another issue I found: in the discovered devices from OmniLink there are some units missing (they are indicated as "unavailable" in HA).
They are entities that were found in a scan that was done before, but are missing from the current one. Rebooting Home Assistant doesn't fix them, and neither does restarting the OmniLinkBridge.
But rebooting the Raspberry does affect them: some of them reappear some of them that were there go missing instead. I've had the system running for like 12 hours straight and still they don't show up: if they are there at boot they stay there, if they aren't there they never show up again.
 
It's like there's been a list of entities published at some place in time but, it isn't correctly and entirely refreshed on startup.
Is there some sort of chaching in the Mosquitto server that I can clean up? Or force in some way the server to request a full list of devices?
 
@pete_c My Mac Mini runs a 2.66 GHz Intel "Core 2 Duo" (P8800) processor. I've been using it for over a year without issues (until yesterday) so I don't really think the hardware profile is at issue. It was @tigers suggestion...
 
subscriptions are restored from a file. Not sure where this file is, but I'd try to delete it and have it rebuilt.
 
...that prompted me to just wipe the configuration and start fresh. Turns out that must have been the case. As soon as I re-created the Docker container, restored my .ini file, and started the container, everything came back 1:1.
 
Just to clarify: I already went for the Raspberry before contacting Pete, because I wanted to keep the server inside my fuse cabinet where the OmniPro is. I later discovered that Pete prefers the ARM based mini PCs. I have a couple of these with LibreElec installed as media centers, so I figured I could convert one of those for experiments, but everything went good so far, so I think the Raspberry is a good choice for a beginner as I am because is much more supported and there's plenty of tutorials around. Apart from getting OmniLinkBridge to work everything went very smooth indeed.
 
runs a 2.66 GHz Intel "Core 2 Duo" (P8800) processor.
 
Docker, MQTT, Home Assistant, mono, et al all come in two flavors which are not interchangable.
 
IE: you cannot install x86(x64) version of Docker on an RPi as the source code kernel stuff is way different.
 
Arm (32bit/64bit) and x86 (and x64) are totally different hardware architectures.  Linux firmware for Arm CPUs has been around a very long time.
 
It did not get really popular until it went from embedded firmware to RW firmware on the RPi.
 
The Docker repositories have separate builds / source code for ARM (RPi) and Intel-AMD x86-x64.  They are not interchangable.
 
Original base of Ryans plugin was written for Windows and only ran on Windows until he tested it / wrote it to run on Intel (X86/X64) Linux with Mono.  I did run it / tested it on an RPi way way back and it did work.
 
later discovered that Pete prefers the ARM based mini PCs. I have a couple of these with LibreElec installed as media centers, so I figured I could convert one of those for experiments
 
Yes here favored using ARM based mini PCs until I found out the limits of said use (years).  I do have LibreElec now running fine on a few Kodi boxes using an Octocore S912 / 3Gb of RAM / 64Gb eMMC and 4K streaming works fine whether it is from the SD card, eMMC, NAS or the internet.
 
Concurrently tested these as automation devices using Armbian and everything ran fine until I wanted to concurrently run virtual machines within the OS and specfically Oracle Virtual box which does not run on an ARM CPU at this time. Also some time ago couldn't update the OmniBridgeLink docker version using aarch-64 (no source code for it).   I did write about this here.  The S912 Octocore ARM CPU TV box is the smallest and lightest automation server that I have every used.  
 
Way way before did get involved in testing one Homeseer plugin running on a Seagate Dock Star with Dockstar Debian with first generations of Mono for my irrigation.   I was introduced to the Seagate Dock Star and Pogo Plugs (SheevaPlug)  right here on Cocoontect around 2009.
 
The SheevaPlug is a "plug computer" designed to allow standard computing features in as small a space as possible.
 
As one of the first such computers on the market, the device has a 1.2 GHz Marvell Kirkwood 6281 ARM-compatible CPU, a.k.a. Feroceon. It is sold with Ubuntu Linux version Ubuntu 9.04 pre-installed.[1] A software development kit for the platform is also available.
 
 
pete_c said:
runs a 2.66 GHz Intel "Core 2 Duo" (P8800) processor.
 
Docker, MQTT, Home Assistant, mono, et al all come in two flavors which are not interchangable.
 
IE: you cannot install x86(x64) version of Docker on an RPi as the source code kernel stuff is way different.
 
Arm (32bit/64bit) and x86 (and x64) are totally different hardware architectures.  Linux firmware for Arm CPUs has been around a very long time.
 
It did not get really popular until it went from embedded firmware to RW firmware on the RPi.
 
The Docker repositories have separate builds / source code for ARM (RPi) and Intel-AMD x86-x64.  They are not interchangable.
 
Original base of Ryans plugin was written for Windows and only ran on Windows until he tested it / wrote it to run on Linux with Mono.
 
Yes, I get that and this is I think the main problem with using it on HASS: it requires mono that, in I understand correctly, creates a virtual x86 machine to run C++ code.
 
Yes here testing running an X86 virtual machine on a RPi 2 and it worked but was really really slow.  
 
Helped a user a couple of weeks ago that was running HASSIO on a Synology NAS box. He had some major issues running an Intel based docker instance of a plugin which did not work in HASSIO and mostly because it is a custom OS (Lite Linux).
 
So with his set up told him to build an Ubuntu container on the Synology box and I remoted in and install Home Assistant, MQTT / Mosquitto Broker / Docker / Docker MQTT plugins with absolutely no issues.  This took less than an hour via SSH to his box in New Mexico.  He did try to convince me to go to using Synology but I am a happy camper here using XigmaNAS with no containers at this time (Oracle VB containers are available for use).  I am not on a new generation 8 drive NAS and switched over to using SAS hard drives versus SATA drives.
 
I did build a new mini PC using an Intel based TV box called the BeeLink BT3 Pro.  Concurrently doing similiar with a newer gen CPU (Skylake) and 32Gb of RAM using a server style mITX board.
 
Included hardware in this tiny box is:
 
1 - Gb NIC
2 - WLAN (2.4/5 Ghz)
3 - Bluetooth
4 - Intel quad core Atom
5 - 64 Gb eMMC
6 - 4 Gb of RAM
7 - VGA and HDMI video outputs
 
It came with Windows 10 installed on the internal eMMC and I have wiped and replaced it with Ubuntu.
 
Base OS is Ubuntu 18.04.  It is running
 
1 - docker
2 - Mosquitto broker 
3 - Home Assistant
4 - OmniLinkBridge in docker
5 - Homeseer in Ubuntu
6 - Oracle Virtual box
7 - Windows 7E virtual box for use of Microsoft only applications that talk to the Ubuntu base like Microsoft SAPI (I collect SAPI voice fonts).
8 - Alexa integration to Homeseer and Home Assistant.
 
All of this on a tiny TV box with a smaller footprint than the RPi 1-4.
 
Issues I have seen is that the embedded OS on the eMMC is a bit harder to get to and reconfigure using UEFI. 
 
That is where too the BIOS comes in to play and tinkering with UEFI which most folks do not ever tinker with. 
 
UEFI is much like DOS except it has a different command line configuration. 
 
To get my touchscreens working in Windows I replaced the EFI bios with a Seabios (X86).  This was custom written by I believe an ex employee.  It was just a simple write to a RW 1Mb bios chip.  Seabios supported Windows and wrote a new kernel to the device.
 
To update my LSi SAS raid controller on my new old raid box with SAS drives I couldn't use DOS so had to use EFI command line.  
 
Here is a screen picture of Webmin stats running on the little mini computer.
 
[sharedmedia=gallery:images:1360]
 
This may be somewhat off the original topic, but I'd be curious to see how the people on this board are using Home Assistant.
 
I have been playing with it for close to a year with mixed results. It does some things well, but when it comes to automation I find it considerably lacking compare to Homeseer 2. HS2 has a powerful scripting engine, although only in VB. But I complement this with python scripts and I can use them with the vast trove of open source libraries which yields almost unlimited possibilities. I have not found a way to do the same with HA, the scripting engine seems to be very primitive, does not even allow importing libraries. The programming language of HA appears to be not python, but yaml.
 
My other issue with HA is the frontend. I had a hard time organizing information on it as the default view just piles everything on one page. I tried to use group tabs, but they were limited as I have a lot of groups, and recently that all broke completely after the latest update. I would appreciate if someone could share a tip on if it is possible to reproduce the Homeseer's spreadsheet-like view of devices with filtering by groups. Or any other strategies people use to organize thousands of devices and events in HA.
 
I'm a Home Assistant enthusiast. Started off with a hybrid RA2 / OmniPro II system in 2016 and then added HA into the mix shortly after. I started off with an RPi3 and then moved to a virtual machine setup on a Mac desktop. Now I'm running Ubuntu 64 on a dedicated Mac Mini, all HA components in Docker containers. I love it. So far there's nothing I've wanted to do that I can't do.
 
I'm totally ignorant of Homeseer so not much help on that count, I'm afraid.
 
Do you know about Node-RED? It's amazing. I still prefer yaml, but if an automation gets complex enough, it's often easier to do it in Node-RED. Here's the Node-RED automation that manages my blinds:
 
https://i.imgur.com/zJkmpVD.png
 
Frontend: I don't really get into customizing the look of HA much -- just not my area of interest. I've done a little bit of fancy stuff with Lovelace, but it's minimal. My arrangement is a pretty manageable mishmash of areas and tasks: Downstairs, Upstairs, Outside/Holiday, etc.
 
https://i.imgur.com/bmnu9VM.png
 
I could probably hide a lot more than I do, but I try to program so that the house does its work without my intervention. Pretty much the only time I pull up the UI is when I need to see what's going on, etc. One cool thing I've begun to use more extensively -- and you can see it in the above image for SCENES -- is a Lovelace collapsing roller-shade kind of implementation. You can tuck entities you don't use frequently into those collapsing menus to keep the UI clutter-free.
 
We are getting off topic, but it's a thing I'd like to discuss, so if there isn't a topic, let's open one.
Until then I give my opinion in brief: you're right, PC Access programming of the HAI was VERY limited but it did what it was supposed to very well and very easily, and you could do a big big part of what's needed for home automation. What it didn't do by default could be done via serial and some tinkering.
On the other hand HA is VERY VERY hard to tackle even for the very basic tasks. I have a background in BASIC, visual basic, Pascal, regular C, and I put together even some complex project with Arduino and ESP, but boy, it was hard even to configure a basic timer in HA.
It lacks even some very basic tools and the answer in the forum is almost always: Hey, just build your own add-on, this is open source baby. Or: just use add-on $this, that is going to get broken at the next UI update and you'll have no clue how to fix it.
 
And this is for BASIC things. Of course you can do some pretty complicated things which opens up the world and that very nice too, but they are still lacking some basic tools like an easier way to build a dashboard, some basic manipulation that doesn't require ssh-ing and changing 3 files in 3 different directories.
 
What's worse it's that some of these things are like this BY DESIGN; an example: I was looking for a basic scheduling system that is one of the basic things in Home automation and the answer is: there's none, and we are not going to put up any, because we have scripts and automation that are way more powerful. I'm puzzled because now for very basic tasks I did in minutes with PC ACCESS I now have to spend a week to write pages of scripts and automations.
 
Don't get me wrong, I'm enthusiast of the system and it's a huge leap ahead from my previous setup but it could be much MUCH better.
 
picta said:
Thank you for sharing this, grantlewis. I'll definitely take a look at the collapsing lovelace, was not aware of it.
That's one of the first thing I installed, and it's very good, but still limited (doesn't work in glace cards if I didn't miss anything).

I'd suggest to check out all of the plugins from thomasloven, they are a step in the direction lovelace should be.
 
Here a couple of weeks ago did a search for Home Assistant touch screens and that led me to Home Assistant Dashboard.
 
My current Intel Atom based touchscreens run Windows, Android or Linux.
 
Currently using Windows for Homeseer touchscreens (years now) and run Homeseer 3 in Ubuntu Linux.   I also run the Leviton HAI Omnitouch Pro software on the same touch screens and use the HAI touchscreen designer program with this application.
 
I would prefer to run Linux for the touchscreens so will probably install a few with Home Assistant Dashboards.
 
If you like the Windows tile look you can use Tileboard for Home Assistant.

[sharedmedia=gallery:images:1365]
 
Home Assistant has been a learning experience for me having utilized HomeSeer now since the late 1990's.  
 
All said we should have a section here on the Cocoontech forum dedicated to Home Assistant users.
 
Back
Top