Zelf aan de slag met IoT

Na mijn avontuur met PGP wil ik me nu gaan verdiepen in een bescheiden vorm van Smart Home integratie / Domotica / Internet of Things.

Concreet, ik heb een “P1 Dongel Pro (ESP32) – slimme meter uitlezen” van Smart Stuff. Daarnaast ben ik mij aan het oriënteren op Infraroodpanelen met een WIFI thermostaat per ruimte (6 ruimtes). Die panelen moeten komende winter of de winter daarop hangen.
En ik wil kijken of ik de omvormer van de Zelfstroom zonnepanelen kan uitlezen, want ik wil dat de omvormer van het internet afgaat, maar ik wil wel die info hebben!

De P1 lezer wil ik kunnen uitlezen op een computer en ik denk om daar een Raspberry Pi met Home Assistent voor aan te schaffen. Liefst een 2de hands RaspeberryPi (met USB in plaats van SD-kaart heb ik al begrepen) om mee te starten, maar welke versie? En als ik daar LinuxMint Xfce opzet,
Zie hier
kan daar dan ook de Home Assistant mee uit de voeten? Of is het óf LinuxMint óf Home Assistant?

Op mijn pc’s draait LinuxMint Cinnamon. Ik gebruik de Fritz!Box 7590

De dongel geeft twee mogelijkheden om gegevens van de dongel op te vragen: 1 via een API en de 2de via MQTT. Als ik het goed begrijp is de API toepassing het eenvoudigste voor mij.
Zie hier
Wat denken jullie is voor mij als niet ict-er aan te raden?

De thermostaten van de Infraroodpanelen wil ik handmatig kunnen bedienen door aan een knop te draaien of te drukken én via WIFI, maar dan via Home Assistant. Ik wil dat binnen mijn eigen netwerk en dat het niet naar buiten het internet op kan. Ik heb iets over een VLAN gelezen. Zie hier

Wat heb ik daarvoor nodig aan hardware, software en andere dingen. En waartoe dienen de verschillende onderdelen. En natuurlijk: Hoe doe ik dat.
Ik ben geen ict-er, begrijp heel veel wat ik tot nu toe heb gelezen niet altijd (ook hier op het forum wat er bijvoorbeeld wordt geschreven bij IoT onderwerpen).
Zie hier
Maar ben een redelijk handige PC gebruiker die graag dingen uitzoekt om het goed en begrijpend te kunnen gebruiken.

Graag jullie reacties.

Kijk ook eens naar een gebruikte Dell Wyse of Nuc (de exemplaren met 3/4 idle watt verbruik), en daarop Proxmox.

Je kunt dan zowel HomeAssistant andere systemen tegelijk draaien, op één hardware apparaat. Tegen dezelfde kosten als een Pi met voeding, usb, behuizing, etc.

1 like

Bedankt voor je reactie.
Als ik het goed lees zou dat Proxmox dan ook goed zijn voor mijn volgende stap: zelf de website gaan hosten.
En ik lees dat Dell Wyse een Thin Client is. Nu heb ik altijd gedacht dat een Thin Client workstations zijn en er dus niks zelf op kan draaien. Maar dat is dus niet zo. Begrijp ik dat goed?
En Proxmox kan zowel op een Dell Wyse als op een Nuc draaien?

Gr DJ

De Thin Clients zijn uitermate geschikt om Proxmox te draaien, zeker de versies met de energiezuinige processor, aangezien zo’n ding dan 24/7 aan staat. De nieuwere gaan richting 10-15 watt, dus dan wordt het minder interessant.

Met genoeg geheugen erin, kun je prima meerdere VM’s draaien.

Voor deze speeltoepassingen (klink denegrerend, zo bedoel ik het niet), gebruik ik een Odroid bordje. Heeft net iets meer power dan een Raspberry en is uit te rustten met MMC op de print, zodat je niet tegen de nadelen van de Raspberry aanloopt (de corrupte geheugenkaartjes door de vele schrijfacties). Voordeel is wel dat deze significant minder stroom verbruikt.

Hierop draai ik Linux (had net zo goed ProxMox kunnen zijn) met containers voor alle toepassingen: DSMR (uitlezen P1), Home Assistent (overzicht van alle domotica), Unifi Controller (voor het instellen van mijn access points) en Nginx Proxy Manager (zodat alles via SSL kan verlopen).

@readefries Dank weer.

Begrijp ik dat ProxMox een Operating Systeem voor dit soort kleinere servers is?
En wat zijn containers? Moet ik dat zien als: Verschillende programma’s die elk één taak uitvoeren, alles werkend onder één Virtuele Machine?

Uit de reactie van @voorstad begreep ik dat je met ProxMox meerdere Virtuele Machines kunt aanmaken en laten draaien. Geldt ook hier: Eén taak per Virtuele Machine? En welke Virtuele Machine? Waarschijnlijk die van Proxmox Virtual Environment zelf neem ik aan.

Ik heb in het verleden wel VirtualBox van Oracle op LinuxMint laten draaien om een Windows programma te kunnen gebruiken. Is VirtualBox ook een goede voor de slimme P1 lezer en voor de WIFI thermostaten aan te sturen en voor een website te hosten? ?

Proxmox:
Website: Proxmox - Powerful open-source server solutions

Samenvatting:
Proxmox is een VM en Container management platform

TL;DR:
Dit is een VMware ESXi lookalike. Proxmox Virtual Environment biedt een complete webmanaged omgeving voor VM’s (KVM / QEMU) gebaseerd + LXC containers. LXC containers zijn iets meer een VM-light dan docker dat is, en geeft virtual machines.
Docker/Kubernetes zijn applicatie container diensten. Voor het huis/tuin en keuken gebruik zijn LXC containers vaak makkelijker.
Als docker nodig is is het eenvoudig om een Debian / Fedora etc. VM (KVM based) in te richten en daar dan docker op te draaien.

Ik gebruik Homassistant in een KVM virtual machines op proxmox omdat Homeassistant in eerste instantie een Container management OS is die een webserver en IoT in andere containers laat lopen. Dit is vaak in conflict met andere diensten.
Containers IN containers is ook vaak goed voor de nodige conflicten op.

Proxmox kan uitstekend werken (en is stabiel) ook de gratis versie.
De betaalde versie heeft wel meer mogelijkheden met name voor eenvoudige gebruik van storage zoals NAS.

Proxmox project levert ook een Proxmox Backup Server (PBS) waarmee backups makelijk te maken en beheren zijn.
Of als je zelf een mailgateway wil runnen een Proxmox Mail Gateway. (PMG)
Er is een community waar veel antwoorden op vragen te vinden zijn en waar ook de ontwikkelaars antwoord op vragen geven.

Ik heb op m’n proxmox cluster (ja dat kan ook, maar dan is een NAS vereist).
Verschillende VM’s voor HomeAssistant, Dockerprojecten, een PBX die in het verleden ruzie had met systemd, OpenVMS VM (kan niet in container), een paar RHEL8 en 9 servers voor onderwijs doeleinden, X2GO server, PBS
Containers voor PMG, haproxy, dsmrdb (leest P1 van digitale meter), enkele Nextcloud containers (“productie”, “beta”, “test”, 2 containers voor kennissen), Gitea (GIT server), Ansible (automation host), certbot (certificaat beheer), DNS server, Database server, COLLABORA service voor nextcloud omgevingen, Omada wifi manager, only-office voor nextcloud omgevingen, webserver, pihole.
Binnenkort gaat de mailserver (mogelijk wordt dat mailinabox (moet nog getest)) er ook op draaien en dan kan m’n 12 jaar oude server uit. Door per functie een Container / VM te maken wordt beheer een stuk eenvoudiger, dan allerlei applicatie op een OS te draaien.
(Ook al zat daar ook al wat in LXD containers).

M’n proxmox cluster bestaat uit 3 NUC achtige systemen met ieder 2TB SSD, en 64GB memory en een Core-i7 processor.
1Gbps vaste aansluiting en een 5Gbps verbinding (USB) naar NAS. NAS is een QNAP met 8TB storage.
(binnenshuis verschillende VLAN’s DMZ, IoT, LAN, WiFi LAN, GUEST (wifi only, geen pihole)). Van buitenaf uitsluitend toegang tot DMZ via firewall.
De systemen gebruiken iets meer dan 6-8 W/stuk maar dat is een stuk minder dan de 3x400 W die het voorheen was op losse systemen.

PBS backups zijn deduplicated, waardoor in ~1TB storage alle VM’s en Continers een ~20 tal (laatste 5 dagen laatste 6 weken, laatste 6 maanden en een paar losse) backups habben. (Deze staan op een oude QNAP met 2TB storage).

Containers zijn kleine brokjes afgezonderde functionaliteit, die je ook weer aan elkaar kan knopen (b.v. als je DMSR via MQTT naar Home assitant verbruik wil laten visualeren, of eventueel combineren met opbrengst door ook weer zonnepaneeltjes uit te lezen)

@Noci Zo, dat is een stevig verhaal, na één keer lezen duizelt het in mijn hoofd. Ik begrijp er vel niet van. Wat zou bij mij de reden zijn om met Docker te gaan werken?
Maar ik begin maar eens te lezen met Installation - Proxmox Virtual Environment

Vraag. Kan ik proxmox-virtual-environment ook op een 32 bits laptop (uit 2008) installeren om uit te propberen? Of op een 64 bits iets jongeren laptop?

Of kan ik Home Assistant op zo’n machine plaatsen?
Ik wil namelijk niet alleen lezen, maar ook dingen doen.

@readefries Bedankt, ik denk dat ik je begrijp.

Docker zou op iedere omgeving kunnen draaien om met containers te gaan spelen. Proxmox is een omgeving an sich.

De meest recente proxmox (8) vereist een 64bits omgeving.
Note: Ik heb even op de download site van proxmox gekeken… Geen ISO image van voor 6.4. In de debian repository zijn alleen 64bit software beschikbaar voor debian wheezy en nieuwer.
Idd. ik run m’n proxmox als een virtueel Datacenter.
Proxmox is een Linux distributie voor het inrichten van een Virtuele machine / Container omgeving.

Container is een breed begrip…
applicatie confainers: het is een voor verpakte set applicaties (docker, kubernetes) die als geheel een applicatie vormt.
machine containers: (LXC, LXD, Proxmox), een container bevat alles behalve de kernel (die wordt gedeeld met andere container en de host).
VM is voor HomeAssistant het meest voor de hand liggend.

Omdat het het meest lijkt op het platform waar het vandaan komt: Raspberry Pi, alleen dan de X86 variant. Hier is een link voor de installatie.

Na eerste installatie zitten alle benodigdheden voor Homeassisant en het updaten ervan in de VM.

Nee, PVE is gewoon Debian maar dan met Ubuntu kernel en is in feite niks meer dan een grafische schil en wat ondersteunende tools om het managen van VM’s en containers gemakkelijker te maken. Als hypervisor wordt het standaard Linux KVM gebruikt en voor containers wordt tegenwoordig LXC gebruikt (voorheen OpenVZ). Op een paar door Proxmox zelf ontwikkelde tools na wordt gebruik gemaakt van allemaal software die je zelf ook zo kan downloaden en installeren, voor de cluster communicatie bijvoorbeeld Corosync en voor geclusterde object storage Ceph (vergelijkbaar met VMware vSAN).

Aangezien het gewoon Debian is als OS kan je PVE ook installeren op een Debian installatie i.p.v. hun eigen ISO te gebruiken: Install Proxmox VE on Debian 12 Bookworm - Proxmox VE

Leuk, Dank weer!
Ik denk dat ik het plaatje een beetje ga zien.
Nu de eigen gemaakte pizza gaan voorbereiden en bakken en daarna het Tibetaans gerstbrood.
Daarna weer in de IT wereld duiken.

@WoSP: gewoon een debian kernel, tenzij je dat zelf anders regelt.

Ceph kan maar dat hakt er nogal in als netwerk load. Ik gebruik een iSCSI van een NAS als alternatief: behoorlijk wat vriendelijker.
configuratie in het cluster is op basis van corosync voor de configuratie (/etc/pve…)
“de eigen tooltjes” zijn best uitgebreid en voorzien in compete afhandeling voor storage (pvesm) VM’s (qm) en containers (pct), cluster functies (pvecm) en zijn hulpmiddelen om de webinterface te vereenvoudigen.
Proxmox is ook iets meer dan alleen een webinterface voor VM/CT.
Het beheert je Netwerk (bridging etc.) eventueel ook Software defined networks (L2 over internet / VXLAN) naar andere sites. Er is een volledige firewall configuratie beschikbaar.
Seamless migration in cluster van een naar andere node als er shared storage is (iSCSI → NAS, of Ceph).( voor VM’s), containers zijn altijd stop/start.
Toegang tot consoles via een webinterface voor zowel grafische als seriele consoles.
Backup scheduling icm PBS.

Zelfbouw kan… Been there, Done it (ex. webinterface) maar Proxmox was toch beter en completer.

Nope, PVE maakt gebruikt van Debian als OS maar met een Ubuntu kernel: Proxmox VE Kernel - Proxmox VE

