diff --git a/README.md b/README.md
index 0813096b11eac0a2b87efd21b0a7f687276775bd..00461c59aef5b63a4480ccb518c2ab35f4b2cfb3 100644
--- a/README.md
+++ b/README.md
@@ -7,7 +7,7 @@ to extend to other fan types (I just don't have one to test).
 ## Dependencies
 
 ```
-pip install libpurecoollink
+pip install libpurecool
 pip install prometheus_client
 ```
 ## Metrics
@@ -57,11 +57,11 @@ optional arguments:
 ### Scrape Frequency
 
 I scrape at 15s intervals. Metrics are updated at approximately 30 second
-intervals by `libpurecoollink`.
+intervals by `libpurecool`.
 
 ### Other Notes
 
-`libpurecoollink` by default uses a flavour of mDNS to automatically discover
+`libpurecool` by default uses a flavour of mDNS to automatically discover
 the Dyson fan. This is overridable (but this script doesn't at the moment).
 The mDNS dependency makes Dockerising this script somewhat challenging at
 the moment.
diff --git a/prometheus_dyson.py b/prometheus_dyson.py
index c7a339346052d321a65007bafaa3391a7df3acfb..b61fa808a5848da882951f0e80399d017b692d4b 100755
--- a/prometheus_dyson.py
+++ b/prometheus_dyson.py
@@ -2,7 +2,7 @@
 """Exports Dyson Pure Hot+Cool (DysonLink) statistics as Prometheus metrics.
 
 This module depends on two libraries to function:
-  pip install libpurecoollink
+  pip install libpurecool
   pip install prometheus_client
 """
 
@@ -16,8 +16,8 @@ import time
 
 from typing import Callable
 
-from libpurecoollink import dyson
-from libpurecoollink import dyson_pure_state
+from libpurecool import dyson
+from libpurecool import dyson_pure_state
 import prometheus_client
 
 # Rationale:
@@ -79,7 +79,7 @@ class Metrics():
 
     if isinstance(message, dyson_pure_state.DysonEnvironmentalSensorState):
       self.humidity.labels(name=name, serial=serial).set(message.humidity)
-      self.temperature.labels(name=name, serial=serial).set(message.temperature - 273)
+      self.temperature.labels(name=name, serial=serial).set(message.temperature - 273.2)
       self.voc.labels(name=name, serial=serial).set(message.volatil_organic_compounds)
       self.dust.labels(name=name, serial=serial).set(message.dust)
     elif isinstance(message, dyson_pure_state.DysonPureHotCoolState):
@@ -91,11 +91,14 @@ class Metrics():
         speed = -1
       self.fan_speed.labels(name=name, serial=serial).set(speed)
 
+      # Convert from Decicelsius to Kelvin.
+      heat_target = int(message.heat_target) / 10 - 273.2
+
       self.oscillation.labels(name=name, serial=serial).state(message.oscillation)
       self.focus_mode.labels(name=name, serial=serial).state(message.focus_mode)
       self.heat_mode.labels(name=name, serial=serial).state(message.heat_mode)
       self.heat_state.labels(name=name, serial=serial).state(message.heat_state)
-      self.heat_target.labels(name=name, serial=serial).set(int(message.heat_target)/10 - 273)
+      self.heat_target.labels(name=name, serial=serial).set(heat_target)
       self.quality_target.labels(name=name, serial=serial).set(message.quality_target)
       self.filter_life.labels(name=name, serial=serial).set(message.filter_life)
     else: