Gebruik deze API alleen vanaf je eigen lokale netwerk en alleen voor waarden die je zelf actueel houdt. Een API-input telt pas mee nadat er een waarde is gezet en blijft daarna beperkt geldig. Na een herstart beginnen alle API-inputbronnen ongeldig totdat je opnieuw een waarde stuurt.
Basis
De voorbeelden hieronder gebruiken de standaardnaam:
http://openquatt.local
Lukt .local niet, gebruik dan het IP-adres van de controller:
http://<ip-adres>
Authenticatie
Als je een gebruikersnaam en wachtwoord voor de webinterface hebt ingesteld, gebruiken HTTP-clients dezelfde gegevens. De webserver gebruikt lokale HTTP op poort 80.
Vanaf de ESPHome 2026.7-build gebruikt OpenQuatt HTTP Digest-authenticatie. Eigen HTTP- en REST-clients moeten Digest ondersteunen; aanmelden met alleen Basic-authenticatie werkt niet. Dit staat los van de encryptiesleutel voor de native ESPHome-verbinding met Home Assistant.
Voor het beheren van toegang zie Toegang en beveiliging. Ben je het wachtwoord vergeten, gebruik dan de herstelpagina.
Endpoints
Temperatuur- en vermogenswaarden zijn number-entiteiten. Zet ze met een POST naar /number/<naam>/set?value=<waarde>.
Sommige curl-versies vereisen bij POST een expliciete Content-Length. Gebruik daarom -H "Content-Length: 0" in de voorbeelden hieronder.
| Signaal | Endpoint | Geldige waarde |
|---|---|---|
| Koelingsdauwpunt | /number/api_input_cooling_dew_point/set?value=<temperatuur> | -20..35 graden Celsius |
| Buitentemperatuur | /number/api_input_outside_temperature/set?value=<temperatuur> | -40..60 graden Celsius |
| Kamertemperatuur | /number/api_input_room_temperature/set?value=<temperatuur> | 0..50 graden Celsius |
| Kamer-setpoint | /number/api_input_room_setpoint/set?value=<temperatuur> | 5..35 graden Celsius |
| Warmtevraag | /number/api_input_external_heat_demand/set?value=<vermogen> | 0..15000 watt |
| Aanvoertarget | /number/api_input_heating_supply_target/set?value=<temperatuur> | 20..70 graden Celsius |
| Stooklijn-offset | /number/api_input_heating_curve_modifier/set?value=<delta> | -5..+5 °C aanvoercorrectie |
Toestemmingssignalen zijn switch-entiteiten. Zet ze met een POST naar /turn_on of /turn_off.
| Signaal | Aan | Uit |
|---|---|---|
| Warmtetoestemming | /switch/api_input_heating_enable/turn_on | /switch/api_input_heating_enable/turn_off |
| Koeltoestemming | /switch/api_input_cooling_enable/turn_on | /switch/api_input_cooling_enable/turn_off |
Voorbeelden
Koelingsdauwpunt op 15.6 graden zetten:
curl -X POST -H "Content-Length: 0" "http://openquatt.local/number/api_input_cooling_dew_point/set?value=15.6"
Buitentemperatuur op 7.2 graden zetten:
curl -X POST -H "Content-Length: 0" "http://openquatt.local/number/api_input_outside_temperature/set?value=7.2"
Warmtetoestemming aanzetten:
curl -X POST -H "Content-Length: 0" "http://openquatt.local/switch/api_input_heating_enable/turn_on"
Koeltoestemming uitzetten:
curl -X POST -H "Content-Length: 0" "http://openquatt.local/switch/api_input_cooling_enable/turn_off"
Met web-login:
curl --digest -u "gebruikersnaam:wachtwoord" -X POST -H "Content-Length: 0" "http://openquatt.local/number/api_input_room_temperature/set?value=20.5"
Geldigheid
Een API-inputbron wordt pas geldig nadat je de bijbehorende endpoint hebt aangeroepen. Template-startwaarden na boot tellen niet mee als echte input.
De standaardgeldigheidsduur vanaf de laatste API-invoer is:
koelingsdauwpunt: 15 minuten;
buitentemperatuur: 30 minuten;
kamertemperatuur: 10 minuten;
kamer-setpoint: blijft geldig tot herstart of nieuwe waarde;
warmtevraag: 15 minuten;
aanvoertarget: 15 minuten;
stooklijn-offset: 15 minuten (daarna 0 °C correctie);
warmtetoestemming: blijft geldig tot herstart of nieuwe waarde;
koeltoestemming: blijft geldig tot herstart of nieuwe waarde.
Stuur waarden met een vervaltijd periodiek opnieuw, bijvoorbeeld elke minuut, en zodra de bronwaarde verandert. Alleen bij een wijziging versturen is niet genoeg: ook een ongewijzigde waarde moet opnieuw binnenkomen om geldig te blijven. Elke nieuwe invoer van dezelfde geldige waarde start de timer opnieuw, zonder het target of de offset te veranderen. Zo kan een aanvoertarget of stooklijn-offset langdurig gelijk blijven.
API-invoer heeft geen aparte heartbeat. De centrale Home Assistant-heartbeat houdt API-invoer niet geldig. Waarden buiten de geldige range worden niet als bruikbare bron gebruikt.
Bronselectie
Ga in de web-app naar Instellingen -> Bronnen / integraties -> Sensorselectie.
Bij Koelingsdauwpunt kies je:
Auto: gebruik de hoogste geldige waarde van Home Assistant, API-invoer en MQTT;API input: vereis de API-invoerbron.
Bij Buitentemperatuur gebruikt Auto de laagste geldige waarde uit buitenunit, Home Assistant, API-invoer en MQTT. Bij Kamertemperatuur en Kamer setpoint kun je API input expliciet als bron kiezen.
Bij Warmtevraag is Disabled de standaard. Kies je API input, dan gebruikt Power House jouw waarde in plaats van de eigen vermogensschatting, zolang die geldig is. Verloopt de waarde, dan valt de regeling terug op het huismodel en niet op nul.
Bij Aanvoertarget is Heating curve de standaard. Kies je API input, dan gebruikt de stooklijnregeling jouw aanvoertemperatuur in plaats van het eigen stooklijntarget (inclusief kamertrim), zolang die geldig is. Verloopt de waarde, dan valt de regeling automatisch terug op de lokale stooklijn inclusief kamertrim. Hiervoor is geen Auto-optie nodig. Zie Water Temperature Control.
Bij Stooklijn-offset vervalt de API-correctie na 15 minuten zonder nieuwe invoer en geldt weer 0 °C correctie. De lokale stooklijn blijft actief; een absoluut extern aanvoertarget heeft voorrang op de stooklijn inclusief offset.
Bij Warmtetoestemming en Koeltoestemming telt API-invoer alleen mee als de waarde geldig is. Handmatige koeltoestemming blijft daarnaast een override.