Verder klopt er nog het e.e.a. niet aan je bericht, om er een paar zaken uit te pikken: PVE beheert je netwerk niet, het heeft een optie in de GUI gemaakt die de config uitleest en wegschrijft van/naar /etc/network/interfaces. Gewoon standaard Linux networking dus. /etc/pve is het Proxmox Cluster Filesystem, hier staat alle (cluster) configuratie en dit wordt door corosync over het cluster in sync gehouden, het is geen corosync. Firewall is gewoon iptables…zoals ik al schreef: voornamelijk een GUI waarin management en tools worden samengebracht, met wat extra door Proxmox zelf ontwikkelde tools.

Niks ten nadelen van PVE hoor. Is gewoon een mooi en goed product. Ik beheer zakelijk meerdere grote high available PVE clusters. Werkt als een trein. Het is alleen geen distro zoals je schreef en het leunt voornamelijk op software van derden. Wat ze heel mooi hebben samengebracht in de GUI en daar behoorlijke meerwaarde hebben gecreëerd (anders had ik ook geen licenties gekocht natuurlijk ;), je kan (en mag) het zeker als thuisgebruiker ook gewoon gratis gebruiken. Zakelijk mag dat overigens ook, maar doordat je dan de no subscription repo moet gebruiken is dat niet aanbevolen voor belangrijke productie zaken)

Ceph doe je overigens over een gescheiden netwerk, zodat het je management/internet of whatever voor netwerk dan ook niet kan hinderen en andersom. Afhankelijk van de hoeveelheid data zal dat minimaal op 10 Gbit moeten, maar veelal zit je al snel op 25 of 100 Gbit netwerken). Ceph is niet te vergelijken met een NAS voor wat betreft redundantie en in grotere setups ook voor wat betreft snelheid. Ceph is dan gewoon superieur en staat op eenzame hoogte. Maar, voor een kleine thuissetup niet heel nuttig. Ik heb thuis ook klein servertje draaien waar ik ook PVE op draai met wat hobby VM’s oa voor home automation, standalone en met lokale storage. Ik gebruik de laatste tijd overigens eigenlijk alleen nog maar KVM (dus echte VM’s) en geen LXC/OpenVZ meer. De overhead is tegenwoordig behoorlijk beperkt en dat je met een volledige VM niet de kernel van het host OS (PVE) gebruikt voelt een stuk fijner aan. Ik heb wel wat containers draaien, maar dan in een volwaardige VM met daarin docker.

1 like

hm. derived from… (ubuntu is ook derived from Debian… a la ) het is niet de kernel van de ubuntu site, maar een die ze zelf bouwen.
pve-kernel: uname = “Linux pve1 6.5.11-8-pve #1 SMP PREEMPT_DYNAMIC PMX 6.5.11-8 (2024-01-30T12:27Z) x86_64 GNU/Linux”

Ze zullen wat patches vanuit Ubuntu gekozen hebben m.b.t. LXC (LXC is bij debian een 2nd class citizen).

Docker containers != LXC.

@Noci Ik ben de link die jij gaf aan het volgen “Installing Home Assistant OS using Proxmox 8
Ben ik bij sectie 2.1. Proxmox draait nu op een oude 64 bits laptop. Proxmox wordt nu benaderd vanaf een browser op mijn desltop-PC via het IP adres. Vraag:
Hoe kom ik in de Proxmox Shell?
Ik neem aan dat bedoeld wordt de terminal op de oude laptop.

Section 2 - Configuring and Updating Proxmox VE

This script 3.7k provides options for managing Proxmox VE repositories and more, including disabling the Enterprise Repo, adding or correcting PVE sources, enabling the No-Subscription Repo, adding the test Repo, disabling the subscription nag, updating Proxmox VE to the latest version, applying security patches, and rebooting the system, making it easier and quicker to install Home Assistant OS.

2.1) To complete the post-installation process for Proxmox VE, copy and run the following command in the Proxmox Shell.

bash -c “$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/post-pve-install.sh)”

SSH sessie (poort 22) opzetten naar het IP-adres van de PVE node. Inloggen met gebruikersnaam “root” en het bijbehorende wachtwoord. SSH sessie opzetten kan bijv. d.m.v. PuTTY. Je kan de CLI ook openen via de GUI in je browser.

1 like

Dank weer.

Ik zit dus achter de desktop-pc in de browser en heb het ip-adres ingetikt van de proxmox server en zie dit op het scherm:

Hoe en waar doe ik: “openen via de GUI in je browser.”

Klik op de node (linker menu, in jouw geval “proxmox” met het groene vinkje), daarna kiezen voor Shell.

1 like