What's the best platform?

But how is that any less susceptible to going down? If anything I would say it’s more prone to going down. Pi is cheaply manufactured board, where as servers are enterprise rated. Again I only used the server because I already had it up and running. I’m not too worried about it going down, because for my wife to give the green light on this project I had to agree to one stipulation; everything has to work as it does before I started. Meaning if she walks up to a light switch that switch better work. This adds a little more work on my part.

This is so true, I am lucky if I get 2 hours off my UPS, but if the power’s out it’s not going to matter much that your computer is still up when everything else is out.

I like your style, I read some of your other posts, your a DYI guy. I would love to pick your brain especially on the DYI Ring door bell you mentioned in one post. I’m just starting out with my home automation and buying things off the shelf is WAY to expensive and really where’s the fun in that. You have way more flexibility building it your self and there is a since of pride for doing it, not to mention the bragging rights. I have been messing with Andrino and Sonoff boards and it’s pretty interesting, but for some of my projects they are just too big. I am going to have to build something from scratch to fit in some of the light housings in my house. Should be fun!

2 Likes

:+1: …I just do it one at a time…

… maybe four, or five hehehe

There are lots of reasons to not choose a RPi, but if all you are running on it is OH, you are unlikely to run out of RAM. There are users who happily run with dozens of addons, many hundreds to thousands of Items, and 2k-10k lines of Rules code. Now if you also want to host your persistence, MQTT broker, or other servers on the same device then you are looking at potential problems. But OH in isolation will live quite comfortably on a RPi 2 or 3.

One can basically do the same on a RPi with SD card images.

This cannot be done. The RAM and CPU are on the same chip. You cannot remove/replace one without the other.

All home automation projects should have this stipulation IMHO. The extra work is worth it.

If you are running your alarm on the RPi it very well could matter quite a lot. You don’t want your alarm system going offline just because your house lost power temporarily. Of course, you also have to keep your network up and running on an UPS as well, which Lucky has already mentioned.

Look into ESPs. They are also heavily used by DIYers on this forum. IIRC, Lucky has one in his doorbell setup as well. They are small (less than half the size of an Arduino Uno), pretty power efficient, and pretty easy to set up. I’m seriously considering replacing my Arduino/RFM69HW DIY sensors with ESPs. Now that I have two sensors up and running I’m finding the reliability to be too poor.

I’m not sure I have a lot to add to the conversation. I too run OH in a VM running on a desktop server (Lenovo ThinkServer TS140). It is probably underpowered for what I’m running on it but the price was what I could afford at the time and it is pretty much silent which was a key requirement. But if I were running an alarm system or I didn’t go through the extra work to make it so everything still works the old way when OH goes down I too would probably run OH on separate hardware that I can keep running on an UPS with loss of power. But since I don’t and everything will still work with wall switches and such I’m pretty happy running in a VM.

In fact, I go one further and run in Docker containers on the VM and configure my VMs (and RPis) using Ansible. Doing this I’ve found that I don’t really need the snapshots anymore.

1 Like

Sorry, I don’t know much about the Pis. I have successfully increased memory on other boards and just assumed you would be able to do the same. I was just spit balling ideas.

Thanks for the info, I will definitely look into that. I only use the Arduino board and Arduino IDE to re-flash the Sonoff boards. The Sonoff boards are only 3 or 4 dollars and they are all ready to go with Wi-Fi and even an enclosure, not much memory but you can increases that to give you more space for your code. I only been messing around with those for a little over a month, so a ways to go yet. Still ready articles and watching YouTube videos tutorials. Thanks again for the tip.

Just so ya know, the Sonoffs ARE ESP8266s. So most of your experiences with the Sonoffs will apply. They wont ship with a preset firmware like the Sonoffs and I don’t think Tasmonta is appropriate for them but there are lots of other firmwares to choose from. Just search this forum. And by getting a “raw” ESP826 you will have more pins to attach sensors or relays to, though if you need relays you may as well use a Sonoff.

Next generation ESP32 boards are also available for just 1$ more, so still below $5 direct from china.
They have dual core processor, better and more ADC (12-bit) and support WiFi AND Bluetooth.
I just have a test setup running with MQTT and a small 320x240 graphics display.

