     @_targetTemp[@_sensorMap[k]] = v for k, v of data
     @cli.render()
 
+  _onTargetTempProgressChanged: (data) =>
+    @_targetTempEta[@_sensorMap[k]] = v for k, v of data
+    @cli.render()
+
   _onSensorChanged: (data) =>
     @_sensors[data.name] = data.value
     @cli.render()

    new ServiceSelector().on "select", @_onServiceSelect
    @_sensors = {}
    @_targetTemp = {}

  _onServiceSelect: (service) =>
    clear()

      .on("job_upload_progress_changed", @_renderProgressBar)
      .on("sensor_changed", @_onSensorChanged)
      .on("target_temp_changed", @_onTargetTempChanged)
      .on("target_temp_progress_changed", @_onTargetTempProgressChanged)
      .on("job_progress_changed", @_onJobChanged)
      .on("ack", @_onAck)
      .on("construct_error", @_onError)
