
HomeWizard is een Nederlands merk dat slimme energiesystemen en sensoren ontwikkelt om live inzicht te krijgen in je stroom-, gas- en waterverbruik. De HomeWizard lokale API is een softwarekoppeling waarmee je apparaten van HomeWizard (zoals de P1 Meter, Energy Socket of Plug-In Battery) rechtstreeks via je eigen lokale netwerk kunt uitlezen en aansturen. De communicatie met de API loopt via je eigen Wi-Fi-netwerk zonder tussenkomst van externe clouds. Hierdoor reageert het systeem direct en blijft het werken als je internet uitvalt.
API v1 vs. API v2:
- API v1 werkt onversleuteld via HTTP en geeft iedereen in het netwerk opvraagbare data.
- API v2 is moderner, werkt via HTTPS met een beveiligings-token (dat je fysiek op het apparaat activeert) en ondersteunt real-time updates via WebSockets. Nieuwere apparaten zoals de Plug-In Battery vereisen API v2.
Waarvoor kun je de HomeWizard API gebruiken?
- Smart Home-integraties: Je koppelt apparaten eenvoudig aan domoticasystemen zoals Home Assistant, Homey, maar ook de Raspberry Pi.
- Realtime data uitlezen: Je kunt live waardes opvragen zoals het actuele stroomverbruik/teruglevering (in watt), gas- en waterstanden, laadvermogen of het batterijpercentage van je thuisbatterij.
- Automatiseringen bouwen: Je maakt slimme flows (zoals een wasmachine aanzetten bij een overschot aan zonnestroom, of een thuisbatterij laden/ontladen op basis van dynamische energieprijzen)
Hoe activeer je de API?
- Open de HomeWizard-app op je telefoon.
- Ga naar Instellingen > Apparaten > [Jouw apparaat dat je wilt koppelen].
- Schakel de optie Lokale API in.
- Geef het apparaat eventueel een vast IP-adres via de DHCP-reservering van je router om verbindingsproblemen te voorkomen
Meer informatie over de Home Wizard API vind je in de API-documentatie
Aan de slag!
Energy Socket (HWE-SKT-21) | Max. 3680W (16A)
Breng het sluipverbruik in kaart en schakel ze uit wanneer je ze niet nodig bent! Met de Energy Socket van Homewizard kan dit, de Energy socket heeft een meetbereik van 1W tot maximaal 3680W. En bij een aanhoudende maximale belasting of overschrijding schakelt de socket automatisch uit om oververhitting te voorkomen.
Je kunt de Energy Socket lokaal via wifi uitlezen en bedienen met Python op je Raspberry Pi door gebruik te maken van de ingebouwde HTTP API (v1). Hiervoor heb je geen cloudverbinding of extra hardware nodig, zolang de stekker en de Raspberry Pi op hetzelfde netwerk zitten.
1. Lokale API inschakelen in de app
Voordat je Python-script verbinding kan maken, moet je de lokale toegang eenmalig aanzetten in de smartphone-app:
- Koppel de stekker. Voeg de Energy Socket eerst toe via de HomeWizard Energy app op je telefoon (werkt alleen op een 2,4 GHz wifi-netwerk).
- Zet de API aan. Open de instellingen van de stekker in de app, scrol naar de apparaatinstellingen en schakel de optie Lokale API (Local API) in.
- Noteer het IP-adres. Zoek in de app of in je router het lokale IP-adres van de stekker op (bijvoorbeeld
192.168.1.50) en geef de stekker bij voorkeur een vast IP-adres in je router.
2. Uitlezen met een eenvoudig Python-script (requests)
De snelste manier zonder extra HomeWizard-bibliotheken is een simpel HTTP GET-verzoek naar het endpoint /api/v1/data.
Installeer eventueel eerst de requests-bibliotheek op je Raspberry Pi. De kans is groot dat deze al geïnstalleerd is.
pip install requests
Gebruik vervolgens onderstaand script (stroomsocket.py) om het actuele vermogen, de spanning en het totaalverbruik uit te lezen:
import requests
IP_ADRES = "192.168.1.50" # Vervang door het IP-adres van jouw stekker
url = f"http://{IP_ADRES}/api/v1/data"
try:
response = requests.get(url, timeout=5)
response.raise_for_status()
data = response.json()
vermogen = data.get("active_power_w")
totaal_verbruik = data.get("total_power_import_kwh")
spanning = data.get("active_voltage_v")
print(f"Huidig vermogen: {vermogen} W")
print(f"Totaal verbruik: {totaal_verbruik} kWh")
print(f"Netspanning: {spanning} V")
except requests.exceptions.RequestException as e:
print(f"Fout bij verbinden met de stekker: {e}")
Na het opstarten van het script zie je de meetwaarden in de terminal.

3. Stekker schakelen en geavanceerd gebruik
Naast het uitlezen van meetwaarden kun je de stekker via Python ook bedienen en instellen.

In het script dat hieronder te downloaden is, is een controle ingebouwd die direct bij het opstarten checkt of 192.168.2.42 daadwerkelijk een Energy Socket (HWE-SKT) is en of de Lokale API actief is.
Python-script voor continu loggen naar CSV-bestand
Je kunt de uitgelezen meetwaarden eenvoudig en overzichtelijk opslaan in een CSV-bestand met de standaard csv-module van Python. Een CSV-bestand is lichtgewicht voor je Raspberry Pi en kun je achteraf direct openen in Excel, Google Sheets of inlezen voor grafieken.
Onderstaand script haalt elke 10 seconden de meetwaarden op en schrijft deze direct weg naar stekker_log.csv. Het werkt standaard met API v1, maar bevat ook alvast de voorbereiding als je via API v2 met een token werkt.
Na het opstarten van het script zie je de meetwaarden in de terminal.

Conclusie
De open structuur die HomeWizard door middel van een API beschikbaar stelt is een mooi voorbeeld hoe de commerciële wereld en de (hobby)developers verbindt. Het is opvallend welke mogelijkheden je allemaal hebt door gebruik te maken van de HomeWizard API en een slim Python script.
Mocht je nog vragen en/of opmerkingen hebben, laat dan een bericht hieronder achter.
Have A Nice Day!

Laat een reactie achter