Esp32s are ok if you have a need for the bluetooth and more resources (dual core, more ram, higher frequency, built in sensor, etc) but it’s more than twice the cost of the good ole ESP8266-01, which I often praise and recommend in this forum. But for simple stuff like just driving a relay, or just driving some circuitry with just few transistors, I think the 01 is still the best choice. I also recommend the bare chip which can be had for less than a buck

1 Like

Rikoshak, you’re the first person I’ve encountered stating that the MQTT broker should best be run on another machine, especially if you are utilizing a RaspPi for OpenHab. You definitely answered that question without even asking. Ultimately, I want to run Zoneminder, OpenHab, a plex Server and a calibre server all on a Ubuntu Server. By using my other additional hardware for building a regular Windows 10 machine and use my I5 machine for the LInux Ubuntu wouldn’t cost me any additional money. I do like the power savings of the RaspPi, but I have solar power panels resulting in that kind of being a non-issue.

I understand using what you already have. I bought a usb case to use an old SSD on my Raspberry Pi. 3B+
The new Pi 4 has 4GB of RAM resolving many concerns stated in this 2 year old thread.

I don’t think I said that necessarily. Just running the broker and maybe one or two other minor services would probably be fine. But RAM will quickly become a problem. As with everything, YMMV. But you definitely will not be happy running all those services on the same RPi. Especially Plex and ZoneMinder which will be both RAM and CPU heavy users. I run all of those services (Shinobi instead of ZoneMinder) plus OMV, NextCloud with PostgreSQL, gogs, Nightscout with MongoDB, InfluxDB, Grafana, and a virtual desktop on an Intel i3 with tons of RAM. An i5 will be more than enough.

1 Like

What version of Linux do you use? I would prefer to use all of these systems on one linux box. I like using the raspberry pis more for tinkering. I do have an advantage of living in house with solar power, which allows me the ability to circumvent the raspberry pi. Our utility rates in California are very high, so if I didn’t have solar I would definitely stay the Pi.
How do you like Zoneminder? I have read that the integration is excellent with Openhab.
I have explored Blue Iris, but I anticipate that it would be too Ram Intensive and along with the rest of Windows services would just bog the computer and at times bring it to its knees. Blue Iris is pretty simple to set-up, but I was thinking that Zoneminder would give me many more options, especially with Openhab integration. Zoneminder has a much steeper learning curve, but I don’t feel it’s too much of a barrier since I’ve already been using Linux extensively for a few months already. I feel that the more you use Linux on an everyday basis the more comfortable you get with it and learning it becomes easier with every passing day.

I do have a couple of AMD Phenoms and Athlons around, so I was going to build a Windows computer and move all of my programs and services that require 24 hours use on to a Linux box with Ubuntu Server, but then I remembered that the PC case I wanted to put it in is for a Mini-ATX board, so I think I would put windows on a AMD board with an AMD processor that came out 10 years ago. I would probably get more out of that than trying to sell it on Ebay for a pittance in return.

The only difference between the an AMD Phenom and an Athlon processor is that the Phenom has M3 cache and uses more power. I don’t want a hot box that isn’t efficient. Do you think that installing OpenHab, MQTT and Zoneminder would do well on an older AMD box?

I just like the flexibility of having more ports and centralized location for all of my Linux Services.

Wait! I just realized I have an unused Intel board with a 1150 chipset. I have a Pentium processor to go along with it. That might just do everything I want except for Plex.

Linux without a graphical window manager should have less overhead that any Windows installation.

1 Like

I’m running ESXi on that server class desktop format server with 28 Gig of RAM (I think) running five VMs. I chose the Lenovo ThinkServer TS140 because it was cheap and very quiet.

I’m using Ubuntu 18.4 Server on three, Ubuntu 18.4 Desktop on one and OpenMediaVault which is a software appliance which comes as a whole OS based on Debian. I’ve five VMs:

  • home automation: Shinobi, openHAB, Mosquitto, InfluxDB, Grafana
  • media: Calibre, Plex, Gogs, NextCloud, PostgreSQL
  • OMV: NAS
  • Virtual Desktop: desktop type stuff where I can run stuff that doesn’t run well on my chromebook
  • Continuous Glucose Monitoring: Nightscout, MongoDB

