Skip to content

Se vores installationsvideo - og få 1 GRATIS SENSOR

Smart-Gulvvarme
StyreboksSensor
Bestil
Smart-Gulvvarme

Smart-Gulvvarme.dk
Juridisk navn: Elkjær IT ApS
Tendrup Møllevej 95
DK-8543 Hornslet
info@smart-gulvvarme.dk

Produkter
  • Temperatursensor
  • Styreboks
  • iOS & Android App
Teknik
  • Installationsvejledning
  • Ofte stillede spørgsmål - FAQ
  • Hvorfor virker min gulvvarme ikke
  • REST API / Home Assistant
Support
  • Log ind
  • Kontakt os
  • Historien om os
  • Handelsbetingelser
  • Privatlivspolitik (Privacy Policy)
  • Servicevilkår
  • Opdater cookie indstillinger
VisaMastercardStripeApple Pay

Ophavsret © 2025 Smart-Gulvvarme.dk

  1. Dokumentation
  2. /
  3. Eksempler
Table of Contents
  1. Hent alle rum
  2. curl
  3. JavaScript
  4. Dart
  5. Sæt ønsket temperatur
  6. curl
  7. JavaScript
  8. Andre indstillinger
  9. Håndtér fejl

Eksempler

Alle eksempler bruger SG_API_KEY som miljøvariabel. Erstat api.smart-gulvvarme.dk med værten fra API-referencen.

Hent alle rum¶

curl¶

  • curl -s -H "x-api-key: $SG_API_KEY" \
      "https://api.smart-gulvvarme.dk/v1/buildings/$BUILDING_ID/rooms"

    JavaScript¶

  • const BASE = 'https://api.smart-gulvvarme.dk/v1'
    
    async function getRooms(buildingId) {
    	const res = await fetch(`${BASE}/buildings/${buildingId}/rooms`, {
    		headers: { 'x-api-key': process.env.SG_API_KEY },
    	})
    
    	if (!res.ok) {
    		const { error } = await res.json()
    		throw new Error(`${res.status} ${error.code}: ${error.message}`)
    	}
    
    	return res.json()
    }
    
    const rooms = await getRooms(buildingId)
    
    for (const room of rooms) {
    	const now = room.current_temperature ?? '–'
    	console.log(`${room.name}: ${now}°C -> ${room.target_temperature}°C (${room.hvac_action})`)
    }

    Dart¶

  • import 'dart:convert';
    import 'package:http/http.dart' as http;
    
    const base = 'https://api.smart-gulvvarme.dk/v1';
    
    Future<List<dynamic>> getRooms(String buildingId, String apiKey) async {
      final res = await http.get(
        Uri.parse('$base/buildings/$buildingId/rooms'),
        headers: {'x-api-key': apiKey},
      );
    
      if (res.statusCode != 200) {
        final error = jsonDecode(res.body)['error'];
        throw Exception('${res.statusCode} ${error['code']}: ${error['message']}');
      }
    
      return jsonDecode(res.body) as List<dynamic>;
    }

    Sæt ønsket temperatur¶

    curl¶

  • curl -s -X PATCH \
      -H "x-api-key: $SG_API_KEY" \
      -H "content-type: application/json" \
      -d '{"target_temperature": 21.5}' \
      "https://api.smart-gulvvarme.dk/v1/buildings/$BUILDING_ID/rooms/$ROOM_ID"

    JavaScript¶

  • async function setTemperature(buildingId, roomId, celsius) {
    	const res = await fetch(`${BASE}/buildings/${buildingId}/rooms/${roomId}`, {
    		method: 'PATCH',
    		headers: {
    			'x-api-key': process.env.SG_API_KEY,
    			'content-type': 'application/json',
    		},
    		body: JSON.stringify({ target_temperature: celsius }),
    	})
    
    	if (!res.ok) {
    		const { error } = await res.json()
    		throw new Error(`${res.status} ${error.code}: ${error.message}`)
    	}
    
    	return res.json() // det opdaterede rum
    }

    Andre indstillinger¶

    Kun disse felter kan skrives. Alt andet i kroppen afvises med 400, så en tastefejl bliver opdaget med det samme frem for at blive ignoreret i stilhed.

  • {
      "name": "Stue",
      "target_temperature": 21.5,
      "preset_mode": "medium",
      "hvac_mode": "heat",
      "manual_power": { "enabled": true, "power": 0.4 },
      "sensor_id": "58:2D:34:35:D5:A0"
    }

    Nogle detaljer værd at kende:

    • target_temperature skal være mellem 7 og 35 grader — samme grænser som min_temp og `max_temp` i svaret.
    • preset_mode er en af none, low, medium, high. Små bogstaver.
    • hvac_mode er heat eller off. Se [Home Assistant](/docs/api-home-assistant) for hvordan et rum slukkes.
    • manual_power.power er den andel af tidsvinduet, ventilen holdes åben — fra 0 til 1, ikke procent. Se `power` under [Kom i gang](/docs/api-kom-i-gang). Den bruges kun, når `enabled` er `true`.
    • sensor_id skal pege på en sensor, der findes i samme bygning.

    Sender du både hvac_mode og manual_power, vinder hvac_mode — så resultatet ikke afhænger af rækkefølgen i JSON'en.

    Andre felter på et rum — for eksempel komfortbåndet, nattilstand og gulvtype — hører til varmestyringen og kan ikke sættes via API'et. Sender du dem, får du 400.

    Håndtér fejl¶

  • curl -s -H "x-api-key: $SG_API_KEY" \
      "https://api.smart-gulvvarme.dk/v1/buildings/does-not-exist"
  • {
      "error": {
        "code": "not_found",
        "message": "No such building: does-not-exist"
      }
    }

    Se Autentificering for alle fejlkoder.

    Læs videre

    Kom i gang med API'et

    Første kald, dine bygninger og rum, og hvordan du ændrer en indstilling.

    Læs

    Autentificering

    Nøgler, rettigheder, spærring og hvad de enkelte fejlkoder betyder.

    Læs

    Home Assistant

    Sådan oversættes felterne til en climate-entitet.

    Læs

    API-reference

    Alle endpoints, felter og skemaer, genereret fra specen.

    Åbn

    Kom i gang med det samme

    Gå til bestilling