The names suggested by certbot --apache depend on the names on your existing Apache VirtualHosts in your existing Apache configuration. If you don't have a ServerAlias for the www version of the name, Certbot won't realize that you would need that alias on your certificate.
If you add the appropriate ServerAlias to the relevant VirtualHost and then run Certbot again, you should be able to get a certificate for both names.
Perhaps your wordpress also needs to understand that the site has two names (one with and one without the www).
http domain returns with: HTTP/1.1 301 Moved Permanently - Location: https://smarthomeliving.org/ <p>The document has moved <a href="https://smarthomeliving.org/">here</a>.</p>
http www.domain returns with:
lots of content - a web page
https domain returns with:
lots of content - a secure web page
https www.domain returns with:
SSL ERROR - www name not in cert used.
But if you ignore the error message and continue...
You get lots of content - a insecure/secure web page
#1 is OK (redirects to #3) #2 should redirect to HTTPS #4 #3 is where you want all to go - as this is the only GOOD and working secure site #4 should redirect to #3 - but first needs its' name included in the cert
To fully correct this, you will need:
a cert with both names on it.
but that depends on the wordpress/apache configuration (as noted by @schoen)
proper redirection - you need to decide which will be the main site (with or without the www) and redirect the other three to that one.
I was assuming you would edit your Apache configuration files with a text editor (accessed over SSH) because that's the classic way of configuring Apache if you're using the command line to administer a server. But if WordPress is able to make equivalent configuration changes for you somehow, as @rg305 suggests, that sounds great.
I went to /var/www/html/ and I looked at index.php and wp_config.php. There was nothing in these files that looked like where I add my www web address.
Seeing that the 443 is using the same named file (with -le-ssl), it would indicate that the name "SmartHomeLiving.org" did appear in that port 80 vhost config at the time LE was run.
Since then things have been changed (but have not made things better).
You need to have a working port 80 vhost config for both names.
You need to get a cert with both names on it.
[you can check which cert names you have covered now with: cerbot certificates]
You need to redirect three of the four sites to the one final destination.
Then you need to check that the renewals are functional with: certbot renew --dry-run
Then you will certainly have a Happy New Year!
Cheers from Miami