Splitting the services into VMs gives me a little bit of redundancy (e.g. my son can continue to watch his shows when I need to reboot the home automation server) and helps avoid conflicts like multiple services on the same port and library conflicts. I also like the ability to take snapshots and experimental VMs I can use for test configs. To provide further isolation, and honestly a lot of times it’s just plain easier to install and use, I run everything in Docker containers.

I use Shinobi instead of ZoneMinder. I used ZoneMinder for awhile but they never had a Docker container so upgrades were a pain (I think they have an official container now). When I went back to play with cameras I heard good things about Shinobi. So far I’m happy with it. Integration with OH is super easy, though there is now a ZoneMinder binding so it’s probably super easy too now.

I can’t speak to that. My only recent experience is with Intel and ARM processors. I haven’t used an AMD since college in the late 1990s. I’ve nothing against them though. But depending on how many cameras you plan on running, you may need as much RAM and CPU power if not more for ZoneMinder as you need for Plex (assuming it will need to do transcoding on the fly).

1 Like

Please do note that the fantastic Tasmota firmware for ESP8266 does not run on the ESP32. There is at least one fork which was ported to ESP32, but i hasn’t been updated for a couple of years. There are other firmwares which support similar things to Tasmota (MQTT, etc).

1 Like

Rikoshak.

I really loved the breakdown of your system on Linux. Thanks for taking the time to go through each step with me. I do transcode on the fly, but not that much. I always ensure that the bench scores are good enough for trans-coding despite not using it too much. I actually have a friend that has a sick (in a good way) collection of movies all in HD. I use Plex to see his movies. I usually only keep my favorite movies, niche movies and many music videos. Having a friend on Plex with an incredible collection allows me to shut down Plex when I’m not using my computer during the day.

I’m still going through your list.

I also have 28 GB on my Windows PC that I use as a Windows 10 server.
Does EXSi run on your bare metal server?

If that’s the case I guess I could just run multiple VMs on my current Windows 10 rig by un-installing Windows and installing EXSi?

Did you pay for your VMWare EXSi or did it come with your Lenovo ThinkServer?

None of my motherboards are server-class. They are regular ATX or Mini-ATX PC desktop motherboards. I use RAID Sata cards to get around the hard drive limitations of my desktop motherboard.

I need to either sell, re-purpose or donate some motherboards. They still get decent benchmark scores, but so much has changed in the PC market I have been procrastinating when it comes to doing something with all of the extra hardware I have. I used to have a Windows home server and I had a computer that that used cable cards and I used to provide TV throughout the house.

I now have an NVidia Shield…Love it! I also have a chromebook…It’s a Samsung Chromebook + with an ARM Processor. It has a touchscreen and stylus. At first it was awesome, but now I’M HAving a flickering issue with my touchscreen and I have read others having the same problem, but it is out of warranty. I feel like Samsung duped all those that bought their hardware because of the same recurring problem. I will never by a Samsung anything anymore. I once fixed a Samsung Galaxy HD Tablet and fixed it, but I was very unimpressed with the internal assembly of the tablet. I used to buy Archos Tablets and had to fix them once in a while. They cost a third of the price of Samsung, but they were better assembled despite the excessive plastic feel to it.

I also have a separate QNAP Nas that I use for back up of my most important files, especially family photos and videos and my insane Calibre Book Collection.

I could pick your mind forever! But l’ve probably taken too much of your time. I just want to know that reading your list correctly is that you are using one Debian VM for your HomeAutomation services/programs?

Could you breakdown your list by stating your Ram allocation for each of these VMs?

  • home automation: Shinobi, openHAB, Mosquitto, InfluxDB, Grafana
  • media: Calibre, Plex, Gogs, NextCloud, PostgreSQL
  • OMV: NAS
  • Virtual Desktop: desktop type stuff where I can run stuff that doesn’t run well on my chromebook
  • Continuous Glucose Monitoring: Nightscout, MongoDB

You’ve been a great help. Thanks so much!

Scott

Rikoshak,

I just want to get this straight. Do you use each individual program in a docker container within each VM. For example in your home automation VM, do you use 6 different docker containers for each program within Ubuntu Server?

I know what docker is, but honestly haven’t used it. I have used a server before with VMs at work, but did not dig too deeply into it. I guess I am seriously considering matching your set-up, but in a way that it relates to the programs and services I use.

I just looked a Shinobi…I’m very impressed. Thanks for letting me know about it.

Scott

ESXi only runs on a bare metal server. It’s a Type 1 Hypervisor (i.e. it’s the base OS that the machine boots into). This is opposed to a Type 2 Hypervisor like VirtualBox or HyperV.

Assuming that it supports ESXi. They don’t run on all hardware and in particular can be picky about network drivers. But ESXi isn’t the only choice. There is Xen and KVM. KVM would probably be your best bet as I think it’s closer to a stock Linux.

No, they offer a free license to individuals. There are some limitations but they don’t impact me as they mostly have to do with stuff like VM migration between machines and tools that are more useful in a data center where you have lots of machines instead of just one. It does everything I need it to.

IIRC the server came without OS which was nice and probably helped make it cheaper.

You can give one of the hypervisors a try and see if they work. They are usually pretty light weight and as long as your CPU supports the necessary virtualization feature sets (on Intel it’s VT and VT-D) VMs you should be fine.

You can open a new thread or send PMs. If I don’t have time, I’ll wait to reply, but I usually always reply.

Close. The Debian is OpenMediaVault (a NAS system). Everything else is running some flavor of Ubuntu 18.4. But yes, I dedicated one VM to running all my home automation stuff.

  • Home automation: 8 GB
  • media: 4 GB
  • OMV: 2 GB
  • Virtual Desktop: 8 GB
  • CGM: 2 GB

NOTE: With ESXi you can over subscribe the RAM so that the total amount allocated is more than the physical amount available. But that only works if the amount actually used is less than the total physical amount. Also, if I find I ever need more, I can allocate more CPU cores and RAM to any given VM. The numbers above is the max amount of RAM the VM can use, not necessarily the max amount it’s actually using.

Yes. Here’s the stats on my home automation server.

###############################################################################
###############  argus  #######################################################
###############################################################################
##        Ip = <some number>
##   Release = Ubuntu 18.04.3 LTS
##    Kernel = Linux 5.0.0-25-generic
##  Platform = VMware Virtual Platform/440BX Desktop Reference Platform
##    Uptime = 27 day(s). 19:18:21
## CPU Usage = 35.2% avg over 2 cpu(s) (1 core(s) x 2 socket(s))
##  CPU Load = 1m: 1.34, 5m: 1.05, 15m: 1.02
##    Memory = Free: 1.25GB (16%), Used: 6.53GB (84%), Total: 7.78GB
##      Swap = Free: 3.95GB (99%), Used: 0.04GB (1%), Total: 3.99GB
##      Root = Free: 212.46GB (90%), Used: 21.96GB (10%), Total: 247.04GB
##   Updates = 0 apt updates available.
##  Sessions = 2 session(s)
## Processes = 286 running processes of 32768 maximum processes
###############################################################################
rich@argus:~   docker ps
CONTAINER ID        IMAGE                      COMMAND                  CREATED             STATUS              PORTS                                                                    NAMES
aa42c13f074e        migoller/shinobidocker     "/opt/shinobi/docker…"   33 hours ago        Up 33 hours         0.0.0.0:9090->8080/tcp                                                   shinobi
59499c0717fe        openhab/openhab:snapshot   "/entrypoint.sh gosu…"   33 hours ago        Up 31 hours                                                                                  openhab
84af1f37e2a6        eclipse-mosquitto          "/docker-entrypoint.…"   33 hours ago        Up 33 hours         0.0.0.0:1883->1883/tcp, 0.0.0.0:8883->8883/tcp, 0.0.0.0:9001->9001/tcp   mosquitto
a507a9fb84e9        influxdb                   "/entrypoint.sh infl…"   7 days ago          Up 33 hours         0.0.0.0:8086->8086/tcp                                                   influxdb
778ef3c70eee        grafana/grafana            "/run.sh"                9 days ago          Up 33 hours         0.0.0.0:3000->3000/tcp                                                   grafana
rich@argus:~
3 Likes